Richard J. Sears
2005-Feb-24 16:49 UTC
[Asterisk-Users] Delay after entering digits with IVR
I have a [start] context that all my inbound and '0' calls are routed into. Because of the way I want to set my system up, I want to prompt the user to enter a 1 if they know the extension, or a 2 for a directory and nothing else. It works, however there is a 5 to 10 second delay after enter the 1 or 2 before the system responds. I have read over the wiki on how asterisk handles digit inputs, but cannot seem to isolate the problem. No other extension beginning with (or even including) a '1' or a '2'. Is this just how the system operates, or am I missing something..? Thanks !! Here is the [start] in my extensions.conf : [start] ; If someone dials the Operator, just start them here. exten => 0,1,Goto(s,1) exten => s,1,Wait,1 ; Wait a second, just for fun exten => s,2,Answer ; Answer the line exten => s,3,SetMusicOnHold,default exten => s,4,ResponseTimeout,5 ; Set Response Timeout ; Is is Morning, Afternoon or Evening ? ; Lets play a differnet greeting for each time period. exten => s,5,AGI(openclose.agi) exten => s,6,GotoIF($[${STATUS} = morning]?10) exten => s,7,GotoIF($[${STATUS} = afternoon]?12) exten => s,8,GotoIF($[${STATUS} = evening]?14) extex => s,9,Goto(s,6) ; The various Greetings based on Time of Day exten => s,10,Background(rjs-morning-welcome) exten => s,11,Goto(s,15) exten => s,12,Background(rjs-afternoon-welcome) exten => s,13,Goto(s,15) exten => s,14,Background(rjs-evening-welcome) ; The Voice Menu exten => s,15,Background(rjs-if-you-know-the-extension) exten => s,16,Wait,1 exten => s,17,BackGround(to-dial-by-name-press) ; Play some instructions exten => s,18,BackGround(digits/2) ; Play some instructions ; A timeout and "invalid extension rule" ; exten => t,1,Goto(s,15) ; If they take too long, give up exten => i,1,Playback(invalid) ; "That's not valid, try again" ; If they know the extension, send them on. exten => 1,1,Goto(extension_is_known,s,1) ; Allow users the ability to get Directory listing (user must be in voicemail.conf) exten => 2,1,Directory,default|internal_extensions here is the output of my show dialplan start: pbx01*CLI> show dialplan start [ Context 'start' created by 'pbx_config' ] '0' => 1. Goto(s|1) [pbx_config] '1' => 1. Goto(extension_is_known|s|1) [pbx_config] '2' => 1. Directory(default|internal_extensions) [pbx_config] 'i' => 1. Playback(invalid) [pbx_config] 's' => 1. Wait(1) [pbx_config] 2. Answer() [pbx_config] 3. SetMusicOnHold(default) [pbx_config] 4. ResponseTimeout(5) [pbx_config] 5. AGI(openclose.agi) [pbx_config] 6. GotoIF($[${STATUS} = morning]?10) [pbx_config] 7. GotoIF($[${STATUS} = afternoon]?12) [pbx_config] 8. GotoIF($[${STATUS} = evening]?14) [pbx_config] 10. Background(rjs-morning-welcome) [pbx_config] 11. Goto(s|15) [pbx_config] 12. Background(rjs-afternoon-welcome) [pbx_config] 13. Goto(s|15) [pbx_config] 14. Background(rjs-evening-welcome) [pbx_config] 15. Background(rjs-if-you-know-the-extension) [pbx_config] 16. Wait(1) [pbx_config] 17. BackGround(to-dial-by-name-press) [pbx_config] 18. BackGround(digits/2) [pbx_config] 't' => 1. Goto(s|15) [pbx_config] ****************************************** Richard J. Sears Vice President American Internet Services ---------------------------------------------------- rsears@adnc.com http://www.adnc.com ---------------------------------------------------- 858.576.4272 - Phone 858.427.2401 - Fax INOC-DBA - 6130 ---------------------------------------------------- I fly because it releases my mind from the tyranny of petty things . . "Work like you don't need the money, love like you've never been hurt and dance like you do when nobody's watching."
Race Vanderdecken
2005-Feb-24 17:39 UTC
[Asterisk-Users] Delay after entering digits with IVR
Hmmm, Are you trying to collect digits during a playback that is not set to listen for a digit?>From the coding side I know that depending on how the prompt is calledyou can enter a digit and "interrupt" the prompt. Otherwise the prompt will finish and then "see" the digits. What you want is BackgroundDetect(filename[|sil[|min|max]]) http://www.voip-info.org/tiki-index.php?page=Asterisk+cmd+BackGroundDete ct This will see the digits, and stop if it is one you have set. Race "The Tyrant" Vandedecken -----Original Message----- From: asterisk-users-bounces@lists.digium.com [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Richard J. Sears Sent: Thursday, February 24, 2005 6:49 PM To: asterisk-users@lists.digium.com Subject: [Asterisk-Users] Delay after entering digits with IVR I have a [start] context that all my inbound and '0' calls are routed into. Because of the way I want to set my system up, I want to prompt the user to enter a 1 if they know the extension, or a 2 for a directory and nothing else. It works, however there is a 5 to 10 second delay after enter the 1 or 2 before the system responds. I have read over the wiki on how asterisk handles digit inputs, but cannot seem to isolate the problem. No other extension beginning with (or even including) a '1' or a '2'. Is this just how the system operates, or am I missing something..? Thanks !! Here is the [start] in my extensions.conf : [start] ; If someone dials the Operator, just start them here. exten => 0,1,Goto(s,1) exten => s,1,Wait,1 ; Wait a second, just for fun exten => s,2,Answer ; Answer the line exten => s,3,SetMusicOnHold,default exten => s,4,ResponseTimeout,5 ; Set Response Timeout ; Is is Morning, Afternoon or Evening ? ; Lets play a differnet greeting for each time period. exten => s,5,AGI(openclose.agi) exten => s,6,GotoIF($[${STATUS} = morning]?10) exten => s,7,GotoIF($[${STATUS} = afternoon]?12) exten => s,8,GotoIF($[${STATUS} = evening]?14) extex => s,9,Goto(s,6) ; The various Greetings based on Time of Day exten => s,10,Background(rjs-morning-welcome) exten => s,11,Goto(s,15) exten => s,12,Background(rjs-afternoon-welcome) exten => s,13,Goto(s,15) exten => s,14,Background(rjs-evening-welcome) ; The Voice Menu exten => s,15,Background(rjs-if-you-know-the-extension) exten => s,16,Wait,1 exten => s,17,BackGround(to-dial-by-name-press) ; Play some instructions exten => s,18,BackGround(digits/2) ; Play some instructions ; A timeout and "invalid extension rule" ; exten => t,1,Goto(s,15) ; If they take too long, give up exten => i,1,Playback(invalid) ; "That's not valid, try again" ; If they know the extension, send them on. exten => 1,1,Goto(extension_is_known,s,1) ; Allow users the ability to get Directory listing (user must be in voicemail.conf) exten => 2,1,Directory,default|internal_extensions here is the output of my show dialplan start: pbx01*CLI> show dialplan start [ Context 'start' created by 'pbx_config' ] '0' => 1. Goto(s|1) [pbx_config] '1' => 1. Goto(extension_is_known|s|1) [pbx_config] '2' => 1. Directory(default|internal_extensions) [pbx_config] 'i' => 1. Playback(invalid) [pbx_config] 's' => 1. Wait(1) [pbx_config] 2. Answer() [pbx_config] 3. SetMusicOnHold(default) [pbx_config] 4. ResponseTimeout(5) [pbx_config] 5. AGI(openclose.agi) [pbx_config] 6. GotoIF($[${STATUS} = morning]?10) [pbx_config] 7. GotoIF($[${STATUS} = afternoon]?12) [pbx_config] 8. GotoIF($[${STATUS} = evening]?14) [pbx_config] 10. Background(rjs-morning-welcome) [pbx_config] 11. Goto(s|15) [pbx_config] 12. Background(rjs-afternoon-welcome) [pbx_config] 13. Goto(s|15) [pbx_config] 14. Background(rjs-evening-welcome) [pbx_config] 15. Background(rjs-if-you-know-the-extension) [pbx_config] 16. Wait(1) [pbx_config] 17. BackGround(to-dial-by-name-press) [pbx_config] 18. BackGround(digits/2) [pbx_config] 't' => 1. Goto(s|15) [pbx_config] ****************************************** Richard J. Sears Vice President American Internet Services ---------------------------------------------------- rsears@adnc.com http://www.adnc.com ---------------------------------------------------- 858.576.4272 - Phone 858.427.2401 - Fax INOC-DBA - 6130 ---------------------------------------------------- I fly because it releases my mind from the tyranny of petty things . . "Work like you don't need the money, love like you've never been hurt and dance like you do when nobody's watching." _______________________________________________ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Steven Critchfield
2005-Feb-24 19:18 UTC
[Asterisk-Users] Delay after entering digits with IVR
On Thu, 2005-02-24 at 15:49 -0800, Richard J. Sears wrote:> I have a [start] context that all my inbound and '0' calls are routed > into. > > Because of the way I want to set my system up, I want to prompt the user > to enter a 1 if they know the extension, or a 2 for a directory and > nothing else. > > It works, however there is a 5 to 10 second delay after enter the 1 or 2 > before the system responds. > > I have read over the wiki on how asterisk handles digit inputs, but > cannot seem to isolate the problem. No other extension beginning with > (or even including) a '1' or a '2'. > > Is this just how the system operates, or am I missing something..?If That is the entirety of your start context, then it shouldn't be doing any delay between detection and beginning action. So my question is, is it possible that the delay is actually in the next step such as the goto that jumps out to a different extension and context or in the starting of the directory app.> Here is the [start] in my extensions.conf : > > [start] > ; If someone dials the Operator, just start them here. > exten => 0,1,Goto(s,1) > > exten => s,1,Wait,1 ; Wait a second, just for fun > exten => s,2,Answer ; Answer the line > exten => s,3,SetMusicOnHold,default > exten => s,4,ResponseTimeout,5 ; Set Response Timeout > > ; Is is Morning, Afternoon or Evening ? > ; Lets play a differnet greeting for each time period. > exten => s,5,AGI(openclose.agi) > exten => s,6,GotoIF($[${STATUS} = morning]?10) > exten => s,7,GotoIF($[${STATUS} = afternoon]?12) > exten => s,8,GotoIF($[${STATUS} = evening]?14) > extex => s,9,Goto(s,6) > > ; The various Greetings based on Time of Day > exten => s,10,Background(rjs-morning-welcome) > exten => s,11,Goto(s,15) > exten => s,12,Background(rjs-afternoon-welcome) > exten => s,13,Goto(s,15) > exten => s,14,Background(rjs-evening-welcome) > > ; The Voice Menu > exten => s,15,Background(rjs-if-you-know-the-extension) > exten => s,16,Wait,1 > exten => s,17,BackGround(to-dial-by-name-press) ; Play some instructions > exten => s,18,BackGround(digits/2) ; Play some instructions > > ; A timeout and "invalid extension rule" > ; > exten => t,1,Goto(s,15) ; If they take too long, give up > exten => i,1,Playback(invalid) ; "That's not valid, try again" > > ; If they know the extension, send them on. > exten => 1,1,Goto(extension_is_known,s,1) > > ; Allow users the ability to get Directory listing (user must be in voicemail.conf) > exten => 2,1,Directory,default|internal_extensions >-- Steven Critchfield <critch@basesys.com>