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

David Lee reviewboard at asterisk.org
Thu Feb 5 19:13:27 CST 2015

This is an automatically generated e-mail. To reply, visit:

(Updated Feb. 5, 2015, 7:13 p.m.)

Review request for Asterisk Developers.


Addressed review feedback.

* Used pre_apply_config
* Fixed a doc typo

Repository: Asterisk


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

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 (updated)

  /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/


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.


David Lee

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

More information about the asterisk-dev mailing list