A mon avis un bug, ouvre le sur bugtracker.
A mon avis un bug, ouvre le sur bugtracker.
Bonjour Reaper,
J'ai en effet ouvert un bug sur le Jira Asterisk : https://issues.asterisk.org/jira/browse/ASTERISK-25328
Mais d'après les premiers retours, il ne s'agirait pas d'un bug.
Pour eux, l'information est correcte mais il ne faut pas décrocher l'appel entrant avant de faire la commande Dial.
Et en effet, avec la configuration suivante, la valeur de ANSWEREDTIME est valable.
Problème, j'ai besoin de décrocher l'appel car j'ai un SVI avec un sommaire et des choix en amont.Code:exten => _017013xxxx,1,wait(5) exten => _017013xxxx,n,Dial(SIP/027273xxxx@CBV2-BCT1,20,gH) exten => _017013xxxx,n,NoOp(DIALSTATUS is ${DIALSTATUS}, ANSWEREDTIME is ${ANSWEREDTIME}, DIALEDTIME is ${DIALEDTIME})
J'ai trouvé d'autres personnes ayant eu la même problématique :
- https://issues.asterisk.org/jira/browse/ASTERISK-24439
- https://issues.asterisk.org/jira/browse/ASTERISK-24943
Mais à ce jour, il n'y a pas de solution simple.
Farzan explique sur le forum (http://forums.asterisk.org/viewtopic...07c0e331e04956) qu'il a utilisé les locals channels pour résoudre son problème. Du coup, je suis en train d'étudier cette partie.
Ah je vois, j'ai cru que c'est pour les appels sortants, effectivement su tu décroche immédiatement le temps de sonnerie est à 0 c'est normal. Enregistrer la variable avant la sonnerie vers extension et timestamp du décroché de l'extension et faire la différence doit te permettre récupérer cette info.
En fait je veux dans mon appel entrant récupérer la durée de l'appel sortant (durée de com' et durée de sonnerie idéalement).
J'ai suivi les conseils de Farzan qui avait eu la même problématique que moi et j'ai donc utilisé des "local channels".
En gros, je fais un premier dial que j'envoi en local après avoir setter une variable Asterisk :
J'ai ensuite configuré dans mon extension.conf ceci :Code:SET VARIABLE __PARENTCHANNEL "mychannel" EXEC Dial Local/0272xxxxxx@appelsortant/n,20,gH
Une fois l'appel sortant terminé, je peux alors récupérer les infos du temps de sonnerie et du temps de communication.Code:[appelsortant] exten => _XXXXXXXXXX,1,Dial(SIP/${EXTEN}@CBV2,20,H) exten => h,1,NoOp(h -> DIALSTATUS is ${DIALSTATUS}, ANSWEREDTIME is ${ANSWEREDTIME}, DIALEDTIME is ${DIALEDTIME}) exten => h,n,Set(SHARED(MY_ANSWEREDTIME,${PARENTCHANNEL})=${ANSWEREDTIME}) exten => h,n,Set(SHARED(MY_DIALEDTIME,${PARENTCHANNEL})=${DIALEDTIME})