From 92cc094d4e32d4a04fb75f5d17b43d11d6e8d4f9 Mon Sep 17 00:00:00 2001 From: Sean Bright <sean.bright@gmail.com> Date: Tue, 11 Dec 2018 15:49:03 -0500 Subject: [PATCH] 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 --- CHANGES | 17 +++++++++++++++++ bridges/bridge_builtin_features.c | 2 ++ 2 files changed, 19 insertions(+) diff --git a/CHANGES b/CHANGES index 6e87611bd9..6d1d8598cd 100644 --- a/CHANGES +++ b/CHANGES @@ -8,6 +8,23 @@ === ============================================================================== +------------------------------------------------------------------------------ +--- Functionality changes from Asterisk 13.24.0 to Asterisk 13.25.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 13.23.0 to Asterisk 13.24.0 ---------- ------------------------------------------------------------------------------ diff --git a/bridges/bridge_builtin_features.c b/bridges/bridge_builtin_features.c index 37310f6c97..fe73901ece 100644 --- a/bridges/bridge_builtin_features.c +++ b/bridges/bridge_builtin_features.c @@ -215,6 +215,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); } @@ -402,6 +403,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); } -- GitLab