Sommaire

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)