[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