I ran updates last Thursday night and the IVR direct dial ceased to function (Edge mode is not enabled, no). The same results happened on two different servers I manage. The last time I ran updates was probably 4 weeks or so prior to last Thursday. I’ve been a little bit gunshy lately and got burned again.
I restored my VM to before I did the updates and the IVR Ext Direct Dial is working again for now, but I would like to figure it out so I can correct it long term and get my updates running again.
This is everything “in the wings” for one of the two servers that had this issue after updating
There are 34 modules available for online upgrades backup 13.0.21.9 (current: 13.0.21.8) blacklist 13.0.10 (current: 13.0.9) bria 13.0.13 (current: 13.0.12) cdr 13.0.28 (current: 13.0.27) certman 13.0.20 (current: 13.0.12) conferencespro 13.0.21 (current: 13.0.20) contactmanager 13.0.28 (current: 13.0.21) core 13.0.75 (current: 13.0.67) dahdiconfig 13.0.14 (current: 13.0.13) dashboard 13.0.22.1 (current: 13.0.21) daynight 13.0.10 (current: 13.0.9) endpoint 13.0.50.1 (current: 13.0.28) extensionroutes 13.0.9.1 (current: 13.0.6) findmefollow 13.0.29 (current: 13.0.28) firewall 13.0.27.1 (current: 13.0.21) framework 13.0.113 (current: 13.0.101) freepbx_ha 13.0.8.5 (current: 13.0.7.2) paging 13.0.14.1 (current: 13.0.14) recording_report 13.0.21 (current: 13.0.20) restapi 13.0.18.6 (current: 13.0.18.3) restapps 13.0.27 (current: 13.0.13) ringgroups 13.0.18 (current: 13.0.17) sipsettings 13.0.19 (current: 13.0.18) soundlang 13.0.11 (current: 13.0.10) superfecta 13.0.3.12 (current: 13.0.3.10) sysadmin 13.0.56.1 (current: 13.0.49) timeconditions 13.0.29 (current: 13.0.26) ucp 13.0.30 (current: 13.0.27) userman 13.0.61 (current: 13.0.55) voicemail 13.0.43 (current: 13.0.37) vqplus 13.0.20 (current: 13.0.19) webrtc 13.0.20 (current: 13.0.16) xmpp 13.0.9 (current: 13.0.6) zulu 13.0.41 (current: 13.0.40)
The server is running
Asterisk 13.7.2
Free PBX 13.0.101
PHP 5.3.28
PBX Firmware 6.12.65-35 SP1.0.0.0
Below is the call trace showing the failure of the Direct Dial from the IVR. I can verify that the 342 ext exists it’s on my desk and works otherwise. All other options work on the IVR and it’s not DTMF my numbers are coming through as expected in the trace.
[2016-05-09 13:17:48] VERBOSE[10879][C-0000001f] pbx.c: Executing [s@ivr-1:3] Set("SIP/TDS-0000003e", "_IVR_CONTEXT=ivr-1") in new stack
[2016-05-09 13:17:48] VERBOSE[10879][C-0000001f] pbx.c: Executing [s@ivr-1:4] Set("SIP/TDS-0000003e", "__IVR_RETVM=RETURN") in new stack
[2016-05-09 13:17:48] VERBOSE[10879][C-0000001f] pbx.c: Executing [s@ivr-1:5] GotoIf("SIP/TDS-0000003e", "0?skip") in new stack
[2016-05-09 13:17:48] VERBOSE[10879][C-0000001f] pbx.c: Executing [s@ivr-1:6] Answer("SIP/TDS-0000003e", "") in new stack
[2016-05-09 13:17:49] VERBOSE[10879][C-0000001f] pbx.c: Executing [s@ivr-1:7] Wait("SIP/TDS-0000003e", "1") in new stack
[2016-05-09 13:17:50] VERBOSE[10879][C-0000001f] pbx.c: Executing [s@ivr-1:8] Set("SIP/TDS-0000003e", "IVR_MSG=custom/IVR_DAY_WELCOME") in new stack
[2016-05-09 13:17:50] VERBOSE[10879][C-0000001f] pbx.c: Executing [s@ivr-1:9] Set("SIP/TDS-0000003e", "TIMEOUT(digit)=3") in new stack
[2016-05-09 13:17:50] VERBOSE[10879][C-0000001f] func_timeout.c: Digit timeout set to 3.000
[2016-05-09 13:17:50] VERBOSE[10879][C-0000001f] pbx.c: Executing [s@ivr-1:10] ExecIf("SIP/TDS-0000003e", "1?Background(custom/IVR_DAY_WELCOME)") in new stack
[2016-05-09 13:17:50] VERBOSE[10879][C-0000001f] file.c: <SIP/TDS-0000003e> Playing 'custom/IVR_DAY_WELCOME.slin' (language 'en')
[2016-05-09 13:17:59] VERBOSE[10879][C-0000001f] pbx.c: Invalid extension '342' in context 'ivr-1' on SIP/TDS-0000003e
[2016-05-09 13:17:59] VERBOSE[10879][C-0000001f] pbx.c: Executing [i@ivr-1:1] Set("SIP/TDS-0000003e", "INVALID_LOOPCOUNT=1") in new stack
[2016-05-09 13:17:59] VERBOSE[10879][C-0000001f] pbx.c: Executing [i@ivr-1:2] GotoIf("SIP/TDS-0000003e", "0?final") in new stack
[2016-05-09 13:17:59] VERBOSE[10879][C-0000001f] pbx.c: Executing [i@ivr-1:3] Set("SIP/TDS-0000003e", "IVR_MSG=no-valid-responce-pls-try-again&custom/IVR_DAY_WELCOME") in new stack
[2016-05-09 13:17:59] VERBOSE[10879][C-0000001f] pbx.c: Executing [i@ivr-1:4] Goto("SIP/TDS-0000003e", "s,start") in new stack
[2016-05-09 13:17:59] VERBOSE[10879][C-0000001f] pbx.c: Goto (ivr-1,s,9)
[2016-05-09 13:17:59] VERBOSE[10879][C-0000001f] pbx.c: Executing [s@ivr-1:9] Set("SIP/TDS-0000003e", "TIMEOUT(digit)=3") in new stack
[2016-05-09 13:17:59] VERBOSE[10879][C-0000001f] func_timeout.c: Digit timeout set to 3.000
[2016-05-09 13:17:59] VERBOSE[10879][C-0000001f] pbx.c: Executing [s@ivr-1:10] ExecIf("SIP/TDS-0000003e", "1?Background(no-valid-responce-pls-try-again&custom/IVR_DAY_WELCOME)") in new stack
[2016-05-09 13:17:59] VERBOSE[10879][C-0000001f] file.c: <SIP/TDS-0000003e> Playing 'no-valid-responce-pls-try-again.slin' (language 'en')
[2016-05-09 13:18:03] VERBOSE[10879][C-0000001f] file.c: <SIP/TDS-0000003e> Playing 'custom/IVR_DAY_WELCOME.slin' (language 'en')
[2016-05-09 13:18:05] VERBOSE[10879][C-0000001f] pbx.c: Spawn extension (ivr-1, s, 10) exited non-zero on 'SIP/TDS-0000003e'
[2016-05-09 13:18:05] VERBOSE[10879][C-0000001f] pbx.c: Executing [h@ivr-1:1] Hangup("SIP/TDS-0000003e", "") in new stack
[2016-05-09 13:18:05] VERBOSE[10879][C-0000001f] pbx.c: Spawn extension (ivr-1, h, 1) exited non-zero on 'SIP/TDS-0000003e'
Here is what my ivr dialplan looks like.
asterisk -x "dialplan show ivr-1"
[ Context 'ivr-1' created by 'pbx_config' ]
'#' => 1. Goto(ext-featurecodes,*98,1) [pbx_config]
'0' => 1. Goto(app-daynight,0,1) [pbx_config]
'2' => 1. Goto(directory,1,1) [pbx_config]
'307' => 1. Goto(ext-group,307,1) [pbx_config]
'308' => 1. Goto(ext-group,308,1) [pbx_config]
'309' => 1. Goto(ivr-8,s,1) [pbx_config]
'321' => 1. Goto(timeconditions,2,1) [pbx_config]
'337' => 1. Goto(ext-group,337,1) [pbx_config]
'4' => 1. Goto(from-did-direct,324,1) [pbx_config]
'5' => 1. Goto(from-did-direct,310,1) [pbx_config]
'6' => 1. Goto(ext-group,307,1) [pbx_config]
'7' => 1. Goto(ext-group,308,1) [pbx_config]
'fax' => 1. Goto(${CUT(FAX_DEST,^,1)},${CUT(FAX_DEST,^,2)},${CUT(FAX_DEST,^,3)}) [pbx_config]
'h' => 1. Hangup() [pbx_config]
'hang' => 1. Playback(vm-goodbye) [pbx_config]
2. Hangup() [pbx_config]
'i' => 1. Set(INVALID_LOOPCOUNT=$[${INVALID_LOOPCOUNT}+1]) [pbx_config]
2. GotoIf($[${INVALID_LOOPCOUNT} > 3]?final) [pbx_config]
3. Set(IVR_MSG=no-valid-responce-pls-try-again&custom/IVR_DAY_WELCOME) [pbx_config]
4. Goto(s,start) [pbx_config]
[final] 5. Playback(no-valid-responce-transfering) [pbx_config]
6. Goto(ivr-1,s,1) [pbx_config]
'return' => 1. Set(_IVR_CONTEXT=${CONTEXT}) [pbx_config]
2. Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}}) [pbx_config]
3. Set(IVR_MSG=custom/IVR_DAY_WELCOME) [pbx_config]
4. Goto(s,start) [pbx_config]
's' => 1. Set(INVALID_LOOPCOUNT=0) [pbx_config]
2. Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT}) [pbx_config]
3. Set(_IVR_CONTEXT=${CONTEXT}) [pbx_config]
4. Set(__IVR_RETVM=RETURN) [pbx_config]
5. GotoIf($["${CHANNEL(state)}" = "Up"]?skip) [pbx_config]
6. Answer() [pbx_config]
7. Wait(1) [pbx_config]
[skip] 8. Set(IVR_MSG=custom/IVR_DAY_WELCOME) [pbx_config]
[start] 9. Set(TIMEOUT(digit)=3) [pbx_config]
10. ExecIf($["${IVR_MSG}" != ""]?Background(${IVR_MSG})) [pbx_config]
11. WaitExten(10,) [pbx_config]
't' => 1. Playback(no-valid-responce-transfering) [pbx_config]
2. Goto(app-daynight,0,1) [pbx_config]
Include => 'ivr-1-custom' [pbx_config]
Include => 'from-did-direct-ivr' [pbx_config]
-= 19 extensions (39 priorities) in 1 context. =-