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' [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