<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://reviewboard.asterisk.org/r/3857/">https://reviewboard.asterisk.org/r/3857/</a>
     </td>
    </tr>
   </table>
   <br />




<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers.</div>
<div>By Mark Michelson.</div>










<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
Asterisk
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>/team/group/ari-greedy-atxfer/res/stasis/stasis_bridge.c <span style="color: grey">(419593)</span></li>

 <li>/team/group/ari-greedy-atxfer/res/res_stasis.c <span style="color: grey">(419593)</span></li>

 <li>/team/group/ari-greedy-atxfer/main/bridge.c <span style="color: grey">(419593)</span></li>

 <li>/team/group/ari-greedy-atxfer/include/asterisk/stasis_app.h <span style="color: grey">(419593)</span></li>

 <li>/team/group/ari-greedy-atxfer/include/asterisk/bridge_channel.h <span style="color: grey">(419593)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/3857/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>




  </div>
 </body>
</html>