diff options
author | Jean Aunis <jean.aunis@prescom.fr> | 2017-09-07 11:41:09 +0200 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2017-09-20 10:19:26 -0500 |
commit | 47b41bd3ae200d546a6664352f35eb34579e4bf9 (patch) | |
tree | 3b882dbbd68fbeffdf63b818ade24f8237f4fd77 /main/bridge_channel.c | |
parent | 5ac8b9fcc24410e190da5d0d71b4b78b42203995 (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.c | 4 |
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); } |