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



 <p>Ship it!</p>









<p>- Mark</p>


<br />
<p>On July 20th, 2012, 9:16 a.m., Guenther Kelleter wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/media/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, Mark Michelson, Matt Jordan, and Thomas Arimont.</div>
<div>By Guenther Kelleter.</div>


<p style="color: grey;"><i>Updated July 20, 2012, 9:16 a.m.</i></p>




<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;">This patch adds the feature &quot;Extended maximum number of pickupgroups (callgroup/pickupgroup)&quot;.

The feature is implemented as named pickup/call groups which can be used in parallel to but independent from the already known numbered call/pickup groups. Named groups will allow an unlimited number of pickup/call groups.
Named groups are configured with the keywords &quot;namedcallgroup&quot; and &quot;namedpickupgroup&quot; (conforming to &quot;callgroup&quot; and &quot;pickupgroup&quot;).
A namedpickupgroup &quot;4&quot; does not match the callgroup number 4.

Additionally the behavior of the undirected pickup is changed so that the oldest ringing channel (creation time of the channel) is picked up when more than one channel could be picked up. This will be required by another new feature which is yet to be posted.

A few words to describe the implementation:
Names of named groups are collected in a container at configuration time of a user. This container will be copied (in fact referenced) around to the channels in parallel with the numbered groups bitfield.
When an undirected pickup is executed, the pickup and call groups are matched against each other, and the oldest target channel which matches is chosen. Notably there is almost no overhead for the named group handling when no pickup is executed, except referencing of the containers.</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;">Call pickup tested for sip, dahdi and misdn channels. Reference counter handling of ao2_container (which includes the group names) checked with additional debug output.</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/CHANGES <span style="color: grey">(370245)</span></li>

 <li>/trunk/channels/chan_dahdi.c <span style="color: grey">(370245)</span></li>

 <li>/trunk/channels/chan_misdn.c <span style="color: grey">(370245)</span></li>

 <li>/trunk/channels/chan_sip.c <span style="color: grey">(370245)</span></li>

 <li>/trunk/channels/misdn/chan_misdn_config.h <span style="color: grey">(370245)</span></li>

 <li>/trunk/channels/misdn_config.c <span style="color: grey">(370245)</span></li>

 <li>/trunk/channels/sip/include/sip.h <span style="color: grey">(370245)</span></li>

 <li>/trunk/configs/chan_dahdi.conf.sample <span style="color: grey">(370245)</span></li>

 <li>/trunk/configs/misdn.conf.sample <span style="color: grey">(370245)</span></li>

 <li>/trunk/configs/sip.conf.sample <span style="color: grey">(370245)</span></li>

 <li>/trunk/include/asterisk/channel.h <span style="color: grey">(370245)</span></li>

 <li>/trunk/main/channel.c <span style="color: grey">(370245)</span></li>

 <li>/trunk/main/channel_internal_api.c <span style="color: grey">(370245)</span></li>

 <li>/trunk/main/features.c <span style="color: grey">(370245)</span></li>

</ul>

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




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








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