[asterisk-dev] app_directed_pickup and macros

Philippe Sultan philippe.sultan at gmail.com
Fri Feb 16 08:14:17 MST 2007


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 <eric at fnords.org> 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


More information about the asterisk-dev mailing list