IVR Key Press / Digit Timeout can't be changed from 3 seconds

I’m trying to increase the digit timeout to 10 seconds. I tried enabling force strict dial timeout then set the Timeout drop down value to 10. IVR digit timeout stays 3.000 seconds.

[2019-08-29 07:47:57] VERBOSE[2916][C-00076876] pbx.c: Executing [[email protected]:10] Set(“SIP/XXXXXXXXX-000236dd”, “TIMEOUT(digit)=3”) in new stack
[2019-08-29 07:47:57] VERBOSE[2916][C-00076876] func_timeout.c: Digit timeout set to 3.000

I believe this is set by the WaitExten() application, which I can’t seem to modify via GUI. Can this value be changed?

The digit timeout it’s referring to 3 is set in one of the IVR php pages but it isn’t what you think it is. It’s the inter-digit timeout. Meaning the IVR has options
Press 1
Press 2
Press 3
Press 101
Then I press 1 it will wait 3 seconds to see if I’m going additionally enter 01 to fully enter 101
If I press 2 the interdigit timeout has no affect as long as I don’t have direct dial extensions enabled.

Are you trying to edit the IVR entry timeout where they don’t press anything, or the inter digit timeout in between button presses because increasing the interdigit timeout to 10 seconds would be very bad, users would press 1 and nothing would happen afterwards for 10 seconds. but the IVR timeout to 10 seconds is pretty normal and ok.

I’m trying to change the inter-digit timeout. I thought this would be able to be changed based on the help text for the “Force Strict Dial Timeout” slider. I enabled strict dial timeout, set the timeout value to 10, but it still timed out in 3 seconds in the following scenario:

IVR has options:

Press 2
Press 222

I pressed 2.

Edit the file “/var/www/html/admin/modules/ivr/functions.inc.php”
Change Change the ext_digittimeout(3)
This will be overridden by updates.

Still I insist though, why do you need a 10 second digit timeout. If the user presses 2 you want them to hear silence for 10 seconds after the hit 2 before the IVR starts actually doing anything? 10 seconds of silence after you press a button is a long time.

I took the time to answer your question with a solution so please take the time to explain why?

Also don’t forget to reload after you edit this file. Like just submit something and Apply Changes so asterisk can reload.

Thanks Aaron!

I don’t want to wait for 10 seconds, I just want the Force strict dial timeout setting to work when I dial 2 in my above scenario. If I had a 1 keypress option and no other keypress options that began with 1, I definitely don’t want to wait for the timeout value I set.

Aside from the technical issue, IMO what you are creating is not user friendly.

If a caller selects option 2 and hears nothing, after ~5 seconds they are likely to either press 2 again, or assume that the line went dead and redial the call.

You should set up the IVR so there is immediate feedback for every key pressed, except when entering an extension number. For extension dialing, 3 seconds is sufficient because the caller knows the complete number ahead of time. If you need to make the delay longer, set up the IVR so your extension range is not used for an option.

For example, if your extensions are 200 through 299, avoid using 2 as an IVR option.

I would agree with that assessment in most cases, but in this case, the IVR is being used as a directory. We can’t use a directory for this because we need to have keypress options for 0 and each extension on the system directly as opposed to only have key press options for the the first 3 digits of each extension’s extension name field.

So, in this scenario callers often need more than 3 seconds to determine the correct keys to press since they don’t know them in advance.

None of this would be an issue is the strict dial timeout setting is working - I just thought it was more likely that I was doing something wrong then the setting is completely not working (i.e. a defect).

Maybe file a bug report on issues.freepbx.org

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