Sommaire

Fonctions avancées

1. Variables et expressions

a. Variables

Les variables sont utilisées pour être passées en argument à des fonctions.

La syntaxe d’une variable est la suivante :

${nom_de_la_variable:offset:longueur}

où :

  • nom_de_la_variable est le nom de la variable.

  • offset est un champ optionnel qui définit un pointeur. Si l’offset est négatif, la lecture de la chaîne s’effectue de droite à gauche.

  • longueur est un champ optionnel qui définit le nombre de caractères qui seront retournés, à partir de l’offset.

Exemples :

remerciements=Merci à Patrick et à Damien
${remerciements} : retourne Merci à Patrick et à Damien
${remerciements:1} : retourne erci à Patrick et à Damien
${remerciements:-2} : retourne en
${remerciements:8:19} : retourne Patrick et à Damien

Nous supprimons ici le préfixe de sortie 0 :

exten => _00XXXXXXXXX, 1, SetVar(numero=${EXTEN:1})
exten => _00XXXXXXXXX, 2, Dial(${numero})

Il existe trois types de variables :

  • variables globales : elles sont présentes dans la section [globals] du plan de numérotation ou peuvent être affectées en tant que telles par la commande SetGlobalVar().

  • variables de canaux : chaque canal dispose de ses propres variables qui sont détruites lorsque le canal se libère. Elles sont utilisées à l’aide de la commande Set(). Les variables de canaux sont déjà prédéfinies ...