[asterisk-bugs] [JIRA] (ASTERISK-22104) Bridge API Enhancements - update the Native RTP bridge to better manage channels

Matt Jordan (JIRA) noreply at issues.asterisk.org
Thu Jul 18 18:36:03 CDT 2013


     [ https://issues.asterisk.org/jira/browse/ASTERISK-22104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matt Jordan updated ASTERISK-22104:
-----------------------------------

    Status: Open  (was: Triage)
    
> Bridge API Enhancements - update the Native RTP bridge to better manage channels
> --------------------------------------------------------------------------------
>
>                 Key: ASTERISK-22104
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-22104
>             Project: Asterisk
>          Issue Type: Bug
>          Components: Core/Bridging
>            Reporter: Matt Jordan
>              Labels: Asterisk12
>
> The Native RTP bridge could be subject to some nasty behavior when channels enter or leave a bridge, or when the bridge is updated via a smart bridge operation.
> It currently relies on the {{bridge_pvt}} pointer in the {{bridge_channel}} structure to store the {{native_rtp_bridge_data}} for that channel. Doing this during a join or leave is apparently safe; however, performing it during a frame hook operation may not be.
> {noformat}
> /*
>  * BUGBUG The RTP native bridge technology should use tech_pvt not bridge_pvt.
>  *
>  * This technology needs to be reworked to not change the
>  * tech_pvt of channels other than the one that is currently
>  * entering/leaving before it can actually use the correct
>  * pointer.
>  */
> 	bridge_channel->bridge_pvt = data;
> 	return 0;
> }
> {noformat}
> Additionally, it should use the start/stop bridge callbacks to start/stop native RTP bridging. The start/stop callbacks are used during smartbridge operations - if the bridge mixing technology changes a number of operations will be done to the bridge mixing technology as well as to the channels in the bridge. The start/stop callbacks provide a safe way to prevent frames and other data from attempting to access the channels/bridge during that period of time.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list