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

David Lee reviewboard at asterisk.org
Thu Feb 5 19:11:42 CST 2015



> On Feb. 4, 2015, 8:21 a.m., Joshua Colp wrote:
> > /branches/13/include/asterisk/cel.h, lines 37-38
> > <https://reviewboard.asterisk.org/r/4365/diff/3/?file=71072#file71072line37>
> >
> >     Why were these added here?

Both are used in this file. If you don't happen to #include them prior to cel.h in your .c file, it fails to compile.


> On Feb. 4, 2015, 8:21 a.m., Joshua Colp wrote:
> > /branches/13/res/amqp/config.c, lines 228-240
> > <https://reviewboard.asterisk.org/r/4365/diff/3/?file=71076#file71076line228>
> >
> >     This should be done in the pre_apply_config callback so the configuration is completely validated before doing the atomic swap.
> >     
> >     As well - should connection validation failure cause the config to not get applied in that case?

> should connection validation failure cause the config to not get applied in that case?

Yup. Fixed.


- David


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


On Jan. 26, 2015, 9:16 a.m., David Lee wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/4365/
> -----------------------------------------------------------
> 
> (Updated Jan. 26, 2015, 9:16 a.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/20150206/4b181bfa/attachment-0001.html>


More information about the asterisk-dev mailing list