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);