[asterisk-dev] [Code Review] Diameter implementation of Asterisk CDR

Russell Bryant russell at digium.com
Fri May 29 11:04:51 CDT 2009


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.digium.com/r/268/
-----------------------------------------------------------

(Updated 2009-05-29 11:04:51.733584)


Review request for Asterisk Developers.


Changes
-------

Added mantis issue number


Summary
-------

The feature implements Base Accounting of Diameter protocol, the next generation AAA protocol which overcomes the drawbacks of RADIUS.

The architecture and design of the feature (diameter module) can be extended for applications like prepaid and credit control with ease.

The feature provides interface to integrate it with CDR module of asterisk.

Accounting in Diameter is handled in two different ways, Real-time accounting and One-time(Event based) accounting. The module takes care of both the types.

With the existing CDR feature of asterisk, one-time accounting is enabled and tested. The feature uses TCP for peer support. Peer state machine and Accounting Session state machine are implemented with reference to RFC 3588.
Every time CDR of a call is posted in asterisk, this feature sends an accounting message with CDR information to the Diameter Server. This feature also takes care of packet loss, retransmission and failover as per RFC 3588.

Interim accounting is also implemented in the feature but not tested. It is not yet integrated and enabled with Asterisk as I could not find a proper Diameter server to test Interim accounting. Storing and sending of accounting records in case of failures is not done as of now.


This addresses bug 15006.
    https://issues.asterisk.org/view.php?id=15006


Diffs
-----

  /trunk/cdr/Makefile 197957 
  /trunk/cdr/cdr_diameter.c PRE-CREATION 
  /trunk/cdr/diameter/diameter_avp.h PRE-CREATION 
  /trunk/cdr/diameter/diameter_avp.c PRE-CREATION 
  /trunk/cdr/diameter/diameter_base.h PRE-CREATION 
  /trunk/cdr/diameter/diameter_base.c PRE-CREATION 
  /trunk/cdr/diameter/diameter_message.h PRE-CREATION 
  /trunk/cdr/diameter/diameter_message.c PRE-CREATION 
  /trunk/cdr/diameter/diameter_module.tar.gz UNKNOWN 
  /trunk/cdr/diameter/diameter_session.h PRE-CREATION 
  /trunk/cdr/diameter/diameter_session.c PRE-CREATION 
  /trunk/cdr/diameter/diameter_transaction.h PRE-CREATION 
  /trunk/cdr/diameter/diameter_transaction.c PRE-CREATION 
  /trunk/cdr/diameter/diameter_transport.h PRE-CREATION 
  /trunk/cdr/diameter/diameter_transport.c PRE-CREATION 
  /trunk/cdr/diameter/tags PRE-CREATION 

Diff: http://reviewboard.digium.com/r/268/diff


Testing
-------

The one-time accounting of this module is tested only with CDF Simulator of Open Cloud Diameter Resource Adaptors and Simulators.


Thanks,

leena_m




More information about the asterisk-dev mailing list