Bonjour,

Je me permet de poster ici car je rencontre un problème étrange.
Je bosse sur un script perl dont le but est de couper à la demande des appels entrants, passés depuis un téléphone portable, qui sont dans un Chanspy.
Mon problème est le suivant : lorsque je demande le hangup, via AMI, le channel est raccroché (je n'entend plus rien dans mes téléphones), mais les téléphones ne raccrochent que 35 secondes (précisément) plus tard.
J'avais déjà rencontré ce problème, sans pouvoir le résoudre, avec des téléphones fixes. Le délai était alors (et est toujours) d'une minute précise.

Ce problème est d'autant plus étrange que jusqu'à la semaine dernière, j'avais un autre script qui faisait le même genre de chose, et qui fonctionnait parfaitement. Aujourd'hui, pour en avoir le coeur net, j'ai testé à nouveau ce script, et j'ai le même souci.

Afin de trouver la cause, j'ai effectué quelques tests :

- envoi d'un hangup via AMI : délai de 35 secondes.
- envoi d'un hangup via le CLI : délai de 35 secondes.
- appel vers le scénario de test suivant : délai de 35 secondes.
Code:
[test]
exten => _X.,1,Answer
exten => _X.,2,Wait(10)
exten => _X.,3,Hangup()
- appel du scénario de prod suivant, puis raccrochage du channel espionné : raccrochage immédiat !!!
Code:
[listenchannel2]
exten => _X.,1,Answer 
exten => _X.,n(RelitDtmf),Read(sDTMF,,1,,,3)
exten => _X.,n,GotoIF($["${sDTMF}" = "*"]?:RelitDtmf)
exten => _X.,n,Read(ukey,,7)
exten => _X.,n,ChanSpy(,qg(${ukey})E)
exten => _X.,n,Hangup()
Jusque la, j'étais prêt à incriminer l'opérateur, vu que je n'ai rien touché à ma config... Mais du coup, si c'est l'opérateur, pourquoi le dernier cas fonctionne bien ?
Si je ne me trompe pas, lorsque l'appel espionné est coupé, on passe direct à la ligne suivante, à savoir le Hangup, donc on est exactement dans la même situation que pour le test juste au dessus...

Est ce que quelqu'un ici à une idée ? Je suis en train de m'arracher les cheveux la

Merci d'avance

Joris