[Asterisk-Users] Weird DTMF issue

Rich Adamson radamson at routers.com
Mon Feb 27 14:50:37 MST 2006


> Ok, this one has me stumped. This setup was working fine Friday and now
> today it's just stopped working.
> 
> Details:
> 
> Dell 2850 running Asterisk 1.2.4. Phones are SIP phones (Cisco 7940s).
> Timing is done via a WCTDM card (also tried ztdummy.) All traffic in and
> out of this box to the PSTN is via IAX2.
> 
> At some point between Friday and today DTMF stopped working right.
> Specifically, when you call our main # and are at the IVR, only the
> first digit you dial is recognized. For example if I try to dial "81"
> this is all I get for debugging:
> 
> Rx-Frame Retry[ No] -- OSeqno: 003 ISeqno: 004 Type: DTMF    Subclass: 8
>    Timestamp: 02123ms  SCall: 00020  DCall: 00009 [1.2.3.4:4569]
> Tx-Frame Retry[-01] -- OSeqno: 004 ISeqno: 004 Type: IAX     Subclass: ACK
>    Timestamp: 02123ms  SCall: 00009  DCall: 00020 [1.2.3.4:4569]
> 
> As soon as the "8" is received the Background app stops playing as you'd
> expect, but it stops recognizing any more digits, and eventually times
> out and errors out with an invalid extension '8'. Even worse, if you try
> to dial anybody's direct extensions (2xx) now you end up in the support
> queue after it times out since the queue is option "2" (yeah I know
> that's a stupid IVR design, but I had to mimic the old PBX I didn't set
> up.)
> 
> I've tried this through two different call paths, one through the PSTN
> and one direct from my house asterisk system (SIP/IAX2 end-to-end). It
> behaves the same both ways.
> 
> The strange part is, while the "invalid extension" message is being
> played by Playback() all the digits I hit *are* recognized, as they show
> up in the iax2 debug output. It's only in the Background() app that this
> seems to be a problem.
> 
> Any suggestions would be greatly appreciated. This has our IVR totally
> busted and I've tried everything I can think of so far.

It would have been helpfull if you would have posted the few dialplan
entries associated with starting the ivr. The following works fine for
me for incoming iax2 & analog pstn calls:

[bus-ivr-main]                                           
exten => s,1,Wait,1                                                         
exten => s,2,Answer                                                           
exten => s,3,Set(TIMEOUT(digit)=5)                                       
exten => s,4,Set(TIMEOUT(response)=10)                                          
                                   
exten => s,5,Background(npi-greeting)  ; "Thanks for calling press 1 for"
exten => s,6,WaitExten                              
exten => s,7,Goto(bus-ivr-main|s|3) 

The above is running on /trunk from Feb 20th. If you're funning an older
version, the Timeout statements may have a different syntax.

You might take a look at 'show application waitexten' and the associated
timeout values, etc.





More information about the asterisk-users mailing list