Delay before playing message when switching from an IVR to another one


#1

Hello,

FreePBX 15.0.16.81
Asterisk 16.15.1

I have 2 versions of a menu (recording) , French and English. Before that, there is a welcome message that let you choose English by pressing 8 ( and French is the default). However, while playing the French version, you can still press 8 to get English and while playing the English, you can also press 9 to get the French menu.

Switching from one version of the menu to the other one takes about 4-5 seconds. I checked the logs and I dont see any activity in that time. Here is an example:

[2021-07-02 14:03:06] VERBOSE[32663][C-0000003b] file.c: <SIP/Allstream-0000004c> Playing 'custom/GA_WorkHours_FR5.slin' (language 'fr')
[2021-07-02 14:03:11] VERBOSE[32663][C-0000003b] pbx.c: Executing [8@ivr-8:1] Set("SIP/Allstream-0000004c", "__ivrreturn=0") in new stack
[2021-07-02 14:03:11] VERBOSE[32663][C-0000003b] pbx.c: Executing [8@ivr-8:1] Set("SIP/Allstream-0000004c", "__ivrreturn=0") in new stack
[2021-07-02 14:03:11] VERBOSE[32663][C-0000003b] pbx.c: Executing [8@ivr-8:2] Goto("SIP/Allstream-0000004c", "app-languages,6,1") in new stack
[2021-07-02 14:03:11] VERBOSE[32663][C-0000003b] pbx.c: Executing [8@ivr-8:2] Goto("SIP/Allstream-0000004c", "app-languages,6,1") in new stack
[2021-07-02 14:03:11] VERBOSE[32663][C-0000003b] pbx_builtins.c: Goto (app-languages,6,1)
[2021-07-02 14:03:11] VERBOSE[32663][C-0000003b] pbx_builtins.c: Goto (app-languages,6,1)
[2021-07-02 14:03:11] VERBOSE[32663][C-0000003b] pbx.c: Executing [6@app-languages:1] NoOp("SIP/Allstream-0000004c", "Changing Channel to language: en (GA_SetLanEN_LAN)") in new stack
[2021-07-02 14:03:11] VERBOSE[32663][C-0000003b] pbx.c: Executing [6@app-languages:1] NoOp("SIP/Allstream-0000004c", "Changing Channel to language: en (GA_SetLanEN_LAN)") in new stack
[2021-07-02 14:03:11] VERBOSE[32663][C-0000003b] pbx.c: Executing [6@app-languages:2] Set("SIP/Allstream-0000004c", "CHANNEL(language)=en") in new stack

[more stuff removed]

[2021-07-02 14:03:11] VERBOSE[32663][C-0000003b] pbx.c: Executing [s@ivr-7:7] Set("SIP/Allstream-0000004c", "TIMEOUT(digit)=3") in new stack
[2021-07-02 14:03:11] VERBOSE[32663][C-0000003b] func_timeout.c: Digit timeout set to 3.000
[2021-07-02 14:03:11] VERBOSE[32663][C-0000003b] func_timeout.c: Digit timeout set to 3.000
[2021-07-02 14:03:11] VERBOSE[32663][C-0000003b] pbx.c: Executing [s@ivr-7:8] ExecIf("SIP/Allstream-0000004c", "1?Background(custom/GA_WorkHours_EN5)") in new stack
[2021-07-02 14:03:11] VERBOSE[32663][C-0000003b] pbx.c: Executing [s@ivr-7:8] ExecIf("SIP/Allstream-0000004c", "1?Background(custom/GA_WorkHours_EN5)") in new stack
[2021-07-02 14:03:11] VERBOSE[32663][C-0000003b] file.c: <SIP/Allstream-0000004c> Playing 'custom/GA_WorkHours_EN5.slin' (language 'en')
[2021-07-02 14:03:11] VERBOSE[32663][C-0000003b] file.c: <SIP/Allstream-0000004c> Playing 'custom/GA_WorkHours_EN5.slin' (language 'en')

As you can see, it started playing the FR version at 14:03:06. Right at the beginning of that message, I pressed 8 . The FR message stopped playing immediately and it took about 4-5 sec before the EN version starts. We can see in the log that asterisk wakes up at 14:03:11, executes a few actions and starts playing in the very same second ( 14:03:11 ). So, the 4-5 sec of silence was before the wake up (i.e. between 14:03:06 and 14:03:11).

I get the same delay if go from EN to FR or FR to EN.

What is causing that delay ?

Note that I checked the messages and they dont have any silence at the beginning or the end.

Thank you

Gilbert


#2

It is presumably waiting the Timeout to see whether more digits will be input.
Assuming that you don’t have an actual conflict (such as multi-digit IVR options, or extension numbers beginning with the same digits as IVR options), try setting Force Strict Dial Timeout to No - Legacy.

If there are conflicting options, consider reducing Timeout to e.g. 2 or 3 seconds. Add some silence at the end of the Announcement so the user will still have 5 seconds to enter the first digit.


#3

Thank you for the reply.

Good point about the timeout. The setting was already set to Force Strict Dial Timeout to No - Legacy

However, I believe that the timeout that I perceive is not the one entered in the IVR settings. I tried 1 and 10 sec and did not see any difference, the delay perceived is not changed by that setting. But if I disable the direct dialing of extensions in the ivr, the delay is eliminated. And if I dont do anything, it takes 10 sec to move to the default destination as expeced (my timeout was set to 10).

So, my next question: is there a way to change the default timeout when doing a direct dialing ? Is that set in the dial plan ?


(system) closed #4

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.