diff options
author | Jonathan Rose <jrose@digium.com> | 2015-12-01 16:11:07 -0600 |
---|---|---|
committer | Jonathan Rose <jrose@digium.com> | 2015-12-01 17:34:04 -0600 |
commit | b5281b74e0572e9ca574098937765647bf2e953a (patch) | |
tree | e278fcd51cc1dc6e68d65629b3a2870422c51011 /main/bridge.c | |
parent | e5723d27763b85b66972a275cd90f4a592bcc21f (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.c')
-rw-r--r-- | main/bridge.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/main/bridge.c b/main/bridge.c index ebbfc3976..7451a163c 100644 --- a/main/bridge.c +++ b/main/bridge.c @@ -1211,7 +1211,7 @@ static void check_bridge_play_sounds(struct ast_bridge *bridge) } } -static void update_bridge_vars_set(struct ast_channel *chan, const char *name, const char *pvtid) +void ast_bridge_vars_set(struct ast_channel *chan, const char *name, const char *pvtid) { ast_channel_stage_snapshot(chan); pbx_builtin_setvar_helper(chan, "BRIDGEPEER", name); @@ -1251,12 +1251,12 @@ static void set_bridge_peer_vars_2party(struct ast_channel *c0, struct ast_chann ast_channel_unlock(c1); ast_channel_lock(c0); - update_bridge_vars_set(c0, c1_name, c1_pvtid); + ast_bridge_vars_set(c0, c1_name, c1_pvtid); UPDATE_BRIDGE_VARS_GET(c0, c0_name, c0_pvtid); ast_channel_unlock(c0); ast_channel_lock(c1); - update_bridge_vars_set(c1, c0_name, c0_pvtid); + ast_bridge_vars_set(c1, c0_name, c0_pvtid); ast_channel_unlock(c1); } @@ -1357,7 +1357,7 @@ static void set_bridge_peer_vars_multiparty(struct ast_bridge *bridge) ++idx; ast_channel_lock(bridge_channel->chan); - update_bridge_vars_set(bridge_channel->chan, buf, NULL); + ast_bridge_vars_set(bridge_channel->chan, buf, NULL); ast_channel_unlock(bridge_channel->chan); } } @@ -1379,7 +1379,7 @@ static void set_bridge_peer_vars_holding(struct ast_bridge *bridge) AST_LIST_TRAVERSE(&bridge->channels, bridge_channel, entry) { ast_channel_lock(bridge_channel->chan); - update_bridge_vars_set(bridge_channel->chan, NULL, NULL); + ast_bridge_vars_set(bridge_channel->chan, NULL, NULL); ast_channel_unlock(bridge_channel->chan); } } |