[asterisk-users] Why does it take several seconds to interpret DTMF-input ?
Eric Wieling
EWieling at nyigc.com
Tue Jun 11 09:46:40 CDT 2013
The only way to resolve this is to redesign your dialplan so you do not have ambiguous matching, This is not an Asterisk issue, this is an issue with the way you designed your dialplan and would apply to any IVR on any system.
-----Original Message-----
From: asterisk-users-bounces at lists.digium.com [mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Jonas Kellens
Sent: Tuesday, June 11, 2013 10:44 AM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Subject: Re: [asterisk-users] Why does it take several seconds to interpret DTMF-input ?
On 06/11/2013 04:39 PM, Richard Mudgett wrote:
On Tue, Jun 11, 2013 at 9:29 AM, Jonas Kellens <jonas.kellens at telenet.be> wrote:
On 06/11/2013 04:12 PM, Matthew J. Roth wrote:
Jonas Kellens wrote:
I notice that it takes 4 to 6 seconds between someone pressing a cipher and
Asterisk continuing inside the dialplan. How come ???
...
Why doesn't Asterisk continue immediately inside the dialplan after having
received the DTMF-input ?
<snip>
Dialplan :
exten => ivr,1,NoOp()
exten => ivr,n(restartprompt),Background(/var/lib/asterisk/sounds/vprompts/${KNUMMER}/${ASTPROMPT})
exten => ivr,n,NoOp(${BACKGROUNDSTATUS})
exten => ivr,n,WaitExten(15)
exten => ivr,n,GoTo(restartprompt)
exten => _X,1,Set(choice=${EXTEN})
exten => _X,n,System(echo "'${klantID}','IVR','${choice}','','${CHANNEL:4}','$(date +%s)'" >> /var/log/asterisk/loggingAST/${CHANNEL:4}.csv)
exten => _X,n,other_stuff_I_do
exten => _X.,1,Set(choice=${EXTEN})
exten => _X.,n,System(echo "'${klantID}','IVR','${keuzeID}','','${CHANNEL:4}','$(date +%s)'" >> /var/log/asterisk/loggingAST/${CHANNEL:4}.csv)
exten => _X.,n,other_stuff_I_do
It is waiting for more digits because you have asked it for a possible multi-digit exten and it needs to distinguish between the _X and _X. patterns.
Richard
Ok thanks.
Any idea how I can resolve this ?
Even if there *can* be more than 1 digit, in case there is only 1 digit it should go faster.
Could this dialplan logic be a good solution :
[my-context]
exten => ivr,1,NoOp()
exten => ivr,n(restartprompt),Background(/var/lib/asterisk/sounds/vprompts/${KNUMMER}/${ASTPROMPT})
exten => ivr,n,NoOp(${BACKGROUNDSTATUS}) exten => ivr,n,WaitExten(15) exten => ivr,n,GoTo(restartprompt)
exten => _X,1,Set(choice=${EXTEN})
exten => _X,n,System(echo "'${klantID}','IVR','${choice}','','${CHANNEL:4}','$(date +%s)'" >> /var/log/asterisk/loggingAST/${CHANNEL:4}.csv)
exten => _X,n,other_stuff_I_do
exten => ivradvanced,1,NoOp()
exten => ivradvanced,n(restartprompt),Background(/var/lib/asterisk/sounds/vprompts/${KNUMMER}/${ASTPROMPT})
exten => ivradvanced,n,NoOp(${BACKGROUNDSTATUS})
exten => ivradvanced,n,WaitExten(15)
exten => ivradvanced,n,GoTo(restartprompt)
exten => _X.,1,Set(choice=${EXTEN})
exten => _X.,n,System(echo "'${klantID}','IVR','${keuzeID}','','${CHANNEL:4}','$(date +%s)'" >> /var/log/asterisk/loggingAST/${CHANNEL:4}.csv)
exten => _X.,n,other_stuff_I_do
[another-context]
...
...
Kind regards,
Jonas.
More information about the asterisk-users
mailing list