<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/3131/">https://reviewboard.asterisk.org/r/3131/</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 Scott Griepentrog.</div>








<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-23018">ASTERISK-23018</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;">Changes to support allow=all in PJSIP.conf: 

* added ast_codec_pref_append_all() that intelligently adds all yet unspecified codecs to the preference list

* Sorcery function ast_parse_allow_disallow() now uses codec_pref_append_all on pref list when all is supplied

* in create_outgoing_sdp_stream(), the loop checking codecs to add will now skip a codec that doesn't have a payload code instead of bailing (fixes issue with deferred sdp bombing on testlaw)

* switched display of codecs (reverse codec_handler_fn in sorcery.c) from caps to prefs, so that cli 'pjsip show endpoint x' shows allowed codec list in preference order matching the configuration

Note that it is now possible to put all at the end of an allow list, such as allow=ulaw,all which will set ulaw as preferred (first in list) but still have every other available codec listed.  Also possible is to remove specific codecs after all, such as allow=ulaw,all,!g729 which puts ulaw first, then every other codec, but removes g729.

The codec order otherwise is currently set by the internal codec table list order, which is arbitrary but functional.   
</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 with new test allow_all_sdp (https://reviewboard.asterisk.org/r/3132/) with success.  Also ran pjsip basic_calls. </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>/branches/12/res/res_pjsip_sdp_rtp.c <span style="color: grey">(405637)</span></li>

 <li>/branches/12/main/sorcery.c <span style="color: grey">(405637)</span></li>

 <li>/branches/12/main/frame.c <span style="color: grey">(405637)</span></li>

 <li>/branches/12/main/format_pref.c <span style="color: grey">(405637)</span></li>

 <li>/branches/12/include/asterisk/format_pref.h <span style="color: grey">(405637)</span></li>

</ul>

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







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




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