[asterisk-users] 4 sec delay in voice menu (asterisk)

Tony Mountifield tony at mountifield.org
Mon Nov 7 08:43:59 CST 2011


In article <4EB7EB14.9010501 at wp.pl>, Albert <alberton at wp.pl> wrote:
> I have very weird case, which i dont understand. I have voice menu where 
> customer is choosing language, and all works fine apart from this that 
> after pressing 1 applications related to 1-ext are being processed 
> immediatly and after pressinf 2, there is 4-5 sec delay betweek 1st 
> application is being processed related to that extension 2.
> 
> Difference which i am seeing in this log files is that in 2nd case, 
> there is "  == CDR updated on ...", but why in 1st case it isnt and in 
> 2nd is ? Could that be my source of problem ?
> 
> Thanks for your help, any hint will do
> 
> Regards
> Robert
> ---------------------------------------
> 
> Below you can find part of menu from and log files....
> 
> 
> *** menu ***
> [voiceservices_menu]
> exten => 2666,1,Background(custom/l_stories/swelcome)
> exten => 2666,n,WaitExten(15)  ;wait 15 sec
> 
> exten => 1,1,Verbose(Customer pressed key 1)
> exten => 1,n,Goto(storiesmenu-lu,2666,1) ;if customer choosed 1 jump to 
> LU lang
> 
> exten => 2,1,Verbose(Customer pressed key 2)
> exten => 2,n,Goto(storiesmenu-en,2666,1) ;if customer choosed 1 jump to 
> EN lang
> 
> exten => i,1,Playback(invalid)
> exten => i,n,Goto(voiceservices_menu,2666,1)
> 
> exten => t,1,Playback(vm-goodbye)
> exten => t,n,Goto(voiceservices_menu,2666,1)

Your problem is the presence of the 2666 extension. When you press 2,
the system waits for a few seconds to see if you are going to press
6 or not. You need to separate the initial extension and the menu
options into different contexts:

[voiceservices_menu]
exten => 2666,1,Set(EXT=${EXTEN})
exten => 2666,n,Goto(voiceservices_options,s,1)

[voiceservices_options]
exten => s,1,Background(custom/l_stories/swelcome)
exten => s,n,WaitExten(15)  ;wait 15 sec

exten => 1,1,Verbose(Customer pressed key 1)
exten => 1,n,Goto(storiesmenu-lu,${EXT},1) ;if customer choosed 1 jump to LU lang

exten => 2,1,Verbose(Customer pressed key 2)
exten => 2,n,Goto(storiesmenu-en,${EXT},1) ;if customer choosed 1 jump to EN lang

exten => i,1,Playback(invalid)
exten => i,n,Goto(voiceservices_menu,s,1)

exten => t,1,Playback(vm-goodbye)
exten => t,n,Goto(voiceservices_menu,s,1)

If the dialplan in storiesmenu-lu and storiesmenu-en do not actually
need to know the original dialled extension (2666), you can use the s
extension there too, and completely remove EXT and ${EXT}

Hope this helps!

Cheers
Tony
-- 
Tony Mountifield
Work: tony at softins.co.uk - http://www.softins.co.uk
Play: tony at mountifield.org - http://tony.mountifield.org



More information about the asterisk-users mailing list