summaryrefslogtreecommitdiff
path: root/main/bridge_channel.c
diff options
context:
space:
mode:
authorJonathan Rose <jrose@digium.com>2015-12-01 16:11:07 -0600
committerJonathan Rose <jrose@digium.com>2015-12-01 17:34:04 -0600
commitb5281b74e0572e9ca574098937765647bf2e953a (patch)
treee278fcd51cc1dc6e68d65629b3a2870422c51011 /main/bridge_channel.c
parente5723d27763b85b66972a275cd90f4a592bcc21f (diff)
Unset BRIDGEPEER when leaving a bridge
Currently if a channel is transferred out of a bridge, the BRIDGEPEER variable (also BRIDGEPVTCALLID) remain set even once the channel is out of the bridge. This patch removes these variables when leaving the bridge. ASTERISK-25600 #close Reported by: Mark Michelson Change-Id: I753ead2fffbfc65427ed4e9244c7066610e546da
Diffstat (limited to 'main/bridge_channel.c')
-rw-r--r--main/bridge_channel.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/main/bridge_channel.c b/main/bridge_channel.c
index be0819a5c..f3483e440 100644
--- a/main/bridge_channel.c
+++ b/main/bridge_channel.c
@@ -289,6 +289,10 @@ void ast_bridge_channel_leave_bridge_nolock(struct ast_bridge_channel *bridge_ch
channel_set_cause(bridge_channel->chan, cause);
+ ast_channel_lock(bridge_channel->chan);
+ ast_bridge_vars_set(bridge_channel->chan, NULL, NULL);
+ ast_channel_unlock(bridge_channel->chan);
+
/* Change the state on the bridge channel */
bridge_channel->state = new_state;