Different IVR routes (success vs error) when auto-dialing an extension on iPhone vs Android (Pixel)

An employee on an iPhone has a saved contact that dials his office extension: 1-555-555-1212,1021. He states that before a few weeks ago this worked fine, and now it doesn’t. It dials all 4 digits of his extension in under a second.

[2023-05-10 16:44:44] VERBOSE[75136][C-000000a9] pbx.c: Executing [s@ivr-1:10] ExecIf("PJSIP/5555551212-00000069", "1?Background(custom/corp-greeting)") in new stack
[2023-05-10 16:44:44] VERBOSE[75136][C-000000a9] file.c: <PJSIP/5555551212-00000069> Playing 'custom/corp-greeting.slin' (language 'en')
[2023-05-10 16:44:51] VERBOSE[75136][C-000000a9] pbx.c: Executing [102211@ivr-1:1] GotoIf("PJSIP/5555551212-00000069", "1?i,1") in new stack
[2023-05-10 16:44:51] VERBOSE[75136][C-000000a9] pbx_builtins.c: Goto (ivr-1,i,1)
[2023-05-10 16:44:51] VERBOSE[75136][C-000000a9] pbx.c: Executing [i@ivr-1:1] Set("PJSIP/5555551212-00000069", "INVALID_LOOPCOUNT=1") in new stack
[2023-05-10 16:44:51] VERBOSE[75136][C-000000a9] pbx.c: Executing [i@ivr-1:2] GotoIf("PJSIP/5555551212-00000069", "0?final") in new stack
[2023-05-10 16:44:51] VERBOSE[75136][C-000000a9] pbx.c: Executing [i@ivr-1:3] Set("PJSIP/5555551212-00000069", "IVR_MSG=no-valid-responce-pls-try-again") in new stack
[2023-05-10 16:44:51] VERBOSE[75136][C-000000a9] pbx.c: Executing [i@ivr-1:4] Goto("PJSIP/5555551212-00000069", "s,start") in new stack
[2023-05-10 16:44:51] VERBOSE[75136][C-000000a9] pbx_builtins.c: Goto (ivr-1,s,9)
[2023-05-10 16:44:51] VERBOSE[75136][C-000000a9] pbx.c: Executing [s@ivr-1:9] Set("PJSIP/5555551212-00000069", "TIMEOUT(digit)=3") in new stack
[2023-05-10 16:44:51] VERBOSE[75136][C-000000a9] func_timeout.c: Digit timeout set to 3.000
[2023-05-10 16:44:51] VERBOSE[75136][C-000000a9] pbx.c: Executing [s@ivr-1:10] ExecIf("PJSIP/5555551212-00000069", "1?Background(no-valid-responce-pls-try-again)") in new stack
[2023-05-10 16:44:51] VERBOSE[75136][C-000000a9] file.c: <PJSIP/5555551212-00000069> Playing 'no-valid-responce-pls-try-again.slin' (language 'en')
[2023-05-10 16:44:55] VERBOSE[75136][C-000000a9] pbx.c: Executing [s@ivr-1:11] WaitExten("PJSIP/5555551212-00000069", "10,") in new stack

When I try the same thing on my Google Pixel phone, it dials the extension MUCH faster (like all 4 digits within 1/4 of a second) and I get connected just fine.

If I go into IVR settings -> Force Strict Dial Timeout and set it from No - Legacy to Yes, it will log the attempted extension entry…when dialing the extension by hand 2x and then via iPhone 2x, i see:

/var/log/asterisk/full:[2023-05-10 16:57:20] VERBOSE[77461][C-000000ad] app_read.c: User entered '1021'
/var/log/asterisk/full:[2023-05-10 16:58:13] VERBOSE[78092][C-000000ae] app_read.c: User entered '1021'
/var/log/asterisk/full:[2023-05-10 16:59:13] VERBOSE[78302][C-000000af] app_read.c: User entered '1002211'
/var/log/asterisk/full:[2023-05-10 16:59:28] VERBOSE[78334][C-000000b0] app_read.c: User entered '1002211'

So obviously it looks like the iPhone is doubling up numbers, but is that only during Yes setting and not No - Legacy? Is there a way to log the Legacy extension that’s dialed in order to be sure this is the case? is this just a known problem with iPhones that I should just Google? Lol…thanks!

In Settings → Asterisk Logfile Settings → Log Files, check the box for DTMF in the ‘full’ line. Then, all DTMF activity will appear in /var/log/asterisk/full, along with the regular entries.

For troubleshooting, try setting DTMF Mode for the trunk to RFC 4733 and also to Inband, to see whether either setting is more reliable.

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