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










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On November 5th, 2014, 12:49 p.m. UTC, <b>Joshua Colp</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/4093/diff/1/?file=68394#file68394line2012" style="color: black; font-weight: bold; text-decoration: underline;">/tags/12.4.0/main/rtp_engine.c</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

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

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">int ast_rtp_engine_init()</pre></td>

  </tr>
 </tbody>



 
 

 <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">2012</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="n">set_next_mime_type</span><span class="p">(</span><span class="n">ast_format_set</span><span class="p">(</span><span class="o">&</span><span class="n">tmpfmt</span><span class="p">,</span> <span class="n">AST_FORMAT_SLINEAR12</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">0</span><span class="p">,</span> <span class="s">"audio"</span><span class="p">,</span> <span class="s">"L16-12kHz"</span><span class="p">,</span> <span class="mi">12000</span><span class="p">);</span></pre></td>
  </tr>

  <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">2013</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="n">set_next_mime_type</span><span class="p">(</span><span class="n">ast_format_set</span><span class="p">(</span><span class="o">&</span><span class="n">tmpfmt</span><span class="p">,</span> <span class="n">AST_FORMAT_SLINEAR24</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">0</span><span class="p">,</span> <span class="s">"audio"</span><span class="p">,</span> <span class="s">"L16-24kHz"</span><span class="p">,</span> <span class="mi">24000</span><span class="p">);</span></pre></td>
  </tr>

  <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">2014</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="n">set_next_mime_type</span><span class="p">(</span><span class="n">ast_format_set</span><span class="p">(</span><span class="o">&</span><span class="n">tmpfmt</span><span class="p">,</span> <span class="n">AST_FORMAT_SLINEAR32</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">0</span><span class="p">,</span> <span class="s">"audio"</span><span class="p">,</span> <span class="s">"L16-32kHz"</span><span class="p">,</span> <span class="mi">32000</span><span class="p">);</span></pre></td>
  </tr>

  <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">2015</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="n">set_next_mime_type</span><span class="p">(</span><span class="n">ast_format_set</span><span class="p">(</span><span class="o">&</span><span class="n">tmpfmt</span><span class="p">,</span> <span class="n">AST_FORMAT_SLINEAR44</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">0</span><span class="p">,</span> <span class="s">"audio"</span><span class="p">,</span> <span class="s">"L16-44kHz"</span><span class="p">,</span> <span class="mi">44000</span><span class="p">);</span></pre></td>
  </tr>

  <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">2016</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="n">set_next_mime_type</span><span class="p">(</span><span class="n">ast_format_set</span><span class="p">(</span><span class="o">&</span><span class="n">tmpfmt</span><span class="p">,</span> <span class="n">AST_FORMAT_SLINEAR48</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">0</span><span class="p">,</span> <span class="s">"audio"</span><span class="p">,</span> <span class="s">"L16-48kHz"</span><span class="p">,</span> <span class="mi">48000</span><span class="p">);</span></pre></td>
  </tr>

  <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">2017</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="n">set_next_mime_type</span><span class="p">(</span><span class="n">ast_format_set</span><span class="p">(</span><span class="o">&</span><span class="n">tmpfmt</span><span class="p">,</span> <span class="n">AST_FORMAT_SLINEAR96</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">0</span><span class="p">,</span> <span class="s">"audio"</span><span class="p">,</span> <span class="s">"L16-96kHz"</span><span class="p">,</span> <span class="mi">96000</span><span class="p">);</span></pre></td>
  </tr>

  <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">2018</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="n">set_next_mime_type</span><span class="p">(</span><span class="n">ast_format_set</span><span class="p">(</span><span class="o">&</span><span class="n">tmpfmt</span><span class="p">,</span> <span class="n">AST_FORMAT_SLINEAR192</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">0</span><span class="p">,</span> <span class="s">"audio"</span><span class="p">,</span> <span class="s">"L16-192kHz"</span><span class="p">,</span> <span class="mi">192000</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;">This is not compliant to the way L16 is supposed to be declared within SDP. The payload name is supposed to remain the same (L16) but the clock rate differs.

Did you try that and it did not work, or did you just go for different payload names just because?</pre>
 </blockquote>



 <p>On November 12th, 2014, 10:24 p.m. UTC, <b>Frankie Chin</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Hi Joshua, in my testing I did use the same payload name L16 for 48kHz and it worked. The reason I chose to use different payload names was because of a comment from Matt Jordan in ASTERISK-24274 on 03/Sep/14 9:25 AM, i.e. "You most likely wouldn't want to use the same MIME sub-type as 16 khz SLIN ("L16"). That would probably cause conflicts (or other badness) if Asterisk or another SIP endpoint offered L16."

Is there a standard or RFC for defining the payload names? Please advise what I need to do next. Thanks.

</pre>
 </blockquote>





 <p>On November 13th, 2014, 3:39 p.m. UTC, <b>Joshua Colp</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">L16 is the correct name to use for it. It's 16-bit audio, just at a different rate. https://tools.ietf.org/html/rfc3551#section-4.5.11 Depends that name.</pre>
 </blockquote>





 <p>On November 14th, 2014, 2:27 p.m. UTC, <b>Matt Jordan</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Mea culpa.

I will say that I'm still not sure how useful this patch is. Transmitting 192kHz SLIN audio over the wire is ... probably not a good idea.

What is the actual use case for this patch?</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;">Thanks Joshua, I'll change them all to use L16 and upload the diff again.

Matt, as briefly mentioned in ASTERISK-24274 on 09/Sep/14, what we want to do is to deliver 48kHz high quality audio from one Asterisk server to another. We'll have dedicated network to ensure we have enough bandwidth to achieve that. We don't really need to go beyond 48kHz.</pre>
<br />




<p>- Frankie</p>


<br />
<p>On October 31st, 2014, 1:32 a.m. UTC, Frankie Chin 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.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 Frankie Chin.</div>


<p style="color: grey;"><i>Updated Oct. 31, 2014, 1:32 a.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-24274">ASTERISK-24274</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;">Currently SLIN12, SLIN24, SLIN32, SLIN44, SLIN48, SLIN96 and SLIN192 are found not working with SIP. The following error will be thrown if one of those codecs is used: chan_sip.c:10718 process_sdp: No compatible codecs, not accepting this offer! 

What I think the issue is that the codec format isn't being included in the SDP media attributes when one of those codecs is used. Please refer to ASTERISK-24274 for more details. This change updates the main/rtp_engine.c and main/frame.c to ensure all these codecs are supported.

Note: SLIN and SLIN16 are working fine.</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;">Specified SLIN48 codec in sip.conf of two Asterisk servers. Used AMI to originate a call from Server A to Server B and then put Server B into a conference hosted in Server A. The above mentioned error was no longer reported and the conference was working as expected.</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>/tags/12.4.0/main/rtp_engine.c <span style="color: grey">(425756)</span></li>

 <li>/tags/12.4.0/main/frame.c <span style="color: grey">(425756)</span></li>

</ul>

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







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








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