PDA

Voir la version complète : Probleme sur un AGI ???



Tfdi
23/06/2012, 11h55
Bonjour à tous,

Je me retrouve confronté à un problème que je n'ai jamais eu auparavant sur un AGI avec la fonction "WAIT FOR DIGIT".

Impossible de "capturer" les touches 2,3 et 6, alors que toutes les autres fonctionnent ?

J'ai un petit script AGI qui demande à un utilisateur de saisir son numéro de téléphone, toutes les touches fonctionnent sauf celles là.

Mon programme fonctionne en environnement de dév (Machine virtuelle avec un Centos 5.7 + un Asterisk 1.6 + X-Lite) sans aucun probleme. Dès que je transfère ca sur le serveur d'appel (Centos 6.2 + Asterisk 1.6), tout fonctionne sauf les saisies des touches 2,3, et 6 ??...

Jamais eu le cas jusqu'à présent, et là je dois dire que ca me laisse perplexe ..

Quelqu'un aurait une idée ?

Reaper
23/06/2012, 12h52
Si les autres touches fonctionnent, c'est un souci de script probablement.

Tfdi
23/06/2012, 13h35
Non, le script fonctionne parfaitement en environnement de dév, comme je l'ai dit précédemment.

De plus, j'ai testé avec plusieurs téléphones pour être sûr que ce n'était pas mon téléphone qui avait un probleme de touche, et j'ai le même probleme sur tous les téléphones, les mêmes touches.

:confused:

Reaper
23/06/2012, 14h01
Dans ce cas active le debug et regarde si les touches DMTF sont transmises jusqu'à asterisk.

Tfdi
23/06/2012, 14h34
Ah, Je ne savais pas qu'on pouvait avoir le détails des DMTF au niveau d'asterisk.

Pour le débug, il faut un niveau 5, genre un asterisk -rddddd ? Pour avoir le détails des DTMF je dois faire quoi ?

Je vais chercher en même temps sur google pour voir si je trouve ca ...

YBDOMO
23/06/2012, 14h49
Bonjour à tous,

Je me retrouve confronté à un problème que je n'ai jamais eu auparavant sur un AGI avec la fonction "WAIT FOR DIGIT".

Impossible de "capturer" les touches 2,3 et 6, alors que toutes les autres fonctionnent ?

J'ai un petit script AGI qui demande à un utilisateur de saisir son numéro de téléphone, toutes les touches fonctionnent sauf celles là.

Mon programme fonctionne en environnement de dév (Machine virtuelle avec un Centos 5.7 + un Asterisk 1.6 + X-Lite) sans aucun probleme. Dès que je transfère ca sur le serveur d'appel (Centos 6.2 + Asterisk 1.6), tout fonctionne sauf les saisies des touches 2,3, et 6 ??...

Jamais eu le cas jusqu'à présent, et là je dois dire que ca me laisse perplexe ..

Quelqu'un aurait une idée ?

Bonjour,

Il y a quelques temps j'ai été confronte à ce probleme avec wait_for_digit

je vous propose le bout de script en perl qui peut vous resoudre ce PB
en plus voir http://www.voip-info.org/wiki/view/wait+for+digit

sub Num_digit {
my $Nbre_Digit=0;
my $Time=0;
$result='';
while ($Time <= 20 ){
my $digitime = $AGI->wait_for_digit(3000);
if ($digitime eq "35"){
last;
}
else {
if ($digitime >0 && $Nbre_Digit <= 4){

$result = $result.($digitime-48);
}
}

$Time++;
$Nbre_Digit++;

}
}

A+

Tfdi
23/06/2012, 15h43
YBDOMO:Je ne code pas en perl, mais je ne vois pas dans ton code ce qui peut régler mon problème ? Si tu peux m'éclairer ? ...

Sinon la ca fait + d'une heure que je cherche sur google comment avoir les DTMF recues sur le serveurs asterisk en mode debug, mais je ne trouve pas.

Quelqu'un peut me dire comment faire ca, passer asterisk en mode débug avec le détails des DTMF recues ?

Merci ..

Tfdi
23/06/2012, 19h56
C'est bon, j'ai trouvé comment avoir les DTMF affichés au niveau d'astérisk.

C'est confirmé, je ne recois pas l'appui des touches 2,3 et 6.

Le problème vient donc de l'opérateur ? Ou c'est un probleme de paramétrage d'astérisk concernant le mode DTMF qu'il doit utiliser ?

J'ai oublié de préciser, c'est pour les appels entrants ... téléphones portables principalement.

Qu'est ce que je peux faire, si quelqu'un à une idée ?

Reaper
23/06/2012, 23h38
Essayer avec un autre téléphone portable, et un ligne fixe, voir si l’opérateur supporte un mode de transmission de dtmf différent.

Tfdi
24/06/2012, 11h16
Bon ... j'ai essayé avec 3 fixes différents, et 3 portables (2 orange & 1 sfr), le problème est exactement le même.

Reaper
24/06/2012, 21h04
Un autre fournisseur ?

fastm3
25/06/2012, 09h10
Tu es en sip ? Donc tu dois preferer le rfc 2833 plutot a l'inband si possible.
Verifie bien que tu as une source de timing aussi sur ton asterisk, au moins un ztdummy.
Fastm3.

Tfdi
26/06/2012, 09h52
Non, il n'y a pas de sip derrière, une carte digium et un svi. Tout passe par dahdi.

C'est une appli qui recoit des appels, lance un svi, et en fonction des choix utilisateurs lance telle ou telle action.

La partie utilisation des touches pour naviguer dans les menus et saisir son code / numéro est primordiale, sinon je n'y passerai pas autant de temps.

le modedtmf dans le fichier sip.conf n'est utilisé que pour le sip ? y a un équivalent pour dahdi ?

Reaper
26/06/2012, 10h10
Une carte digium, quoi exactement ?

fastm3
26/06/2012, 19h20
Oui bien sur le dtmf dahdi est géré dans dahdi pas dans sip.
Si dahdi , c'est forcement inband.
Il y a toneduration mais c'est pour l'emission. ( utile quelque fois pour les portiers )
il y a aussi relaxdtmf que tu peux essayer de mettre à yes dans la section channels de ton dahdi.
J'utilise la detection software sur mes petites cartes monobri mais si tu as un module anti echo hardware , tu peux aussi activer la detection des dtmf par la carte en hardware en passant le param au module par modprobe mais je ne sais plus de tete ne l'utilisant pas.
Ton probleme est curieux. Regarde si tu n'a pas un pb d'interruption ou de timing avec ta carte. Precise en effet celle-ci.
Fastm3.