Je cherche à configurer un SVI dans lequel je puisse appeler un numéro d’extension via son numéro interne directement mais en conservant la possibilité de faire un choix (1,2,3…),
Exemple (j’essai d’être le plus clair et directe possible) :
=> Appel externe
=> SVI (Message Bienvenue + Choix extension si N° interne connu par l’appelant ou choix 2 pour un service en particulier, redirigé sur un groupe)
=> Mauvais choix/Pas de choix : Redirigé vers un groupe
J’ai déjà fait ça pour les appels vers les extensions :
;##### CHOICE : Extensions #####
exten => s,n,Read(Digits)
exten => s,n,Goto({Digits},1)
exten => _XXX,2,Dial(Local/{Digits}@default)
exten => s,n,GotoIf(${Digits})
same = n,NoOp(waiting for DTMF during 5s)
same = n,Waitexten(5)
Par contre, je ne sais pas comment comparer mon “Digits” avec les extensions existantes afin de le renvoyer ou non, soit vers l’extension (si existante) soit vers le groupe (inexistante).
Tu pourrais essayer avec la fonction DIALPLAN_EXISTS par exemple. Je t’invite à faire dans la CLI d’Asterisk :
core show functions
core show applications
exten => s,n,NoOp(#### CHECK DIGITS = EXTENSIONS ####)
exten => s,n,GotoIf(["DIALPLAN_EXISTS(default,{Digits},1)" = “1” ]?calldigits:callgroup) ;Si "Digits est dans le dialplan ( =1) on va à “calldigits”, sinon à "callgroup"
| ;Par contre ici, quand je compose un numéro existant ou non, je suis toujours sur le "callgroup" ;J’ai modifié plusieurs fois la fonction, mais sans succès ;Suivant la config, j’arrive soit à suivre le “calldigits” uniquement, soit le “callgroup” uniquement comme si la condition du “GotoIf” ne changeait jamais d’état…