[asterisk-dev] [Code Review] 3857: Ensure that channels that move from a stasis bridge to a non-stasis bridge have a StasisEnd sent at an appropriate time.

opticron reviewboard at asterisk.org
Fri Jul 25 15:25:43 CDT 2014


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



/team/group/ari-greedy-atxfer/include/asterisk/bridge_channel.h
<https://reviewboard.asterisk.org/r/3857/#comment23243>

    This should probably be setup as a feature hook instead of being directly on the bridge_channel. There are already hooks there for join, leave, and hangup among others.



/team/group/ari-greedy-atxfer/res/res_stasis.c
<https://reviewboard.asterisk.org/r/3857/#comment23244>

    At some point, this datastore needs to be removed since the channel could conceivably make it back into Stasis() which could cause problems on a normal exit. This should also be checked to ensure that only a single one of these datastores exists on a channel.


- opticron


On July 25, 2014, 3:04 p.m., Mark Michelson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3857/
> -----------------------------------------------------------
> 
> (Updated July 25, 2014, 3:04 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> Channels have the ability to cross the boundary from Stasis to being not in Stasis by sneaky means, such as the AMI Bridge action. This changeset seeks to detect the condition where a channel is moved directly from a Stasis bridge to a non-Stasis bridge. When such a thing occurs, after the ChannelLeftBridge event, we issue a StasisEnd and unsubscribe the Stasis app from that channel's further doings.
> 
> 
> Diffs
> -----
> 
>   /team/group/ari-greedy-atxfer/res/stasis/stasis_bridge.c 419593 
>   /team/group/ari-greedy-atxfer/res/res_stasis.c 419593 
>   /team/group/ari-greedy-atxfer/main/bridge.c 419593 
>   /team/group/ari-greedy-atxfer/include/asterisk/stasis_app.h 419593 
>   /team/group/ari-greedy-atxfer/include/asterisk/bridge_channel.h 419593 
> 
> Diff: https://reviewboard.asterisk.org/r/3857/diff/
> 
> 
> Testing
> -------
> 
> Tested this in the following way:
> 
> Create a bridge in ARI.
> Have two phones call into Stasis.
> Add both phones to the ARI bridge.
> Use AMI Bridge action to move both channels into a non-Stasis bridge.
> 
> I have ensured that each channel sees a ChannelLeftBridge, followed by a StasisEnd event. No further events are emitted for the channels over the websocket.
> 
> 
> Thanks,
> 
> Mark Michelson
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140725/22d797cb/attachment-0001.html>


More information about the asterisk-dev mailing list