[asterisk-dev] [Code Review] 4365: Adding AMQP backend for CDR and CEL

Matt Jordan reviewboard at asterisk.org
Sun Feb 8 19:50:02 CST 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4365/#review14429
-----------------------------------------------------------


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.

- Matt Jordan


On Feb. 5, 2015, 7:13 p.m., David Lee wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/4365/
> -----------------------------------------------------------
> 
> (Updated Feb. 5, 2015, 7:13 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> 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.
> 
> 
> Diffs
> -----
> 
>   /branches/13/res/res_amqp.exports.in PRE-CREATION 
>   /branches/13/res/res_amqp.c PRE-CREATION 
>   /branches/13/res/amqp/internal.h PRE-CREATION 
>   /branches/13/res/amqp/config.c PRE-CREATION 
>   /branches/13/res/amqp/cli.c PRE-CREATION 
>   /branches/13/res/Makefile 431095 
>   /branches/13/makeopts.in 431095 
>   /branches/13/include/asterisk/cel.h 431095 
>   /branches/13/include/asterisk/autoconfig.h.in 431095 
>   /branches/13/include/asterisk/amqp.h PRE-CREATION 
>   /branches/13/contrib/scripts/install_prereq 431095 
>   /branches/13/configure.ac 431095 
>   /branches/13/configs/samples/cel_amqp.conf.sample PRE-CREATION 
>   /branches/13/configs/samples/cdr_amqp.conf.sample PRE-CREATION 
>   /branches/13/configs/samples/amqp.conf.sample PRE-CREATION 
>   /branches/13/cel/cel_amqp.c PRE-CREATION 
>   /branches/13/cdr/cdr_amqp.c PRE-CREATION 
>   /branches/13/build_tools/menuselect-deps.in 431095 
> 
> Diff: https://reviewboard.asterisk.org/r/4365/diff/
> 
> 
> Testing
> -------
> 
> 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.
> 
> 
> Thanks,
> 
> David Lee
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150209/4d7de53a/attachment.html>


More information about the asterisk-dev mailing list