[OpenSER-Users] FreeRADIUS-CDRTool Connector

Norman Brandinger norm at goes.com
Wed Aug 22 18:42:10 CEST 2007


There is a new link on the docuwiki under External tutorials:

http://openser.org/dokuwiki/doku.php/start

The project is located at:

http://frad-cdrtool.sourceforge.net


Thank you Dan-Cristian Bogos for making the FreeRADIUS-CDRTool Connector
available to OpenSER users !!!

>From his README:

FreeRADIUS-CDRTool is a freeradius module able to connect on the CDRTool
prepaid engine through TCP API and implement a basic prepaid level for
calls passing through OpenSER. I have created this module in my spare
time and not being really expert in Python, so please watch it when u
judge me ;).I am releasing this module free of any costs to be used or
modified by anyone needs to (GPL), and I will try my best to support it
from my own resources if this will be necessary, based on the respect I
have for opensource software and community.

Functionality and concepts behind:

For calls being necessary to be authenticated, openser will send a
Radius Access-Request packet which will contain the username and the
destination for the call. As per configuration, freeradius will send
those packets, sanitized by the digest module to python which will use
the authorize function (again as per configuration). This function will
query cdrtool as per described API (CDRTool PREPAID documentation) and
return the necessary information back to OpenSER through the recommended
way of SIP-AVP. The avps received will be available in openser as:
callMaxDur and credit, where callMaxDur is the maximum duration the user
is allowed to be connected with the destination and credit represents
the amount of credit available at starting of the call. This info can be
used later in an bbua able to timeout calls based on duration.

At the starting of the call, freeradius-cdrtool module will record the
timestamps for Accounting-Start packet received from OpenSER in the
memory, so it should spare some processing time without being necessary
to query any database for this later.

When the call will be ended, OpenSER should inform FreeRADIUS about
this, therefore freeradius-cdrtool beeing able to unlock the account as
well as announce CDRTool to debit the necessary balance for the call
from the user's account.

In the case of failed calls, freeradius-cdrtool will properly unlock the
accounts without debiting any credit from user's accounts.





More information about the Users mailing list