[Home]

Summary:ASTERISK-00343: * can't decode DTMF properly with Feature Group D trunks on incoming calls
Reporter:James Sharp (jpsharp)Labels:
Date Opened:2003-10-01 22:15:38Date Closed:2004-09-25 02:46:18
Priority:BlockerRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:Incoming calls on a Feature Group D trunk over T1 on a TE410P do not get DTMF decoded properly.  Digits are often missed and some extraneous digits are decoded, even with a totally silenced line.

****** ADDITIONAL INFORMATION ******

Here's the zapata.conf file.

[channels]
context=nonauthenticated
signalling=featdmf
rxwink=300
usecallerid=yes
hidecallerid=no
callwaiting=no
callwaitingcallerid=no
threewaycalling=no
transfer=no
cancallforward=no
callreturn=no
echocancel=yes
echocancelwhenbridged=no
callgroup=1
pickupgroup=1
immediate=no
group=2
relaxdtmf=yes
callerid=asreceived
channel => 1-96


And the trace from "debug channel Zap/25-1"

   -- Starting simple switch on 'Zap/25-1'

Debugging enabled on channel Zap/25-1
<< [ TYPE: DTMF (1) SUBCLASS: 9 (57) ] [Zap/25-1]
<< [ TYPE: DTMF (1) SUBCLASS: 1 (49) ] [Zap/25-1]
<< [ TYPE: DTMF (1) SUBCLASS: 7 (55) ] [Zap/25-1]
<< [ TYPE: DTMF (1) SUBCLASS: # (35) ] [Zap/25-1]
<< [ TYPE: DTMF (1) SUBCLASS: * (42) ] [Zap/25-1]
<< [ TYPE: DTMF (1) SUBCLASS: 7 (55) ] [Zap/25-1]
<< [ TYPE: DTMF (1) SUBCLASS: 1 (49) ] [Zap/25-1]
<< [ TYPE: DTMF (1) SUBCLASS: 8 (56) ] [Zap/25-1]
<< [ TYPE: DTMF (1) SUBCLASS: 8 (56) ] [Zap/25-1]
<< [ TYPE: DTMF (1) SUBCLASS: 8 (56) ] [Zap/25-1]
<< [ TYPE: DTMF (1) SUBCLASS: 7 (55) ] [Zap/25-1]
<< [ TYPE: DTMF (1) SUBCLASS: 2 (50) ] [Zap/25-1]
<< [ TYPE: DTMF (1) SUBCLASS: 7 (55) ] [Zap/25-1]
<< [ TYPE: DTMF (1) SUBCLASS: 7 (55) ] [Zap/25-1]
<< [ TYPE: DTMF (1) SUBCLASS: 5 (53) ] [Zap/25-1]
<< [ TYPE: DTMF (1) SUBCLASS: # (35) ] [Zap/25-1]
   -- Executing AGI("Zap/25-1", "ivr-main.pl") in new stack
   -- Launched AGI Script /var/lib/asterisk/agi-bin/ivr-main.pl
fooval:  0  fooval1:  0
ANI is 8307519917
Dialed Number is unknown
R-Dialed Number is unknown
ANI Not found
   -- Playing 'enteracctnumber'
<< [ TYPE: DTMF (1) SUBCLASS: 4 (52) ] [Zap/25-1]
Got 4 from AGI
Account Not found
   -- Playing 'enteracctnumber'
<< [ HANGUP (NULL) ] [Zap/25-1]



I entered "42007#" at the "enteracctnumber" prompt.
Comments:By: Mark Spencer (markster) 2003-10-02 01:34:39

To clarify, the MF detection works okay?  It's just maybe that it's not switching to DTMF afterwards?

By: James Sharp (jpsharp) 2003-10-02 13:17:53

Correct.  I get ANI and DNIS over MF without a problem.

By: James Sharp (jpsharp) 2003-10-02 14:46:08

Yup.  Somewhere along the line, the channel isn't getting switched into DTMF signalling.  I added a splotch of code to chan_zap around line 4000 to make sure that the system was in DTMF mode and that fixed the problem.

Here's the context:

               if (p->sig == SIG_FEATDMF) {
                       zt_wink(p, index);
               }
               zt_enable_ec(p);
               ast_log(LOG_DEBUG,"Implicitly setting channel to DTMF mode\n");
               ast_dsp_digitreset(p->dsp);
               ast_dsp_digitmode(p->dsp, DSP_DIGITMODE_DTMF);
               if (ast_exists_extension(chan, chan->context, exten, 1, chan->callerid)) {
                       strncpy(chan->exten, exten, sizeof(chan->exten)-1);
                       ast_dsp_digitreset(p->dsp);
                       res = ast_pbx_run(chan);
                       if (res) {


I'm not sure if this is the right thing to do to correctly fix it, but it does show a problem.

By: Mark Spencer (markster) 2003-10-06 00:08:41

Fixed in CVS.  Let me know if it isn't.