]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
bridge_builtin_features.c: Set auto(mix)mon variables on both channels
authorSean Bright <sean.bright@gmail.com>
Tue, 11 Dec 2018 20:49:03 +0000 (15:49 -0500)
committerSean Bright <sean.bright@gmail.com>
Thu, 13 Dec 2018 13:52:16 +0000 (08:52 -0500)
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
bridges/bridge_builtin_features.c

diff --git a/CHANGES b/CHANGES
index 6e87611bd95470cf6c5b16a37318c1577669628f..6d1d8598cd34ade4a35bc1ba81b68e3e58bd31b5 100644 (file)
--- 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 ----------
 ------------------------------------------------------------------------------
index 37310f6c97f457a52c38b5dc31198ac2475a4c91..fe73901ece4718d141eb529b7fa234bd3bd97811 100644 (file)
@@ -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);
 }