Index: asterisk1.8/apps/app_meetme.c =================================================================== --- asterisk1.8/apps/app_meetme.c (revision 376616) +++ asterisk1.8/apps/app_meetme.c (working copy) @@ -434,6 +434,12 @@ + + + + + + @@ -5516,6 +5522,22 @@ } /* Track the channel that answered this trunk */ s_trunk_ref->chan = ast_dial_answered(ringing_station->station->dial); + /* Set variable to track the name of the channel that actually answered the call */ + if (strcasecmp(ringing_trunk->trunk->chan->tech->type, "Local")==0) { + /* if we are in a "Local" channel then both the ;1 and ;2 versions of this channel should have variable set */ + char *name; + name = ast_strdupa(ringing_trunk->trunk->chan->name); + name[strlen(name)-1]='1'; + pbx_builtin_setvar_helper(ast_channel_get_by_name(name), "SLATRUNK_ANSWEREDCHANNEL", s_trunk_ref->chan->name); + pbx_builtin_setvar_helper(ast_channel_get_by_name(name), "SLATRUNK_ANSWEREDSTATION", ringing_station->station->name); + name[strlen(name)-1]='2'; + pbx_builtin_setvar_helper(ast_channel_get_by_name(name), "SLATRUNK_ANSWEREDCHANNEL", s_trunk_ref->chan->name); + pbx_builtin_setvar_helper(ast_channel_get_by_name(name), "SLATRUNK_ANSWEREDSTATION", ringing_station->station->name); + } + else { + pbx_builtin_setvar_helper(ringing_trunk->trunk->chan, "SLATRUNK_ANSWEREDCHANNEL", s_trunk_ref->chan->name); + pbx_builtin_setvar_helper(ringing_trunk->trunk->chan, "SLATRUNK_ANSWEREDSTATION", ringing_station->station->name); + } /* Actually answer the trunk */ answer_trunk_chan(ringing_trunk->trunk->chan); sla_change_trunk_state(ringing_trunk->trunk, SLA_TRUNK_STATE_UP, ALL_TRUNK_REFS, NULL);