[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