I have the same problem here. The relevant part of app_directed_pickup.c (function pickup_by_exten()) is : if (!strcasecmp(target->exten, exten) && !strcasecmp(target->dialcontext, context) && can_pickup(target)) { res = pickup_do(chan, target); ast_channel_unlock(target); break; }
In case of a macro call, 'target->exten' won't match 'exten' (as mentioned by Klaus), neither 'target->dialcontext' will match 'context'. And 'target->macroexten' or 'target->macrocontext' are not set. A bug report addresses a similar issue, although it does not explicitly refers to macros : http://bugs.digium.com/view.php?id=8984 Philippe On 2/15/07, Eric ManxPower Wieling <[EMAIL PROTECTED]> wrote:
Klaus Darilion wrote: > Hi! > > I wanted to use Pickup() but it does not work if the ringing call is in > a macro as the ringing call's exten is always 's'. Thus, I thought about > extending app_directed_pickup to not only look for the extension to > pickup in target->exten but also in target->macroexten. The problem is, > that target->macroexten is not set for the called channel. Is this a bug? [macro-happy-fun-ball] exten => s,1,Goto(${MACRO_EXTEN},1) exten => _X.,1,Noop(Start real macro here) ... _______________________________________________ --Bandwidth and Colocation provided by Easynews.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
-- Philippe Sultan _______________________________________________ --Bandwidth and Colocation provided by Easynews.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev