Hi there,
let me quickly describe first what I’m trying to do: I’m trying to set up an IVR that should simply act as some kind of access code menu. The idea is that when entering this IVR there is a voice prompt to enter a numeric code which then leads to another IVR.
(For the inevitable questions about my reasoning: The 2nd IVR allows reaching certain peoples extensions directly and the access code is to prevent “everyone” from doing it. It doesn’t need to be super secure, the worst thing that can happen here would be a loss of time for the callee)
Anyway, so I set up this IVR as follows:
Direct dialing is disabled.
Timeout retries are set to 0, timeout destination is hangup.
There is one entry, the 4 digit “access code” that leads to another IVR.
What I intended was that the caller gets 3 tries to enter the code. But: Any entries other than the code (this part works) lead to the timeout announcement and a hangup.
What I expected was that entering any other number would lead to the “Invalid” announcement.
So when I e.g. enter 7896 it shows up as follows in the log:
[2019-07-06 16:35:02] VERBOSE[3897][C-0000001d] pbx.c: Executing [s@ivr-1:12] ExecIf(“PJSIP/sip-mobile-00000020”, “1?Set(DIGITS=7896)”) in new stack
[2019-07-06 16:35:02] VERBOSE[3897][C-0000001d] pbx.c: Executing [s@ivr-1:13] While(“PJSIP/sip-mobile-00000020”, "1 ") in new stack
[2019-07-06 16:35:02] VERBOSE[3897][C-0000001d] pbx.c: Executing [s@ivr-1:14] Read(“PJSIP/sip-mobile-00000020”, “IVREXT,1,0,10”) in new stack
[2019-07-06 16:35:02] VERBOSE[3897][C-0000001d] app_read.c: Accepting a maximum of 1 digits.
[2019-07-06 16:35:12] VERBOSE[3897][C-0000001d] app_read.c: User entered nothing.
When I enter the code (1234) it logs as follows:
2019-07-06 16:35:46] VERBOSE[4128][C-0000001e] app_read.c: User entered ‘4’
[2019-07-06 16:35:46] VERBOSE[4128][C-0000001e] pbx.c: Executing [s@ivr-1:15] Set(“PJSIP/sip-mobile-00000021”, “IVR_MSG=”) in new stack
[2019-07-06 16:35:46] VERBOSE[4128][C-0000001e] pbx.c: Executing [s@ivr-1:16] GotoIf(“PJSIP/sip-mobile-00000021”, “0?t,1”) in new stack
[2019-07-06 16:35:46] VERBOSE[4128][C-0000001e] pbx.c: Executing [s@ivr-1:17] NoOp(“PJSIP/sip-mobile-00000021”, “”) in new stack
[2019-07-06 16:35:46] VERBOSE[4128][C-0000001e] pbx.c: Executing [s@ivr-1:18] GotoIf(“PJSIP/sip-mobile-00000021”, “0?beforewhile:nodedial”) in new stack
[2019-07-06 16:35:46] VERBOSE[4128][C-0000001e] pbx_builtins.c: Goto (ivr-1,s,21)
[2019-07-06 16:35:46] VERBOSE[4128][C-0000001e] pbx.c: Executing [s@ivr-1:21] Goto(“PJSIP/sip-mobile-00000021”, “1234,1”) in new stack
[2019-07-06 16:35:46] VERBOSE[4128][C-0000001e] pbx_builtins.c: Goto (ivr-1,1234,1)
[2019-07-06 16:35:46] VERBOSE[4128][C-0000001e] pbx.c: Executing [1234@ivr-1:1] Set(“PJSIP/sip-mobile-00000021”, “__ivrreturn=0”) in new stack
[2019-07-06 16:35:46] VERBOSE[4128][C-0000001e] pbx.c: Executing [1234@ivr-1:2] Goto(“PJSIP/sip-mobile-00000021”, “ivr-2,s,1”) in new stack
[2019-07-06 16:35:46] VERBOSE[4128][C-0000001e] pbx_builtins.c: Goto (ivr-2,s,1)
Any pointers to what I might be doing wrong would be greatly appreciated! Thank you!