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











<div>




<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/2959/diff/7/?file=48169#file48169line376" style="color: black; font-weight: bold; text-decoration: underline;">branches/12/res/res_pjsip/location.c</a>
    <span style="font-weight: normal;">

     (Diff revision 7)

    </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">376</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="o">*</span><span class="n">buf</span> <span class="o">=</span> <span class="n">ast_calloc</span><span class="p">(</span><span class="n">aor</span><span class="o">-></span><span class="n">max_contacts</span> <span class="o">*</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Can't use aor->max_contacts as a multiplier here because it can be 0 for aors that have only permanent contacts.  When that happens, things get nasty.  You need to dynamically determine (or have passed in) the number of contacts.  For now, I'm using ao2_container_count(aor->permanent_contacts) + aor->max_contacts + 5 just to get me past the segfaults.
</pre>
</div>
<br />



<p>- George Joseph</p>


<br />
<p>On November 12th, 2013, 12:04 p.m. MST, Kevin Harwell 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 Kevin Harwell.</div>


<p style="color: grey;"><i>Updated Nov. 12, 2013, 12:04 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-22609">ASTERISK-22609</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;">Created the following AMI commands and corresponding events for res_pjsip:

PJSIPShowEndpoints - Provides a listing of all pjsip endpoints and a few select attributes on each.
  Events:
    EndpointList - for each endpoint a few attributes
    EndpointlistComplete - after all endpoints have been listed

PJSIPShowEndpoint - Provides a detail list of attributes for a specified endpoint
  Events:
    EndpointDetail - attributes on an endpoint
    AorDetail - raised for each AOR on an endpoint
    AuthDetail - raised for each associated inbound and outbound auth
    TransportDetail - transport attributes
    IdentifyDetail - attributes for the identify object associated with the endpoint
    EndpointDetailComplete - last event raised after all detail events

PJSIPShowRegistrationsInbound - Provides a detail listing of all inbound registrations
  Events:
    InboundRegistrationDetail - inbound registration attributes for each registration
    InboundRegistrationDetailComplete - raised after all detail records have been listed

PJSIPShowRegistrationsOutbound  - Provides a detail listing of all outbound registrations
  Events:
    OutboundRegistrationDetail - outbound registration attributes for each registration
    OutboundRegistrationDetailComplete - raised after all detail records have been listed

PJSIPShowSubscriptions - A detail listing of all subscriptions and their attributes
  Events:
    SubscriptionDetail - on each subscription detailed attributes
    SubscriptionDetailComplete - raised after all detail records have been listed</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;">Ran a few manual tests over AMI and observed the output to make sure things look correct.  Also wrote some testsuite tests: https://reviewboard.asterisk.org/r/2958/</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_registrar.c <span style="color: grey">(402377)</span></li>

 <li>branches/12/res/res_pjsip_pubsub.c <span style="color: grey">(402377)</span></li>

 <li>branches/12/res/res_pjsip_outbound_registration.c <span style="color: grey">(402377)</span></li>

 <li>branches/12/res/res_pjsip_mwi.c <span style="color: grey">(402377)</span></li>

 <li>branches/12/res/res_pjsip_exten_state.c <span style="color: grey">(402377)</span></li>

 <li>branches/12/res/res_pjsip_endpoint_identifier_ip.c <span style="color: grey">(402377)</span></li>

 <li>branches/12/res/res_pjsip/pjsip_configuration.c <span style="color: grey">(402377)</span></li>

 <li>branches/12/res/res_pjsip/location.c <span style="color: grey">(402377)</span></li>

 <li>branches/12/res/res_pjsip/include/res_pjsip_private.h <span style="color: grey">(402377)</span></li>

 <li>branches/12/res/res_pjsip/config_transport.c <span style="color: grey">(402377)</span></li>

 <li>branches/12/res/res_pjsip/config_auth.c <span style="color: grey">(402377)</span></li>

 <li>branches/12/res/res_pjsip.exports.in <span style="color: grey">(402377)</span></li>

 <li>branches/12/res/res_pjsip.c <span style="color: grey">(402377)</span></li>

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

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

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

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

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

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

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

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

</ul>

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







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








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