PDA

Voir la version complète : [mISDN] Réception des DTMF en double.



Kriss
18/02/2011, 18h59
Hello ici,

Voilà des heures (jours?) que je me prend la tête sur un truc improbable. J'ai un SVI sur un serveur *qui est appelé par le biais d'un SDA qui est sur un groupement T0 completel (via un oneaccess ONE150). Coté asterisk, c'est une TE410P.

Lorsque je contact mon SVI via une ligne fixe (FT ou IP), tout va bien.
En revanche, lorsque j'appel depuis un mobile, quel que soit l'opérateur, ou le mobile, je reçois toutes les DTMF en double...

Bien :


[Feb 18 17:51:40] DTMF[8003] channel.c: DTMF end '0' received on mISDN/5-u16, duration 0 ms
[Feb 18 17:51:40] DTMF[8003] channel.c: DTMF end accepted without begin '0' on mISDN/5-u16
[Feb 18 17:51:40] DTMF[8003] channel.c: DTMF end passthrough '0' on mISDN/5-u16
[Feb 18 17:51:41] DTMF[8003] channel.c: DTMF end '0' received on mISDN/5-u16, duration 0 ms
[Feb 18 17:51:41] DTMF[8003] channel.c: DTMF end accepted without begin '0' on mISDN/5-u16
[Feb 18 17:51:41] DTMF[8003] channel.c: DTMF end passthrough '0' on mISDN/5-u16
[Feb 18 17:51:41] DTMF[8003] channel.c: DTMF end '4' received on mISDN/5-u16, duration 0 ms
[Feb 18 17:51:41] DTMF[8003] channel.c: DTMF end accepted without begin '9' on mISDN/5-u16
[Feb 18 17:51:41] DTMF[8003] channel.c: DTMF end passthrough '4' on mISDN/5-u16
[Feb 18 17:51:41] VERBOSE[8003] logger.c: == CDR updated on mISDN/5-u16
[Feb 18 17:51:41] VERBOSE[8003] logger.c: -- Executing [004@ivr-3:1] ExecIf("mISDN/5-u16", "0|dbDel|") in new stack


Pas bien :


[Feb 18 17:50:52] DTMF[7976] channel.c: DTMF end '0' received on mISDN/3-u15, duration 0 ms
[Feb 18 17:50:52] DTMF[7976] channel.c: DTMF end accepted without begin '0' on mISDN/3-u15
[Feb 18 17:50:52] DTMF[7976] channel.c: DTMF end passthrough '0' on mISDN/3-u15
[Feb 18 17:50:52] DTMF[7976] channel.c: DTMF end '0' received on mISDN/3-u15, duration 0 ms
[Feb 18 17:50:52] DTMF[7976] channel.c: DTMF end accepted without begin '0' on mISDN/3-u15
[Feb 18 17:50:52] DTMF[7976] channel.c: DTMF end passthrough '0' on mISDN/3-u15
[Feb 18 17:50:53] DTMF[7976] channel.c: DTMF end '0' received on mISDN/3-u15, duration 0 ms
[Feb 18 17:50:53] DTMF[7976] channel.c: DTMF end accepted without begin '0' on mISDN/3-u15
[Feb 18 17:50:53] DTMF[7976] channel.c: DTMF end passthrough '0' on mISDN/3-u15
[Feb 18 17:50:53] VERBOSE[7976] logger.c: -- Invalid extension '000' in context 'ivr-3' on mISDN/3-u15
[Feb 18 17:50:53] VERBOSE[7976] logger.c: == CDR updated on mISDN/3-u15
[Feb 18 17:50:53] VERBOSE[7976] logger.c: -- Executing [i@ivr-3:1] Set("mISDN/3-u15", "LOOPCOUNT=1") in new stack
[Feb 18 17:50:53] VERBOSE[7976] logger.c: -- Executing [i@ivr-3:2] ExecIf("mISDN/3-u15", "1|Playback|invalid") in new stack
[Feb 18 17:50:53] VERBOSE[7976] logger.c: -- <mISDN/3-u15> Playing 'invalid' (language 'fr')
[Feb 18 17:50:53] DTMF[7976] channel.c: DTMF end '4' received on mISDN/3-u15, duration 0 ms
[Feb 18 17:50:53] DTMF[7976] channel.c: DTMF end accepted without begin '4' on mISDN/3-u15
[Feb 18 17:50:53] DTMF[7976] channel.c: DTMF end passthrough '4' on mISDN/3-u15
[Feb 18 17:50:53] DTMF[7976] channel.c: DTMF end '4' received on mISDN/3-u15, duration 0 ms
[Feb 18 17:50:53] DTMF[7976] channel.c: DTMF end accepted without begin '4' on mISDN/3-u15
[Feb 18 17:50:53] DTMF[7976] channel.c: DTMF end passthrough '4' on mISDN/3-u15
[Feb 18 17:50:57] VERBOSE[7976] logger.c: -- Executing [i@ivr-3:3] GotoIf("mISDN/3-u15", "1?s|begin") in new stack


