Relevant portion of extensions.conf:
------------------------------------
[park_features]
;exten => *74,1,ParkAndAnnounce(PARKED,20,Local/s@ParkedAt)
exten => *74,1,ParkAndAnnounce(PARKED,,Local/s@ParkedAt)
exten => *74,2,Noop(Call timed out, erasing Parking Slot Number since call isn't there anymore, it's here)
exten => *74,n,Set(DB(MYPARKLOT/LastParkedAt)=)
exten => *74,n,Noop(Ok, the person you've parked is back here... What are you gonna do?)
exten => *74,n,Goto(ring_all,6044840151,1)
exten => *75,1,Noop(Going to pick up the last parked call)
exten => *75,n,Set(PARKEDAT=DB(MYPARKLOT/LastParkedAt))
exten => *75,n,Set(DB(MYPARKLOT/LastParkedAt)=)
exten => *75,n,ParkedCall(${PARKEDAT})
[ParkedAt]
exten => s,1,Noop(Call was parked at ${PARKEDAT})
exten => s,n,Set(DB(MYPARKLOT/LastParkedAt)=${PARKEDAT})
exten => s,n,Hangup
Log of what happens:
--------------------
-- Executing [6044840154@incoming:1] Macro("IAX2/westcansurrey-2", "incoming|6044840154") in new stack
-- Executing [s@macro-incoming:1] Wait("IAX2/westcansurrey-2", "1") in new stack
-- Executing [s@macro-incoming:2] NoOp("IAX2/westcansurrey-2", "CALLERID(num)=6047283777 & CALLERID(name)=") in new stack
-- Executing [s@macro-incoming:3] GotoIf("IAX2/westcansurrey-2", "0?4:6") in new stack
-- Goto (macro-incoming,s,6)
-- Executing [s@macro-incoming:6] Goto("IAX2/westcansurrey-2", "ring_all|6044840154|1") in new stack
-- Goto (ring_all,6044840154,1)
== Channel 'IAX2/westcansurrey-2' jumping out of macro 'incoming'
-- Executing [6044840154@ring_all:1] Goto("IAX2/westcansurrey-2", "park_features|*74|1") in new stack
-- Goto (park_features,*74,1)
-- Executing [*74@park_features:1] ParkAndAnnounce("IAX2/westcansurrey-2", "PARKED||Local/s@ParkedAt") in new stack
-- Dial Tech,String: (Local,s@ParkedAt)
-- Return Context: (park_features,*74,2) ID: 6047283777
-- Started music on hold, class 'default', on IAX2/westcansurrey-2
== Parked IAX2/westcansurrey-2 on 701@parkedcalls. Will timeout back to extension [park_features] *74, 2 in 45 seconds
-- Added extension '701' priority 1 to parkedcalls
-- Call Parking Called, lot: 701, timeout: 0, context: (null)
-- Executing [s@ParkedAt:1] NoOp("Local/s@ParkedAt-c448,2", "Call was parked at 701") in new stack
-- Executing [s@ParkedAt:2] Set("Local/s@ParkedAt-c448,2", "DB(MYPARKLOT/LastParkedAt)=701") in new stack
-- Executing [s@ParkedAt:3] Hangup("Local/s@ParkedAt-c448,2", "") in new stack
== Spawn extension (ParkedAt, s, 3) exited non-zero on 'Local/s@ParkedAt-c448,2'
[Oct 23 10:30:54] NOTICE[749]: cdr.c:434 ast_cdr_free: CDR on channel 'Local/s@ParkedAt-c448,1' not posted
[Oct 23 10:30:54] WARNING[749]: app_parkandannounce.c:200 parkandannounce_exec: PARK: Unable to allocate announce channel.
== Spawn extension (park_features, *74, 2) exited non-zero on 'Parked/IAX2/westcansurrey-2<ZOMBIE>'
[Oct 23 10:30:54] NOTICE[749]: cdr.c:434 ast_cdr_free: CDR on channel 'Parked/IAX2/westcansurrey-2' not posted
[Oct 23 10:30:54] NOTICE[750]: cdr.c:434 ast_cdr_free: CDR on channel 'Local/s@ParkedAt-c448,2' not posted
-- Stopped music on hold on IAX2/westcansurrey-2
== IAX2/westcansurrey-2 got tired of being parked
-- Hungup 'IAX2/westcansurrey-2'
[Oct 23 10:31:03] NOTICE[31226]: cdr.c:434 ast_cdr_free: CDR on channel 'IAX2/westcansurrey-2' not posted