summaryrefslogtreecommitdiff
path: root/main/bridge_channel.c
diff options
context:
space:
mode:
authorJean Aunis <jean.aunis@prescom.fr>2017-09-07 11:41:09 +0200
committerRichard Mudgett <rmudgett@digium.com>2017-09-20 10:19:26 -0500
commit47b41bd3ae200d546a6664352f35eb34579e4bf9 (patch)
tree3b882dbbd68fbeffdf63b818ade24f8237f4fd77 /main/bridge_channel.c
parent5ac8b9fcc24410e190da5d0d71b4b78b42203995 (diff)
bridge : Fix one-way direct-media when early bridging with native_rtp
When two channels were early bridged in a native_rtp bridge, the RTP description on one side was not updated when the other side answered. This patch forbids non-answered channels to enter a native_rtp bridge, and triggers a bridge reconfiguration when an ANSWER frame is received. ASTERISK-27257 Change-Id: If1aaee1b4ed9658a1aa91ab715ee0a6413b878df
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 66292bf92..89e55713f 100644
--- a/main/bridge_channel.c
+++ b/main/bridge_channel.c
@@ -2313,6 +2313,10 @@ static void bridge_channel_handle_control(struct ast_bridge_channel *bridge_chan
case AST_CONTROL_ANSWER:
if (ast_channel_state(chan) != AST_STATE_UP) {
ast_answer(chan);
+ ast_bridge_channel_lock_bridge(bridge_channel);
+ bridge_channel->bridge->reconfigured = 1;
+ bridge_reconfigured(bridge_channel->bridge, 0);
+ ast_bridge_unlock(bridge_channel->bridge);
} else {
ast_indicate(chan, -1);
}