Pour les fichiers de conf, voilà ce que j'ai pour le /etc/asterisk/misdn.conf :


[general]

debug = 0
method=standard
bridging=yes
stop_tone_after_first_digit=yes
append_digits2exten=yes
dynamic_crypt=no
crypt_prefix=**
crypt_keys=test,muh
jitterbuffer=4000
jitterbuffer_upper_threshold=0

[default]
context=misdn
language=fr
musicclass=default
senddtmf=yes
far_alerting=no
allowed_bearers=all
nationalprefix=0
internationalprefix=00
rxgain=0
txgain=0
te_choose_channel=no
pmp_l1_check=no
reject_cause=16
need_more_infos=no
nttimeout=no
method=standard
dialplan=0
localdialplan=0
cpndialplan=0
early_bconnect=yes
incoming_early_audio=no
nodialtone=no
callgroup=1
pickupgroup=1
presentation=-1
screen=-1
echocancel=yes
hdlc=no
jitterbuffer=4000
jitterbuffer_upper_threshold=0
echotraining=yes

[isdn]
ports=1,2,3,4
context=from-pstn
callgroup=1
pickupgroup=1
msns=*


Et enfin pour le /etc/mISDN.conf :


<mISDNconf>
<module poll="128" debug="0" timer="no">hfcmulti</module>
<module debug="0" options="0">mISDN_dsp</module>
<devnode user="asterisk" group="asterisk" mode="660">mISDN</devnode>
<card type="BN4S0" ulaw="yes">
<port mode="te" link="ptp">1</port>
<port mode="te" link="ptp">2</port>
<port mode="te" link="ptp">3</port>
<port mode="te" link="ptp">4</port>
</card>
</mISDNconf>


J'ai essayé de jouer avec les echocanceler / training sans succès, le senddtmf=no ne change rien non plus ...

Bref, là je sèche..

./Kriss

ffossard
22/02/2011, 02h47
Le problème se produit dans 100% des cas ou bien c'est aléatoire ?

Kriss
22/02/2011, 14h12
100% oui de manière vraiment rigoureuse.
Je commence a me dire que les DTMF doivent arriver a Asterisk par le biais de 2 types de signalisations à la fois. Mais pourquoi est-ce que ça concernerait seulement les mobiles ... Est-ce que ça pourrait être en rapport avec un paramétrage du OneAccess ?

tomarch
22/02/2011, 16h49
Comment est configuré la variable dtmfmode au niveau de ton trunk ?

Si elle est en auto, tu peux essayer de la fixer (inband, rfc2833 , info)

ffossard
22/02/2011, 16h51
Oui ça pourrait, difficile de vérifier sans connaitre la configuration du OneAccess, et le plus étrange dans ce cas est que ça ne se produise que sur les mobiles, je ne vois pas pourquoi le pabx traiterait différemment les appels fixe et mobiles.

Sur mes installations en T0 avec misdn et dahdi, j'ai déjà rencontré des problèmes de dtmf intempestifs, mais c'était aléatoire et pas lié à un type de ligne en particulier.

Kriss
24/02/2011, 20h07
Hélas j'ai pas du tout la main sur le OneAccess qui a été posé par completel. Je commence à craindre la partie de tennis avec l'opérateur.

Pour les besoin du test, j'ai enregistré un trunk SIP avec un SDA sur le serveur qui pointe sur le svi, et naturellement, tout se passe nickel..

(Pour le champ dtmfmode, c'est pas au niveau sip que ça coince, mais bien sur la couche misdn.)

PS, j'ai essayé de modifié le /etc/mISDN.conf avec du

card type="BN4S0" ulaw="yes" dtmf="yes"
Et même combat.