[asterisk-dev] How can we continue to the next priority after calling Pickup() ?

Dung Nguyen Anh nadung at tma.com.vn
Tue Jan 2 01:08:27 MST 2007


Hi all,

I'm doing a feature that requires using application Pickup(), here is the
example

exten => 4040, 1, TryExec(Pickup(303))

exten => 4040, 2, NoOp()

exten => 4040, 3, Set(TEMP=${EXTEN})

exten => 4040, 4, NoOp()

exten => 4040, 5, HangUp()

 

And I have three etensions: 301, 302, 303

Scenario: 302 calls 303, 301 try to pickup the call by pressing 4040

 

The problem is: After executing TryExec(Pickup(303)) (or Pickup(303) only)
and pickup success, it will not continue to execute priority 2 and so on. I
tried to debug and found that TryExec() is executed success (I mean it is
not postponed)  (and maybe after executing Pickup() it will hangup so that
the next priority is not reached). I tried to use ast_async_goto(chan,
chan->context, chan->exten, chan->priority + 1) or ast_goto_if_exists(chan,
chan->context, chan->exten, chan->priority + 1) in TryExec (app_exec.c) if
the return values of  pbx_exec(.) is 0 (i.e. success) but I cannot go to the
priority 2 as I wish.

 

Is there any way to overcome this (using dialplan options or modify
TryExec() is OK)?

 

Thanks you so much!

 

Best Regards,

 Dzung, Nguyen Anh

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20070102/8baaa0ef/attachment.htm


More information about the asterisk-dev mailing list