Parking Not Working

We upgraded FreePBX Distro to version 6.12.65-15 and now parking does not work. When you try to transfer to extension 70 we get the following:

-- Executing [70@from-internal-xfer:3] GotoIf("Local/70@from-internal-xfer-0000048a;2", "1?restrictedroute-1-2,70,2:outbound-allroutes,70,2") in new stack
-- Goto (restrictedroute-1-2,70,2)

[2014-09-25 10:17:46] WARNING[50867][C-00000727]: pbx.c:6445 __ast_pbx_run: Channel ‘Local/70@from-internal-xfer-0000048a;2’ sent to invalid extension but no invalid handler: context,exten,priority=restrictedroute-1-2,70,2
– Channel Local/70@from-internal-xfer-0000048a;1 left ‘simple_bridge’ basic-bridge <477e1ad4-33c7-481d-8732-29cc3a9e14e1>

We completely uninstalled and removed park and park pro and then reinstalled and that did not work. We bought the park pro license to see if that module would work and it does not. We tried creating multiple parking lots with no luck. Any help would be appreciated. Thanks!

Uninstall extension routes. You are being blocked by that not by parking

That did not resolve the issue. Now it comes back invalid extension. The context being used is from-internal-xfer and here is what the dialplan has

[ Context ‘from-internal-xfer’ created by ‘pbx_config’ ]
‘h’ => 1. Macro(hangupcall) [pbx_config]
‘s’ => 1. Macro(hangupcall) [pbx_config]
Include => ‘from-internal-custom’ [pbx_config]
Include => ‘from-internal-additional’ [pbx_config]

[ Context ‘from-internal-custom’ created by ‘pbx_config’ ]

[ Context ‘from-internal-additional’ created by ‘pbx_config’ ]
‘h’ => 1. Hangup() [pbx_config]
Include => ‘app-blacklist’ [pbx_config]
Include => ‘app-cf-busy-off’ [pbx_config]
Include => ‘app-cf-busy-off-any’ [pbx_config]
Include => ‘app-cf-busy-on’ [pbx_config]
Include => ‘app-cf-busy-prompting-on’ [pbx_config]
Include => ‘app-cf-off’ [pbx_config]
Include => ‘app-cf-off-any’ [pbx_config]
Include => ‘app-cf-on’ [pbx_config]
Include => ‘app-cf-prompting-on’ [pbx_config]
Include => ‘app-cf-unavailable-off’ [pbx_config]
Include => ‘app-cf-unavailable-on’ [pbx_config]
Include => ‘app-cf-unavailable-prompt-on’ [pbx_config]
Include => ‘app-cf-toggle’ [pbx_config]
Include => ‘ext-cf-hints’ [pbx_config]
Include => ‘app-callwaiting-cwoff’ [pbx_config]
Include => ‘app-callwaiting-cwon’ [pbx_config]
Include => ‘app-campon-cancel’ [pbx_config]
Include => ‘app-campon-request’ [pbx_config]
Include => ‘app-campon-toggle’ [pbx_config]
Include => ‘ext-meetme’ [pbx_config]
Include => ‘app-dictate-record’ [pbx_config]
Include => ‘app-dictate-send’ [pbx_config]
Include => ‘app-dnd-off’ [pbx_config]
Include => ‘app-dnd-on’ [pbx_config]
Include => ‘app-dnd-toggle’ [pbx_config]
Include => ‘ext-dnd-hints’ [pbx_config]
Include => ‘app-fax’ [pbx_config]
Include => ‘app-fmf-toggle’ [pbx_config]
Include => ‘ext-findmefollow’ [pbx_config]
Include => ‘fmgrps’ [pbx_config]
Include => ‘app-hotelwakeup’ [pbx_config]
Include => ‘app-calltrace’ [pbx_config]
Include => ‘app-echo-test’ [pbx_config]
Include => ‘app-speakextennum’ [pbx_config]
Include => ‘app-speakingclock’ [pbx_config]
Include => ‘app-miscapps’ [pbx_config]
Include => ‘ext-intercom-users’ [pbx_config]
Include => ‘app-pbdirectory’ [pbx_config]
Include => ‘ext-queues’ [pbx_config]
Include => ‘app-recordings’ [pbx_config]
Include => ‘ext-group’ [pbx_config]
Include => ‘grps’ [pbx_config]
Include => ‘app-speeddial’ [pbx_config]
Include => ‘timeconditions-toggles’ [pbx_config]
Include => ‘vmblast-grp’ [pbx_config]
Include => ‘app-dialvm’ [pbx_config]
Include => ‘app-vmmain’ [pbx_config]
Include => ‘park-hints’ [pbx_config]
Include => ‘app-parkandannounce’ [pbx_config]
Include => ‘app-parkandannouncetimeout’ [pbx_config]
Include => ‘app-userlogonoff’ [pbx_config]
Include => ‘ext-local-confirm’ [pbx_config]
Include => ‘findmefollow-ringallv2’ [pbx_config]
Include => ‘app-pickup’ [pbx_config]
Include => ‘app-chanspy’ [pbx_config]
Include => ‘ext-test’ [pbx_config]
Include => ‘ext-local’ [pbx_config]
Include => ‘outbound-allroutes’ [pbx_config]

