Eric Chamberlain
2010-Feb-26 00:41 UTC
[asterisk-users] How can we pickup a call that is not going to a real extension?
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