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





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Since this is about ready to go in - for this to go into Asterisk 13, it really needs at least some basic tests for the CDR/CEL modules. I've got a branch I'm starting for that on the testsuite at http://svn.asterisk.org/svn/testsuite/asterisk/team/mjordan/rabbit-mq.</pre>
 <br />









<p>- Matt Jordan</p>


<br />
<p>On February 5th, 2015, 7:13 p.m. CST, David Lee 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 David Lee.</div>


<p style="color: grey;"><i>Updated Feb. 5, 2015, 7:13 p.m.</i></p>









<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;">This patch adds an AMQP backend for both CDR and CEL. This allows these
logs to be dispatched to a message broker, such as RabbitMQ, where they
can reliably be queued for transmission to the handling application.

The res_amqp module adds core AMQP protocol support. The provided API
only supports publishing, since that's all that's needed for CDR/CEL.
The AMQP feature of supporting multiple 'channels' per connection was
also omitted. The underlying librabbitmq library is not thread safe, so
the multiplexing benefits are limited. It also makes using the library
more complicated, since clients have to worry about both connections and
channels.

The cdr_amqp module simply registers a CDR backend which encodes CDRs as
JSON, and publishes them to an AMQP connection.

The cel_amqp module similarly registers a CEL backend, which encodes
CELs as JSON, and publishes them to an AMQP connection.
</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 amqp-consume to print messages sent to queues.

Confirmed that the amqp test command sent messages properly.

Confirmed that CDRs were properly sent.

Confirmed that CELs were properly sent.</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_amqp.exports.in <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/branches/13/res/res_amqp.c <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/branches/13/res/amqp/internal.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/branches/13/res/amqp/config.c <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/branches/13/res/amqp/cli.c <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/branches/13/res/Makefile <span style="color: grey">(431095)</span></li>

 <li>/branches/13/makeopts.in <span style="color: grey">(431095)</span></li>

 <li>/branches/13/include/asterisk/cel.h <span style="color: grey">(431095)</span></li>

 <li>/branches/13/include/asterisk/autoconfig.h.in <span style="color: grey">(431095)</span></li>

 <li>/branches/13/include/asterisk/amqp.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/branches/13/contrib/scripts/install_prereq <span style="color: grey">(431095)</span></li>

 <li>/branches/13/configure.ac <span style="color: grey">(431095)</span></li>

 <li>/branches/13/configs/samples/cel_amqp.conf.sample <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/branches/13/configs/samples/cdr_amqp.conf.sample <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/branches/13/configs/samples/amqp.conf.sample <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/branches/13/cel/cel_amqp.c <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/branches/13/cdr/cdr_amqp.c <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/branches/13/build_tools/menuselect-deps.in <span style="color: grey">(431095)</span></li>

</ul>

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







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








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