diff options
author | Joshua Colp <jcolp@digium.com> | 2017-02-27 13:02:38 +0000 |
---|---|---|
committer | Joshua Colp <jcolp@digium.com> | 2017-02-27 12:12:22 -0600 |
commit | ff2b4308d1ab605861fb7a0931dc36ae1edff9fc (patch) | |
tree | 5be2e53fed5d4b81b3b6a0d42c06dc726860f661 /include/asterisk/bridge_technology.h | |
parent | df22d297a64ee2ef53ea0296a353a5c90ae70ba2 (diff) |
bridge_native_rtp: Handle case where channel joins already suspended.
The bridge_native_rtp module did not properly handle the case where
a smart bridge operation occurs while a channel is suspended. In this
scenario the module would incorrectly set up local or remote RTP
bridging despite the media having to flow through Asterisk. The remote
endpoint would see two media streams and experience wonky audio.
The module has been changed so that it ensures both channels are
not suspended when performing the native RTP bridging and this
requirement has been documented in the bridge technology.
ASTERISK-26781
Change-Id: Id4022d73ace837d4a293106445e3ade10dbc7c7c
Diffstat (limited to 'include/asterisk/bridge_technology.h')
-rw-r--r-- | include/asterisk/bridge_technology.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/asterisk/bridge_technology.h b/include/asterisk/bridge_technology.h index 8df19d9e9..843d93ccf 100644 --- a/include/asterisk/bridge_technology.h +++ b/include/asterisk/bridge_technology.h @@ -110,6 +110,9 @@ struct ast_bridge_technology { * * \note The bridge technology must tollerate a failed to join channel * until it can be kicked from the bridge. + * + * \note A channel may be in a suspended state already when joining a bridge + * technology. The technology must handle this case. */ int (*join)(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel); /*! |