diff options
author | Jonathan Rose <jrose@digium.com> | 2015-12-01 16:11:07 -0600 |
---|---|---|
committer | Jonathan Rose <jrose@digium.com> | 2015-12-02 12:57:04 -0600 |
commit | eadad24b595c3b6e5f0472f9936e7e37259308b5 (patch) | |
tree | c2fc7fa630efe2337121f45ff0ace6371800e29d /main/bridge_channel.c | |
parent | 3fcf160faeb036529c575b66d73e7978f475fb28 (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.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/main/bridge_channel.c b/main/bridge_channel.c index 8ce022005..3874e50ff 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; |