I dont see anything relating to park in the dialplan which is where I think the issue is. I added this to the from-internal-custom for testing

[from-internal-custom]
exten => 70,1,Macro(parked-call)
exten => 70,n,Hangup()

When transferring to park you get

[2014-09-25 12:30:02] WARNING[2291][C-00000999]: pbx.c:4858 pbx_extension_helper: No application ‘Park’ for extension (macro-parked-call, s, 22)
== Spawn extension (macro-parked-call, s, 22) exited non-zero on ‘Local/70@from-internal-xfer-00000541;2’ in macro ‘parked-call’
== Spawn extension (from-internal-xfer, 70, 1) exited non-zero on ‘Local/70@from-internal-xfer-00000541;2’

The macro-parked-call is

[macro-parked-call]
exten => s,1,GotoIf($[${LEN(${PARKRETURNTO})} > 0]?backtosender)
exten => s,n,GotoIf($[${LEN(${BLINDTRANSFER})} > 0 | ${LEN(${ATTENDEDTRANSFER})} > 0]?attemptpark)
exten => s,n,AGI(parkfetch.agi,${ARG1},${ARG2})
exten => s,n,GotoIf($["${REC_STATUS}" != “RECORDING”]?next)
exten => s,n,Set(AUDIOHOOK_INHERIT(MixMonitor)=yes)
exten => s,n,Set(CDR(recordingfile)=${CALLFILENAME}.${MON_FMT})
exten => s,n,MixMonitor(${MIXMON_DIR}${YEAR}/${MONTH}/${DAY}/${CALLFILENAME}.${MIXMON_FORMAT},a,${MIXMON_POST})
exten => s,n(next),Set(CCSS_SETUP=TRUE)
exten => s,n,Macro(user-callerid,)
exten => s,n,GotoIf($["${ARG1}" = “” | ${DIALPLAN_EXISTS(${IF($["${ARG2}" = “default”]?parkedcalls:${ARG2})},${ARG1},1)} = 1]?pcall)
exten => s,n,ResetCDR()
exten => s,n,NoCDR()
exten => s,n,Wait(1)
exten => s,n,Playback(pbx-invalidpark)
exten => s,n,Wait(1)
exten => s,n,Hangup
exten => s,n(pcall),Noop(User: ${CALLERID(all)} attempting to pick up Parked Call Slot ${ARG1})
exten => s,n,ParkedCall(${ARG2},${ARG1})
exten => s,n(attemptpark),Noop(User: ${CALLERID(all)} attempting to Park into slot ${ARG1})
exten => s,n,Set(PARKINGEXTEN=${ARG1})
exten => s,n,ExecIf($[${LEN(${BLINDTRANSFER})} > 0]?Set(PARKRETURNTO=${CUT(BLINDTRANSFER,-,1)}):Set(PARKRETURNTO=${CUT(ATTENDEDTRANSFER,-,1)}))
exten => s,n,Park(${ARG2},sc(${CONTEXT},s,200))
exten => s,1+199(backtosender),Noop(Doing important stuff)
exten => s,n,Set(PARKCALLBACK=${PARKRETURNTO})
exten => s,n,Set(PARKRETURNTO=)
exten => s,n,Dial(${PARKCALLBACK},15,tr)
exten => s,n,Goto(park-return-routing,${ARG1},1)

exten => h,1,Macro(hangupcall,)

The parking module was not loaded when we went from asterisk 11 to 12. This was fixed by doing

module load res_parking.so

1 Like