[asterisk-dev] qeustion about app_dial.c do_forward function getting the forwarding peer

Stefan Schmidt sst at sil.at
Wed Sep 23 03:35:54 CDT 2009


Hello klaus,

thanks for the link to this issue, this was the patch i was thinking of,
my problem is that when i use your patch:
pbx_builtin_setvar_helper(o->chan, "FORWARDER", winner->name);
after inherit the orig and the winner channel, i just got the Local
channel 1 in this Var. What i need was the name of the redirecting channel.

in 1.6 the app_dial looks diferent to 1.4 so there is the incoming orig
chan (in) the winner which is first c = o->chan which is the channel
which starts the forward (with the peer i need) but is set to the new
outgoing channel after
c = o->chan = ast_request(tech, in->nativeformats, stuff, &cause); (row:
533)

what i have done to make it useable for me is a
pbx_builtin_setvar_helper(in,"FORWARDING_PEER",c->name);
before this row, so i really have the channel name of the peer which
starts the forward, but set it to the orig incoming channel (in).

so i have to use
pbx_builtin_getvar_helper(chan->chan_list.next->chan_list.next,"FORWARDING_PEER")
to get the channel name which starts the forward.

i still dont know why there are 2 local channels when doing a forward,
but i think that the first local points to the incoming and the second
local channel starts the outgoing channel and when this is successfull
the orig and the outgoing is bridged and the local channels are stopped.

maybe you shout think about this when doing this patch.

best regards

steve

Klaus Darilion schrieb:
> Hi Stefan!
> 
> Maybe this helps too:
> https://issues.asterisk.org/view.php?id=14592
> 
> regards
> klaus
> 
> Stefan Schmidt schrieb:
>> Hello,
>>
>> i´ve a question about the do_forward function in app_dial.c for asterisk
>> ver. 1.6.1.6.
>>
>> maybe i havent seen it but is there any way of getting the information
>> from which peer a forward has started the local channel?
>>
>> my problem is that i want to know from which user a forward has been
>> started. at the moment when the local channel goes to the standart
>> context to call the number the forward points to, i couldnt find out
>> from which peer the redirect comes.
>>
>> what i would need is the c->name from this row(519) from app_dial.c in a
>> channel var.
>> ast_verb(3, "Now forwarding %s to '%s/%s' (thanks to %s)\n", in->name,
>> tech, stuff, c->name);
>>
>> i just could patch a
>> pbx_builtin_setvar_helper(in,"FORWARDING_PEER",c->name)
>> but i want to know if this is allready done but iam just too blind to
>> see it.
>>
>> i hope its clear what i mean...
>>
>> best regards
>>
>> steve
>>
>>
>> _______________________________________________
>> --Bandwidth and Colocation Provided by http://www.api-digital.com--
>>
>> AstriCon 2009 - October 13 - 15 Phoenix, Arizona
>> Register Now: http://www.astricon.net
>>
>> asterisk-dev mailing list
>> To UNSUBSCRIBE or update options visit:
>>    http://lists.digium.com/mailman/listinfo/asterisk-dev
> 
> _______________________________________________
> --Bandwidth and Colocation Provided by http://www.api-digital.com--
> 
> AstriCon 2009 - October 13 - 15 Phoenix, Arizona
> Register Now: http://www.astricon.net
> 
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-dev

-- 
Für weitere Fragen stehen wir gerne unter voip at sil.at oder
059944 - 2440 zur Verfügung.

Mit freundlichen Grüssen
-- 
Stefan Schmidt
Sysadmin/VOIP // voip at sil.at // Tel 059944-2440//
-------------------------------------------------
SILVER SERVER GmbH // Lorenz-Mandl-Gasse 33/1 //
A-1160 Wien // Fax 059944-9000 // www.sil.at  //
-------------------------------------------------



More information about the asterisk-dev mailing list