Optimisation avec les macros
Exemple : Considérons le plan de numérotation
constitué de 3 fois 100 lignes
[internal]
exten => 400, 1, Answer()
exten => 400, 2, Dial(SIP/400,10,r)
exten => 400, 3, Hangup()
...
exten => 499, 1, Answer()
exten => 499, 2, Dial(SIP/499,10,r)
exten => 499, 3, Hangup()
Ce plan peut être amélioré en écrivant une macro Appel.
Toute macro devra être mise entre crochets et le nom devra commencer
par macro- :
[macro-Appel]
exten => s, 1, Answer()
exten => s, 2, Dial(${ARG1},10,r)
exten => s, 3, Hangup()
La variable ${ARG1} contient le premier argument (ou paramètre)
passé à la macro et dans le plan de numérotation, l’appel de la macro se
fait à l’aide de l’application Macro(nom_de_la_macro,
argument).
Le même plan de numérotation peut donc s’écrire de la façon suivante
:
[macro-Appel]
exten => s, 1, Answer()
exten => s, 2, Dial(${ARG1},10,r)
exten => s, 3, Hangup()
[internal]
exten => 400, 1, Macro(Appel, SIP/400)
..
exten => 499, 1, Macro(Appel, SIP/499)