[asterisk-dev] [Code Review] 2721: bridge_channels: Add support for the lonely flag

jrose reviewboard at asterisk.org
Tue Aug 6 12:37:51 CDT 2013



> On Aug. 1, 2013, 4:04 p.m., David Lee wrote:
> > /trunk/main/bridge_channel.c, lines 1325-1330
> > <https://reviewboard.asterisk.org/r/2721/diff/1/?file=43333#file43333line1325>
> >
> >     bridge_channel_internal_pull() and bridge_channel_dissolve_check() are co-recursive. The code might actually work, just accidentally.
> >     
> >     The internal_pull() function removes other from bridge->channels, which causes the loop to terminate early. The loop only pulls the first channel from the bridge.
> >     
> >     But since internal_pull() calls dissolve_check(), it will recursively pull the first channel from the bridge until all the channels have been removed.
> >     
> >     With enough lonely channels in a bridge, this could blow the stack.


- jrose


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/2721/#review9285
-----------------------------------------------------------


On July 31, 2013, 5:31 p.m., jrose wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/2721/
> -----------------------------------------------------------
> 
> (Updated July 31, 2013, 5:31 p.m.)
> 
> 
> Review request for Asterisk Developers, David Lee, Matt Jordan, and rmudgett.
> 
> 
> Bugs: ASTERISK-22117
>     https://issues.asterisk.org/jira/browse/ASTERISK-22117
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> Channels with the lonely flag are supposed to leave a bridge if all of the channels in that bridge are also lonely at the time of a channel dissolving.
> I also added this flag to ARI play and record on bridge channels.
> 
> 
> Diffs
> -----
> 
>   /trunk/main/core_unreal.c 395852 
>   /trunk/res/ari/resource_bridges.c 395852 
>   /trunk/include/asterisk/core_unreal.h 395852 
>   /trunk/main/bridge_channel.c 395852 
> 
> Diff: https://reviewboard.asterisk.org/r/2721/diff/
> 
> 
> Testing
> -------
> 
> Tested what happens to channels when a non-lonely channel leaves with and without the presence of non-lonely channels.
> If only lonely channels were left, they hung up. This did produce an ARI playback error since the channel playback was interrupted.
> If non-lonely channels were left, nothing would happen as anticipated.
> 
> 
> Thanks,
> 
> jrose
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20130806/01b08a28/attachment.htm>


More information about the asterisk-dev mailing list