Voici quelques lignes pour rappeler les bases des priorités dans le fichier extensions.conf....
Pour rappel, les priorités sont la deuxièmes parties dans les lignes présentes dans le fichier extensions.conf (en rouge dans les exemples suivant) :
Code:
exten => s,1,Answer()
exten => _XXXX,h,Hangup()
exten => 1234,4,Wait(2)
exten => 77,n,Playback(hello-world)
Pour information, Asterisk n'a pas besoin d'ordre spécifique pour fonctionner si on utilise les chiffres dans les priorités..... Ainsi, l'exemple suivant fonctionnera de la même manière que le suivant.....
Code:
exten => s,1,Answer()
exten => s,2,Wait(2)
exten => s,3,Playback(hello-world)
exten => s,4,Hangup()
Code:
exten => s,4,Hangup()
exten => s,2,Wait(2)
exten => s,1,Answer()
exten => s,3,Playback(hello-world)
Par contre, asterisk ne supporteras pas des sauts dans votre numérotation de priorités.... ainsi l'exemple suivant ne fonctionnera pas.... enfin restera bloqué à la priorité 2 :
Code:
exten => s,1,Answer()
exten => s,2,Wait(2)
exten => s,6,Playback(hello-world)
exten => s,7,Hangup()
Si vous prenez la décision d'utiliser la numérotation, n'oublier pas donc qu'en cas d'oubli d'une action, vous devrez renumérotez toutes vos priorités......
C'est la raison pour laquelle, la priorité : n à été ajoutée à asterisk afin d'éviter d'eternelle étape de renumérotation......
Elle s'utilise comme suit :
Code:
exten => s,1,Answer()
exten => s,n,Wait(2)
exten => s,n,Playback(hello-world)
exten => s,n,Hangup()
La priorité 1 doit toujours exister c'est elle qui détermine ou asterisk doit débuter.
Ainsi il est beaucoup plus simple d'ajouter une ligne oubliée
Je vous entends déjà crier dans le fond si,si je vous entends.....
Comment fais-t'on pour utiliser un Goto, GotoIf ? Hein Comment ?
Ben c'est tout simple :
voici un exemple de code :
Code:
exten => s,1,Answer()
exten => s,2,Wait(2)
exten => s,3,Goto(5)
exten => s,4,Hangup()
exten => s,5,Playback(hello-world)
exten => s,6,Hangup()
Et voici sa solution avec la priorité n :
Code:
exten => s,1,Answer()
exten => s,n,Wait(2)
exten => s,n,Goto(son)
exten => s,n,Hangup()
exten => s,n(son),Playback(hello-world)
exten => s,n,Hangup()
J'entends également :
Comment fais-t'on pour utiliser un jump dans le dialplan..... ? Hein Comment ?
La aussi c'est tout simple, voici la solutions....
Code:
exten => s,1(Appel),Dial(SIP/${EXTEN})
exten => s,n,Hangup()
exten => s,Appel+101,Playback(CollaborateurAbscent)
exten => s,n,Hangup()
J'espère que cela vous aidera