PDA

Voir la version complète : [RESOLU]Problème de jumping dans le dialplan



Darkflash
06/06/2011, 15h27
Bonjour,

Voilà mon dialplan :


[general]
priorityjumping=yes

[alpha]
exten => s,1,ringing
exten => s,n,wait(7)
exten => s,n,answer
exten => s,n,Set(SOUND_FILE=agent-alireadyon)
exten => s,n(Accueil_prat),playback(${SOUND_FILE},j)
exten => s,n,goto(queuing)
exten => s,Accueil_prat+101,playback(agent-alreadyon)
;exten => s,106,playback(defaut_pre-decroche)
exten => s,n(queuing),queue(patient_queue,htR)


Le fichier son agent-alireadyon n'existe pas, or j'ai bien ajouté l'option j pour le playback.
Pourquoi asterisk ne passe t'il pas à l'extension Accueil_prat+101 ??

Merci de votre aide.

ffossard
06/06/2011, 18h49
Je n'ai pas utilisé le priorityjumping depuis matusalem, mais je ne pense pas qu'il s'applique à playback(), à la base c'est pour dial() :heink:

Darkflash
06/06/2011, 18h58
Je n'ai pas utilisé le priorityjumping depuis matusalem, mais je ne pense pas qu'il s'applique à playback(), à la base c'est pour dial() :heink:

Ben en fait je l'ai mis un peu là par dépis car normalement , de ce que j'ai compris, c'est deprecated... Mais vu que le j dans la commande Playback ne remplis pas son role.. j'ai essayé ...

:pfff::pfff::pfff:

ffossard
06/06/2011, 19h38
Oui il vaut mieux résoudre le problème du playback.
Extrait de CLI pendant le passage sur le playback?
Le fichier est présent au bon endroit ?

Darkflash
07/06/2011, 09h01
Executing [s@macro-decroche:1] Ringing("SIP/ovh-trunk-00000000", "") in new stack
-- Executing [s@macro-decroche:2] Wait("SIP/ovh-trunk-00000000", "7") in new stack
-- Executing [s@macro-decroche:3] Answer("SIP/ovh-trunk-00000000", "") in new stack
-- Executing [s@macro-decroche:4] Wait("SIP/ovh-trunk-00000000", "1") in new stack
-- Executing [s@praticien:2] Playback("SIP/ovh-trunk-00000000", "hello-worlde,j") in new stack
File hello-worlde does not exist in any format
Unable to open hello-worlde (format 0x4 (ulaw)): No such file or directory
ast_streamfile failed on SIP/ovh-trunk-00000000 for hello-worlde,j
-- Executing [s@praticien:3] Goto("SIP/ovh-trunk-00000000", "queuing") in new stack


Voilà ce que me donne ma cli ... On voit qu'il informe qu'il ne trouve pas le fichier, mail il n'execute pas le jump .... :hebe:
T'a une idée ?

Merci de ton aide...

cedricscha
07/06/2011, 10h24
essaie avec le dialplan suivant :



[general]
priorityjumping=yes

[alpha]
exten => s,1,ringing
exten => s,n,wait(7)
exten => s,n,answer()
exten => s,n,Set(SOUND_FILE=agent-alireadyon)
exten => s,n(Accueil_prat),playback(${SOUND_FILE},j)
exten => s,n,NoOp(Etat Playback : ${PLAYBACKSTATUS})
exten => s,n,goto(queuing)
exten => s,Accueil_prat+101,playback(agent-alreadyon)
;exten => s,106,playback(defaut_pre-decroche)
exten => s,n(queuing),queue(patient_queue,htR)

Et affiche ce qu'il se passe dans la CLI


Par contre je comprends pas bien ton dialplan ? Peux-tu expliquer ce que tu souhaites faire ?

Darkflash
07/06/2011, 10h48
En fait,

J'interroge via un script AGI une base de donnée distante .
Ce script identifie l'appelant et lui joue une annonce personnalisée. le nom du fichier contenant cette annonce est un champs de ma bd, et je le stocke dans une variable SOUND_FILE.
Simplement, au cas ou un jour il y a un problème (faute de frappe, effacement accidentel etc...) je ne veut pas que mon dialplan plante. Alors je prévoyais une sortie de secours qui jouerais une annonce par défaut... (d'ou le j dans le dialplan). Les fichiers sons dans mon exemples sont bidons bien sûr :)

Ma cli avec ton dialplan :


-- Executing [s@praticien:1] Macro("SIP/ovh-trunk-00000000", "decroche") in new stack
-- Executing [s@macro-decroche:1] Ringing("SIP/ovh-trunk-00000000", "") in new stack
-- Executing [s@macro-decroche:2] Wait("SIP/ovh-trunk-00000000", "7") in new stack
-- Executing [s@macro-decroche:3] Answer("SIP/ovh-trunk-00000000", "") in new stack
-- Executing [s@macro-decroche:4] Wait("SIP/ovh-trunk-00000000", "1") in new stack
-- Executing [s@praticien:2] Playback("SIP/ovh-trunk-00000000", "hello-worlde,j") in new stack
File hello-worlde does not exist in any format
Unable to open hello-worlde (format 0x4 (ulaw)): No such file or directory
ast_streamfile failed on SIP/ovh-trunk-00000000 for hello-worlde,j
-- Executing [s@praticien:3] NoOp("SIP/ovh-trunk-00000000", "Etat Playback : FAILED") in new stack
-- Executing [s@praticien:4] Goto("SIP/ovh-trunk-00000000", "queuing") in new stack
-- Goto (praticien,s,104)
-- Executing [s@praticien:104] Queue("SIP/ovh-trunk-00000000", "patient-queue,htR") in new stack
-- Started music on hold, class 'default', on SIP/ovh-trunk-00000000


Le dialplan légèrement modifié :


[general]
priorityjumping=yes

[appels_entrants]
exten => s,1,set(NUM_APPELE=${CUT(CUT(SIP_HEADER(To),@,1),: ,2)})
;exten => s,n,gotoif(${NUM_APPELE}="0285521378"?entreprise,s,1)
exten => s,n,agi(identification_praticien.agi,${NUM_APPELE} )
exten => s,n,gotoif(${PRATICIEN_ID}!=0?praticien,s,1)
exten => s,n,Answer
exten => s,n,Hangup

[praticien]
exten => s,1,macro(decroche)
exten => s,n(Accueil),playback(${SOUND_FILE},j)
exten => s,n,NoOp(Etat Playback : ${PLAYBACKSTATUS})
exten => s,n,goto(queuing)
exten => s,Accueil+101,playback(agent-alreadyon)
;exten => s,106,playback(defaut_pre-decroche)
exten => s,n(queuing),queue(patient-queue,htR)
exten => s,n,hangup

cedricscha
07/06/2011, 11h18
Bon ben je te propose ce dialplan ci alors :




[praticien]
exten => s,1,macro(decroche)
exten => s,n(Accueil),playback(${SOUND_FILE},j)
exten => s,n,NoOp(Etat Playback : ${PLAYBACKSTATUS})
exten => s,n,gotoif(${PLAYBACKSTATUS}="FAILED"?nok:queuing)
exten => s,n,hangup()
exten => s,n(nok),playback(agent-alreadyon)
exten => s,n(queuing),queue(patient-queue,htR)
exten => s,n,hangup()



cela ne résout pas ton problème de prorité jumping mais cela devrais faire ce que tu souhaites ;)

Darkflash
07/06/2011, 12h14
Effectivement :)

Merci !

ps: Comment fait-on pour mettre un sujet en résolut ??

cedricscha
07/06/2011, 13h26
c'est fait.