Juha Heinanen

Daniel-Constantin Mierla

Edited by

Daniel-Constantin Mierla

Table of Contents

1. Admin Guide
1. Overview
2. Dependencies
2.1. Kamailio Modules
2.2. External Libraries or Applications
3. Exported Parameters
3.1. radius_config (string)
3.2. radius_flag (integer)
3.3. radius_missed_flag (integer)
3.4. service_type (integer)
3.5. radius_extra (string)
4. Exported Functions
4.1. acc_rad_request(comment)

List of Examples

1.1. radius_config example
1.2. radius_flag example
1.3. radius_missed_flag example
1.4. service_type example
1.5. radius_extra example
1.6. acc_rad_request usage

Chapter 1. Admin Guide

1. Overview

ACC_RADIUS module is used to account transaction information to RADIUS server. It binds to ACC module API and uses the same accounting mechanisms as for other backends.

Therefore you need this module just to send accounting data to a RADIUS server - for more documentation regarding accounting, see the ACC readme.

2. Dependencies

2.1. Kamailio Modules

The module depends on the following modules (in the other words the listed modules must be loaded before this module):

  • acc - accounting module

2.2. External Libraries or Applications

The following libraries or applications must be installed before running Kamailio with this module loaded:

3. Exported Parameters

3.1. radius_config (string)

This parameter is radius specific. Path to radius client configuration file, set the referred config file correctly and specify there address of server, shared secret (should equal that in /usr/local/etc/raddb/clients for freeRadius servers) and dictionary, see etc for an example of config file and dictionary.

If the parameter is set to empty string, the RADIUS accounting support will be disabled (even if compiled).

Default value is “NULL”.

Example 1.1. radius_config example

modparam("acc_radius", "radius_config", "/etc/radiusclient/radiusclient.conf")

3.2. radius_flag (integer)

Request flag which needs to be set to account a transaction -- RADIUS specific.

Default value is not-set (no flag).

Example 1.2. radius_flag example

modparam("acc_radius", "radius_flag", 2)

3.3. radius_missed_flag (integer)

Request flag which needs to be set to account missed calls -- RADIUS specific.

Default value is not-set (no flag).

Example 1.3. radius_missed_flag example

modparam("acc_radius", "radius_missed_flag", 3)

3.4. service_type (integer)

Radius service type used for accounting.

Default value is 15 (SIP).

Example 1.4. service_type example

modparam("acc_radius", "service_type", 16)

3.5. radius_extra (string)

Extra values to be logged via RADIUS - RADIUS specific.

Default value is NULL.

Example 1.5. radius_extra example

modparam("acc_radius", "radius_extra", "via=$hdr(Via[*]); email=$avp(s:email)")

4. Exported Functions

4.1.  acc_rad_request(comment)

Like acc_log_request of acc module, acc_rad_request reports on a SIP request event. It reports to radius server as configured in “radius_config”.

Meaning of the parameters is as follows:

  • comment - Comment to be appended.

This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.

Example 1.6. acc_rad_request usage

acc_rad_request("Some comment");
acc_rad_request("200 From Config");