De mémoire, il y avait un bug avec le transfer via REFER dans les versions précédant la 1.6.2.16.
De mémoire, il y avait un bug avec le transfer via REFER dans les versions précédant la 1.6.2.16.
En fait, Le Call Manager doit conserver la gestion de l'appel.
Asterisk reçoit l'appel du call manager, joue les messages qui vont bien après être passé dans un AGI.
Et le but est de relacher l'appel de l'Asterisk.
Le transfert me permet de libérer l'appel et le call manager gère l'aboutement.
exten => _X.,n,Transfer(SIP/ccm)
=> cela ne va pas convenir car on ne sais pas vers quel DN réaliser le transfert
J'ai testé ça :
exten => _X.,n,Transfer(SIP/10002)
Cette configuration passe ( mais 1 fois sur 10 environ)
Des fois => Musique attente CCM mais le poste 10002 ne sonne pas
Des fois => Musique attente CCM et poste 100002 sonne ===> OK, on voudrais ça à tous les coups...
Des fois => Congestion
Peux être plus la configuration du Call Manager ?
Dans tous les cas, en CLI j'ai :
Code:CLI> == Using SIP RTP CoS mark 5 -- Executing [11111@test:1] NoOp("SIP/ccm-00000119", ""APPEL ENTRANT"") in new stack -- Executing [11111@test:2] Answer("SIP/ccm-00000119", "") in new stack -- Executing [11111@test:3] Transfer("SIP/ccm-00000119", "SIP/100002") in new stack -- Auto fallthrough, channel 'SIP/ccm-00000119' status is 'UNKNOWN' -- Incoming call: Got SIP response 500 "Internal Server Error" back from X.X.X.200
OK j'ai du mieux :
En ajoutant un wait(2) puis l'information du transfert, je pense qu'Asterisk ne jette pas l'appel. Le Call Manager a donc le temps d'acheminer l'appel.Code:[test] exten => _X.,1,Noop("APPEL ENTRANT") exten => _X.,n,Answer exten => _X.,n,Transfer(SIP/10002) exten => _X.,n,Wait(2) exten => _X.,n,Noop(${TRANSFERSTATUS})
Mon soucis venait de là je crois :
Quand la fonction transfert est lancée, l'Asterisk attends le 200 tout de suite, et il ne l'attends pas assez longtemps avant de jeter l'appel.
Si le call manager n'est pas assez rapide, congestion.
Oui, mas ça ne fonctionne pas pour le moment. La machine n'arrive pas a gèrer l'ensemble d'appels vers IVR ? Est ce que tu as une problème de charge ?Le transfert me permet de libérer l'appel et le call manager gère l'aboutement.
Non, pas de problème de charge pour le moment, que mes appels de tests tournent.
J'ai le fonctionnement souhaité en ajoutant le wait().
Mes cas ou l'appel se fait jeter, le transfer a bien marché et toutes les lignes du poste sont occupé (Call Flow a traiter dans le CCM).
Ce post semble résolu. Merci de votre aide à tous.
Peut être à noter : Lors d'un Transfer(), placer un wait() derrière... mais je trouve ça bizarre.
Ajouter le wait après le transfert est étrange, asterisk attend 200 assez de temps crois moi. Mais peu importe si ça fonctionne pour toi.