<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/3977/">https://reviewboard.asterisk.org/r/3977/</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; margin-top: 1.5em;">Bugs: </b>


 <a href="https://issues.asterisk.org/jira/browse/ASTERISK-24181">ASTERISK-24181</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;">When testing RLS with large lists, it was found that attempting to send a full state NOTIFY request would result in an error from PJSIP of PJSIP_EMSGTOOLONG. I've written in detail about the problem on the following wiki page: https://wiki.asterisk.org/wiki/display/AST/PJSIP+Large+Messages

On that page, I propose several solutions to the problem. The one presented in this review is based on the edit at the bottom of the wiki page. We get around the max message size of PJSIP by pre-allocating the transmission data buffer to be large enough to hold whatever message we need to send. This way, PJSIP happily writes the message to the buffer and sends it on.

There are a couple of questionable bits in this review:
1) Even though we are working around PJSIP's maximum message size limit, this patch imposes its own limit of 64000 bytes for the message. Should we perhaps make this limit smaller? Larger? Transport-dependent?
2) If we detect that the message is too large to be sent, we return an error when attempting to send the NOTIFY. However, I wonder if we should also just terminate the subscription as well.</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;">See /r/3978 for a testsuite test that exercises this.</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/13/res/res_pjsip_pubsub.c <span style="color: grey">(422576)</span></li>

</ul>

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







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




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