[asterisk-users] How can we pickup a call that is not going to a real extension?
Eric Chamberlain
eric at rf.com
Thu Feb 25 18:41:31 CST 2010
Hello,
We have a situation where a call comes in, users are notified via an external process (curl request to web service), and we can't answer the call until a callee can call in and pickup the call.
How can we implement this functionality?
We tried using :
[caller-inbound-leg]
; code to send the CALL_UUID information to users.
exten => _[+0-9a-zA-Z*#_].,n(r203),Dial(LOCAL/${CALL_UUID}@inbound-wait-loop,,r) ; wait for call pickup from callee's inbound leg
[inbound-wait-loop]
exten => _[+0-9a-zA-Z*#_].,1,Wait(30)
[callee-inbound-leg]
; code to figure out the CALL_UUID used for the callee-leg
exten => _[+0-9a-zA-Z*#_].,n,Pickup(${CALL_UUID}@inbound-wait-loop)
We thought Pickup() would work, but it only seems to work if the call is in the Dial state.
The logs have results like:
-- Executing [5552233 at caller-inbound-leg:8] Pickup("SIP/20678350-5cd1-11de-bcf8-123139006632-0000004e", "14f0dff4-9a34-11dd-93fd-0015588ab9f3 at inbound-wait-loop") in new stack
[2010-02-25 19:20:28.936] NOTICE[18759]: app_directed_pickup.c:294 pickup_exec: No target channel found for 14f0dff4-9a34-11dd-93fd-0015588ab9f3.
Is there a way for a callee to pickup a call in the Wait state?
--
Eric Chamberlain
More information about the asterisk-users
mailing list