Project

General

Profile

Problème dans mon script IVR

Added by Samuel BRACHET over 2 years ago

Bonjour,

Je rencontre un problème dans la config de mon IVR, ma programmation est la suivante:
exten = s,1,Answer(1000)
exten = s,2,Set(TIMEOUT(response)=30)
exten = s,3,Background(/var/lib/asterisk/sounds/custom/...)
exten = s,4,WaitExten(2)

Si je programme:
exten = 1,1,Goto(XXX,S,1) cela ne fonctionne pas

en revanche si j'utilise:
exten = s,5,Dial(SIP/XXXXXXXX,10,tr) j'arrive à faire aboutir me appels

Pouvez-vous m'aider à retrouver une organisation logique à partir du choix 1
Ma version XIVO: 2017.LTS1 (2017.03.03)
Cldt


Replies (8)

RE: Problème dans mon script IVR - Added by Florent Faivre over 2 years ago

Bonjour, pouvez-vous essayer en remplaçant votre Goto par la ligne suivante : exten = 1,1,Goto(default,XXX,1) ?

RE: Problème dans mon script IVR - Added by Samuel BRACHET over 2 years ago

Bonjour, j'ai aussi essayé cette commande mais sans succès.
Je me pose des questions sur un bug de la dernière version.

RE: Problème dans mon script IVR - Added by Samuel BRACHET over 2 years ago

En fait je pense que mon problème est ailleurs :
J'utilise des postes Grandstream GXP1625 pour lesquels il n'y à pas de greffon.
Je pense que la transmission DTMF ne passe pas...

RE: Problème dans mon script IVR - Added by dudu clx over 2 years ago

essais:

[mon_ivr]
exten = s,1,Answer()
same = n,Set(TIMEOUT(response)=30)
same = n,Background(/var/lib/asterisk/sounds/custom/...)
same = n,WaitExten(2)

exten = 1,1,NoOp (###choix 1###)
same = n,Goto(XXX,S,1)

ensuite, il serait bien que ton Goto soit juste aussi.

si vers un autre svi:
same = n,Goto(nom_du_svi,S,1)
si vers une extension
same = n,Goto(nom_du_contexte,extension,1)
--> exemple --> same = n,Goto(default,1234,1)
--> fait un appel vers le numéro 1234 qui est dans le contexte default

ensuite, au lieu d'utiliser
same = n,Set(TIMEOUT(response)=30)
tu peux utiliser

exten = t,1,NoOp(### Timeout ###)
same = n,Playback(/var/lib/xivo/sounds/custom/...) (### message qui dit qu'on a pas compris ###)
same = n,Set(essai=$[${essai}+1])
same = n,GotoIf($[${essai}<3]?s,start)
same = n,CELGenUserEvent(ATTACHED_DATA,svi_contexte=${CONTEXT}) (### on attache ça dans les stats ###)
same = n,CELGenUserEvent(ATTACHED_DATA,svi_choix=${EXTEN}) (### on attache ça dans les stats ###)
same = n,Goto(default,1234,1) (### si trois essais infructueux, on appel le 1234 ###)

mais du coup, il te faut initier une variable 'essais' dans le ivr:
[mon_ivr]
exten = s,1,Answer()
same = n,NoOp(### Initialisation variable essai à 0 ###)
same = n,Set(essai=0)
same = n,Background(/var/lib/asterisk/sounds/custom/...)
same = n,WaitExten(2) (### ce wait est cours .. règle le à 5###)

et tu peux ajouter une action pour un choix invalide.
c'est la même chose que pour le timeout, il suffit de remplacer la première ligne:
exten = i,1,NoOp(### Choix invalide ###)

et tu peux aussi attacher le hangup dans les stats:
; ### Hangup ###
exten = h,1,NoOp(### Timeout ###)
same = n,CELGenUserEvent(ATTACHED_DATA,svi_contexte=${CONTEXT})
same = n,CELGenUserEvent(ATTACHED_DATA,svi_choix=${EXTEN})

tu peux avoir plusieurs IVR dans le même fichier (si les choix débouchent sous des sous choix par exemple)
[mon_ivr_1]
; ### action de décrocher + message audio
; ### action sur choix
; ### timeout
; ### choix invalide
; ### hangup

[mon_ivr_2]
; ### action de décrocher + message audio
; ### action sur choix
; ### timeout
; ### choix invalide
; ### hangup

...etc...

amuses-toi bien !

RE: Problème dans mon script IVR - Added by Samuel BRACHET over 2 years ago

Merci pour ces infos précieuses.

Question importante:

Dans la config de mon IVR j'ai programmé un fichier de configuration (xivo-extrafeatures.conf)
qui me permet d'atteindre mon standard auto à partir d'un poste interne via la commande: exten => XXX,1,Goto(mon-ivr,s,1)

J'arrive bien sur mon standard auto, mais impossible de valider les choix quelque soit le réglage de mes DTMF
y a t'il des paramètres supplémentaires à configurer ?

RE: Problème dans mon script IVR - Added by dudu clx over 2 years ago

non, rien à programmer ...

partage ton ivr si tu veux une correction ou une vérification.

++

RE: Problème dans mon script IVR - Added by Samuel BRACHET over 2 years ago

Merci Julien, ton script fonctionne parfaitement.
J'avais un souci dans la config de mes lignes (Paramètres IPBX/Lignes) j'ai dû passer le DTMF en Auto (Onglet Général) pour pouvoir faire mes choix.
Je pense que cela vient du fait que j'utilise des postes non reconnus (Grandstream 1625)
Encore merci

RE: Problème dans mon script IVR - Added by dudu clx over 2 years ago

Bonjour,

Content de voir que ça marche.

pour le DTMF, je dirais que ça dépend plus du téléphone, que du fait "qu'il soit non reconnu".

je pense que par non reconnu, tu sous entend que tu n'as pas de greffon et d'auto-provision pour ces postes.

cependant, j'ai testé plusieurs client SIP (sans greffon, etc) en laissant l'option DTMF vide dans le paramètre de ma ligne,
et la composition de touche à toujours fonctionné.

c'est peut-être plus relatif aux codec utilisés par le téléphone (onglet paramètre ipbx dans "lignes").
tu devrais trouver quelque chose comme:

codecs (alaw|g722|g729)

a part ça, je teste toujours depuis un appel exterieur, que je passe avec mon téléphone portable.

dans ton cas ça t'aurait permis de voir que ton problème se situer sur ta ligne.

++

    (1-8/8)