<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/2391/">https://reviewboard.asterisk.org/r/2391/</a>
     </td>
    </tr>
   </table>
   <br />


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

<div>Review request for Asterisk Developers.</div>
<div>By rmudgett.</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;">This review is to get a sanity check on the bridging architecture to see if I am going in the right direction.  It is probably best to look at the bridging files as a whole rather than just looking at the diff in the review.

High level overview of the bridging module objects.

Bridge-manager: This thread handles odd jobs for all bridges in the system.  The manager has a service request queue that tells it to see what needs doing to a bridge.

Bridge: The bridge object does not have a thread associated with it.  It simply directs where a bridge channel thread should put frames written into the bridge.  The bridge has an action queue for general bridge servicing.  The only actions currently posted to the queue are deferred destruction of the softmix bridge private structure.

Bridge-channel: The bridge channel component of a bridge has a thread associated with it that services the reads and writes between the channel and the bridge.  The thread also performs any actions to the channel such as playing a file or running the connected line interception routines.

Bridge-technology: The bridge technology component of a bridge gives the bridge its basic characteristics for how media passes through the bridge.  The current technologies implemented are holding (For parking calls), simple two party, softmix (For multiparty like ConfBridge).
</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;">Basic calls
Current DTMF blind/attended transfers (They are not fully feature complete).  The attended transfer does have the ability to convert the call to a three way call.</pre>
  </td>
 </tr>
</table>



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


 <a href="https://issues.asterisk.org/jira/browse/ASTERISK-21052">ASTERISK-21052</a>


</div>


<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/bridge_construction/bridges/bridge_holding.c <span style="color: grey">(383119)</span></li>

 <li>/team/group/bridge_construction/bridges/bridge_multiplexed.c <span style="color: grey">(383119)</span></li>

 <li>/team/group/bridge_construction/bridges/bridge_simple.c <span style="color: grey">(383119)</span></li>

 <li>/team/group/bridge_construction/bridges/bridge_softmix.c <span style="color: grey">(383119)</span></li>

 <li>/team/group/bridge_construction/include/asterisk/bridging.h <span style="color: grey">(383119)</span></li>

 <li>/team/group/bridge_construction/include/asterisk/bridging_features.h <span style="color: grey">(383119)</span></li>

 <li>/team/group/bridge_construction/include/asterisk/bridging_technology.h <span style="color: grey">(383119)</span></li>

 <li>/team/group/bridge_construction/main/asterisk.c <span style="color: grey">(383119)</span></li>

 <li>/team/group/bridge_construction/main/bridging.c <span style="color: grey">(383119)</span></li>

</ul>

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




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




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