bridge_builtin_features.c: Set auto(mix)mon variables on both channels

This is how features behaved up through Asterisk 11, but was changed
when the new bridging framework was implemented in Asterisk 12.

Reported by rrittgarn in #asterisk.

Change-Id: I72cf86223947a8118c75f46e2c603dbc11e3125b
This commit is contained in:
Sean Bright 2018-12-11 15:49:03 -05:00
parent 67e91d012b
commit 640aac768b
2 changed files with 19 additions and 0 deletions

17
CHANGES
View File

@ -8,6 +8,23 @@
===
==============================================================================
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 16.1.0 to Asterisk 16.2.0 ------------
------------------------------------------------------------------------------
Features
------------------
* Before Asterisk 12, when using the automon or automixmon features defined
in features.conf, a channel variable (TOUCH_MIXMONITOR_OUTPUT) was set on
both channels, indicating the filename of the recording.
When bridging was overhauled in Asterisk 12, the behavior was changed such
that the variable was only set on the peer channel and not on the channel
that initiated the automon or automixmon.
The previous behavior has been restored so both channels receive the
channel variable when one of these features is invoked.
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 16.0.0 to Asterisk 16.1.0 ------------
------------------------------------------------------------------------------

View File

@ -213,6 +213,7 @@ static void start_automonitor(struct ast_bridge_channel *bridge_channel, struct
ast_bridge_channel_write_playfile(bridge_channel, NULL, start_message, NULL);
}
pbx_builtin_setvar_helper(bridge_channel->chan, "TOUCH_MONITOR_OUTPUT", touch_filename);
pbx_builtin_setvar_helper(peer_chan, "TOUCH_MONITOR_OUTPUT", touch_filename);
}
@ -400,6 +401,7 @@ static void start_automixmonitor(struct ast_bridge_channel *bridge_channel, stru
ast_bridge_channel_write_playfile(bridge_channel, NULL, start_message, NULL);
}
pbx_builtin_setvar_helper(bridge_channel->chan, "TOUCH_MIXMONITOR_OUTPUT", touch_filename);
pbx_builtin_setvar_helper(peer_chan, "TOUCH_MIXMONITOR_OUTPUT", touch_filename);
}