Le téléphone fournit plusieurs paramètres de profil de configuration à distance (Profile_Rule*). C'est pourquoi chaque opération
de resynchronisation peut récupérer plusieurs fichiers, gérés par des serveurs distincts.
Dans le scénario le plus simple, le périphérique se resynchronise périodiquement à un seul profil sur un serveur principal,
qui met à jour tous les paramètres internes qui s'appliquent. Le profil peut aussi être partagé entre différents fichiers.
Un seul fichier est commun à tous les téléphones d'un déploiement. Un fichier distinct, unique est fourni pour chaque compte.
Les clés de chiffrement et les informations de certificat peuvent être fournies par encore un autre profil, stocké sur un
serveur distinct.
Chaque fois qu'une resynchronisation doit être effectuée, le téléphone évalue les quatre paramètres Profile_Rule* dans l'ordre :
-
Profile_Rule
-
Profile_Rule_B
-
Profile_Rule_C
-
Profile_Rule_D
Chaque évaluation peut entraîner une récupération du profil à partir d'un serveur de mise à disposition à distance, avec une
mise à jour possible d'un certain nombre de paramètres internes. Si une évaluation échoue, la séquence de resynchronisation
est interrompue et est retentée à nouveau au moment spécifié par le paramètre Resync_Error_Retry_Delay (en secondes). Si toutes
les évaluations réussissent, le périphérique attend la seconde spécifiée par le paramètre Resync_Periodic et exécute ensuite
un autre resynchronisation.
Le contenu de chaque paramètre Profile_Rule* se compose d'un ensemble de solutions alternatives. Les solutions alternatives
sont séparées par le caractère | (barre verticale). Chaque solution alternative se compose d'une expression conditionnelle,
d'une expression d'affectation, d'une URL de profil et de toutes les options d'URL associées. Tous ces composants sont facultatifs
au sein de chaque alternative. Voici les combinaisons valides et l'ordre dans lequel elles doivent s'affichent, le cas échéant :
[ conditional-expr ] [ assignment-expr ] [[ options ] URL ]
Au sein de chaque paramètre Profile_Rule*, toutes les solutions alternatives sauf la dernière, doivent fournir une expression
conditionnelle. Cette expression est évaluée et est traitée comme suit :
-
Les conditions sont évaluées de gauche à droite, jusqu'à ce qu'il en existe une qui donne la valeur Vrai (ou jusqu'à ce qu'une
alternative soit trouvée sans expression conditionnelle).
-
Toutes les expressions d'affectation d'accompagnement sont évaluées, le cas échéant.
-
Si une URL est spécifiée dans le cadre de cette solution alternative, une tentative est effectuée pour télécharger le profil
qui se trouve à l'URL spécifiée. Le système tente de mettre à jour les paramètres internes en conséquence.
Si toutes les alternatives comportent des expressions conditionnelles et qu'aucune ne prend la valeur Vrai (ou si l'ensemble
de la règle du profil est vide), le paramètre Profile_Rule* tout entier est ignoré. Le paramètre de règle de profil suivant
de la séquence est évalué.
Exemple 1
Cet exemple effectue une resynchronisations inconditionnelle au profil de l'URL spécifiée et une requête HTTP GET au serveur
de mise à disposition à distance :
http://remote.server.com/cisco/$MA.cfg
Exemple 2
Dans cet exemple, le périphérique se resynchronise sur deux URL différentes, en fonctionnalité de l'état d'enregistrement
de la ligne 1. En cas de perte d'enregistrement, le périphérique exécute un HTTP POST vers un script CGI. Le périphérique
envoie le contenu de la macro étendue GPP_A, qui peut fournir des informations supplémentaires sur l'état du périphérique :
($PRVTMR ge 600)? http://p.tel.com/has-reg.cfg
| [--post a] http://p.tel.com/lost-reg?
Exemple 3
Dans cet exemple, le périphérique réalise une resynchronisation sur le même serveur. Le périphérique fournit des informations
supplémentaires, si un certificat n'est pas installé sur l'unité (pour les unités antérieures à la 2.0 existantes) :
(“$CCERT” eq “Installed”)? https://p.tel.com/config?
| https://p.tel.com/config?cisco$MAU
Exemple 4
Dans cet exemple, la ligne 1 est désactivée jusqu'à ce que GPP_A soit défini comme égal à Mis à disposition par la première
URL. Ensuite, il effectue une resynchronisation à la deuxième URL :
(“$A” ne “Provisioned”)? (Line_Enable_1_ = “No”;)! https://p.tel.com/init-prov
| https://p.tel.com/configs
Exemple 5
Dans cet exemple, on suppose que le profil que le serveur renvoie contient des balises d'éléments XML. Ces balises doivent
être mappées de nouveau aux noms de paramètres appropriés par la correspondance des alias stockée dans GPP_B :
[--alias b] https://p.tel.com/account/$PN$MA.xml
Une resynchronisation est généralement considérée comme ayant échoué si un profil demandé n’est pas reçu du serveur. Le paramètre
Resync_Fails_On_FNF peut remplacer ce comportement par défaut. Lorsque Resync_Fails_On_FNF est défini sur Non, le périphérique
considère la réponse file-not-found du serveur comme une resynchronisation réussie. La valeur par défaut pour Resync_Fails_On_FNF
est Oui.