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










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On July 25th, 2013, 8:18 p.m. UTC, <b>opticron</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://reviewboard.asterisk.org/r/2688/diff/1/?file=42369#file42369line343" style="color: black; font-weight: bold; text-decoration: underline;">/trunk/res/res_stasis.c</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">343</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">        </span><span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="n">ao2_link</span><span class="p">(</span><span class="n">app_bridges_moh</span><span class="p">,</span> <span class="n">new_wrapper</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">))</span> <span class="p">{</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Use != and drop the extra parens.</pre>
 </blockquote>





</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">You should never compare ao2_link with an explicit value.  ao2_link used to return a pointer so you could not know what value it would return.

You should treat the return value as a boolean and compare it like this.
if (ao2_link())
or
if (!ao2_link())
</pre>
<br />




<p>- rmudgett</p>


<br />
<p>On July 19th, 2013, 10:48 p.m. UTC, jrose wrote:</p>








<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.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers, David Lee, Matt Jordan, and rmudgett.</div>
<div>By jrose.</div>


<p style="color: grey;"><i>Updated July 19, 2013, 10:48 p.m.</i></p>







<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-21974">ASTERISK-21974</a>


</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;">Adds ARI commands for playing music on hold and stopping music on hold that is played by ARI.
Note that if music on hold is being played by non-ARI mechanisms, the ARI stop music on hold command will have no effects.

ARI music on hold for bridges works by creating a dedicated announcer channel for playing music on hold and putting it in the bridge. This channel will play music on hold until it is removed from the bridge at which point it will hang up. Issuing a new music on hold command with one running will fetch that channel and issue a new music on hold command which will do nothing if it uses the same class or will start playing the new class if the music on hold command specifies a class other than the one provided. If the moh stop command is issued and an MOH channel exists for that bridge, it will be hung up.</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;">SIP channels with directmedia=no (which at present doesn&#39;t appear to do what it should do)

Both call into stasis and are placed in a native bridge (becomes native RTP bridge)

MOH start is issued

Both channels hear MOH Any new channels at this point will also hear MOH

MOH stop is issued

MOH channel gets blown away, moh stops for all channels in the bridge obviously.

MOH start is issued, yadda yadda

MOH start with a different class is issued, music on hold changes to a new song

MOH start is issued with default class. MOH changes to default class.

MOH stop is issued. Channel gets blown away.
</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>/trunk/include/asterisk/stasis_app.h <span style="color: grey">(394810)</span></li>

 <li>/trunk/res/res_stasis.c <span style="color: grey">(394810)</span></li>

 <li>/trunk/res/res_stasis_http_bridges.c <span style="color: grey">(394810)</span></li>

 <li>/trunk/res/stasis_http/resource_bridges.h <span style="color: grey">(394810)</span></li>

 <li>/trunk/res/stasis_http/resource_bridges.c <span style="color: grey">(394810)</span></li>

 <li>/trunk/rest-api/api-docs/bridges.json <span style="color: grey">(394810)</span></li>

</ul>

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







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








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