[Asterisk-Users] Weird DTMF issue

Rich Adamson radamson at routers.com
Mon Feb 27 16:49:36 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:
> 
> Here's the IVR. As I said this was working at least through Friday and
> was in service for quite some time with no changes:
> 
> exten => s,1,Set(TIMEOUT(digit)=5)
> exten => s,2,Set(TIMEOUT(response)=20)
> exten => s,3,Answer
> exten => s,4,Wait(1)
> exten => s,5,Background(s24-intro)
> 
> exten => 0,1,Playback(transfer)
> exten => 0,2,Set(CALLERID(name)=Operator Line)
> exten => 
0,3,Dial(SIP/221&SIP/222&SIP/223&SIP/224&SIP/225&SIP/227&SIP/230&SIP/231&SIP/233&SIP/240&SIP/241&SI
P/242)
> exten => 0,4,Hangup
> 
> exten => 1,1,Playback(transfer)
> exten => 1,2,Set(CALLERID(name)=Sales Queue)
> exten => 1,3,Queue(sales)
> exten => 1,4,Hangup
> 
> exten => 81,1,AgentCallbackLogin(||@outgoing-voice)
> exten => 81,2,Hangup
> 
> exten => 83,1,AgentCallbackLogin(||@outgoing-voice)
> exten => 83,2,Hangup
> exten => #,1,Directory(s24,extensions)
> 
> exten => i,1,Playback(pbx-invalid)
> exten => i,n,Goto(s,5)
> 
> exten => t,1,Hangup
> 
> include => extensions
> 
> include => s24-daytime|8:00-16:59|mon-fri|*|*
> include => s24-evening|17:00-17:59|mon-fri|*|*
> 
> include => s24-nighttime|0:00-7:59|mon-fri|*|*
> include => s24-nighttime|18:00-23:59|mon-fri|*|*
> include => s24-nighttime|*|sat|*|*
> include => s24-nighttime|*|sun|*|*
> 
> (the extensions context, obviously, contains the individual extensions
> which are 2XX. There is a support queue at option 2 that's routed
> differently by time of day and it's in the daytime/evening/nighttime
> contexts.)
> 
> The problems seems to be in Background(). If I add a WaitExten(10) as
> s,6 and wait for the entire menu to play through I can dial an extension
> during the silence. But if I try it during the menu it recognizes the
> first digit and then times out while ignoring subsequent digits.
> 
> I just can't understand why it suddenly stopped working. Nothing was
> changed over the weekend.

Well... there are only two choices: 1) something did change, or, 2) a
bug has surfaced.

What version of code are you running?

I assume you've tried stopping and restarting asterisk, right?





More information about the asterisk-users mailing list