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