[Asterisk-bsd] Asterisk attendant stops responding to DTMF tones on incoming calls

Chris Hardie chris at summersault.com
Wed Mar 29 13:39:19 MST 2006


Hi.  We're very recent converts from proprietary PBX hardware to Asterisk, and 
we're having a ball.  Except that we just rolled out our system and are 
encountering a mission-critical problem.

I couldn't find mention of a similar issue in the mailing list archives or 
knowledgbase, though maybe I'm lacking the right terminology.  My initial 
attempt to describe it on the IRC channel was met with "switch to linux" 
responses, so I'm hoping to find friendlier eyes here.

It's 1.2.4-BRIstuffed-0.3.0-PRE-1 running on 5.4-RELEASE, installed from ports, 
no customizations.

Simply put, things work fine when the server is first started - I can dial in, 
select an extension or a menu option, etc.  At some point, Asterisk stops 
responding to DTMF tones input during the main Background() call of the main 
menu.  Callers get frustrated when they can't make a menu selection, and 
eventually the call times out and hangs up on them.

Asterisk seems to get itself in this state without any provocation, and in most 
cases it's happened after the server has sat quietly for an hour or more, but 
it has also happened during periods of activity.  At first I thought it was 
weirdness around making config changes and not doing a full restart, but it's 
happened plenty of times without any config changes. In all cases, issuing a 
"restart gracefully" resolves the issue, and it starts recognizing tones again. 
Setting relaxdtmf=yes in zapata.conf seems to have no effect.


The relevant part of the dialplan:

[default]
exten => s,1,Answer                     ; Answer the line
exten => s,n,Wait,1                     ; Wait a second, just for fun
exten => s,n,Set(TIMEOUT(digit)=5)      ; Set Digit Timeout to 5 seconds
exten => s,n,Set(TIMEOUT(response)=10)  ; Set Response Timeout to 10 sec
exten => s,n,SetMusicOnHold(default)
exten => s,n,Zapateller(nocallerid)
exten => s,n,Playback(sumsault/ss-thanks-for-calling)
exten => s,n,Playback(sumsault/ss-menu-has-changed)
exten => s,n,GotoIfTime(17:00-07:59,mon-fri,*,*?insert-closed,s,1)
exten => s,n,GotoIfTime(*,sat-sun,*,*?insert-closed,s,1)
exten => s,n(restart),Background(sumsault/ss-main-menu)
exten => s,n,WaitExten
...

And in the CLI, we see what we expect to see:

     -- Starting simple switch on 'Zap/1-1'
     -- Executing Wait("Zap/1-1", "1") in new stack
     -- Executing Answer("Zap/1-1", "") in new stack
     -- Executing Set("Zap/1-1", "TIMEOUT(digit)=5") in new stack
     -- Digit timeout set to 5
     -- Executing Set("Zap/1-1", "TIMEOUT(response)=10") in new stack
     -- Response timeout set to 10
     -- Executing SetMusicOnHold("Zap/1-1", "default") in new stack
     -- Executing Zapateller("Zap/1-1", "nocallerid") in new stack
     -- Executing Playback("Zap/1-1", "sumsault/ss-thanks-for-calling") in new stack
     -- Playing 'sumsault/ss-thanks-for-calling' (language 'en')
     -- Executing Playback("Zap/1-1", "sumsault/ss-menu-has-changed") in new stack
     -- Playing 'sumsault/ss-menu-has-changed' (language 'en')
     -- Executing GotoIfTime("Zap/1-1", "17:00-07:59|mon-fri|*|*?insert-closed|s|1") in new stack
     -- Executing GotoIfTime("Zap/1-1", "*|sat-sun|*|*?insert-closed|s|1") in new stack
     -- Executing BackGround("Zap/1-1", "sumsault/ss-main-menu") in new stack
     -- Playing 'sumsault/ss-main-menu' (language 'en')
     -- Executing WaitExten("Zap/1-1", "") in new stack
     -- Timeout on Zap/1-1, continuing...
     -- Executing BackGround("Zap/1-1", "sumsault/ss-please-select-now") in new stack
     -- Playing 'sumsault/ss-please-select-now' (language 'en')
     -- Executing WaitExten("Zap/1-1", "") in new stack
     -- Timeout on Zap/1-1, going to 't'
     -- Executing Playback("Zap/1-1", "vm-goodbye") in new stack
     -- Playing 'vm-goodbye' (language 'en')
     -- Executing Hangup("Zap/1-1", "") in new stack

Sigh.  Any thoughts on where to look?

Thanks for any help!

Chris


More information about the Asterisk-BSD mailing list