1. Avp_radius Module
Juha Heinanen
Copyright © 2004 Juha Heinanen
__________________________________________________________________
1.1. Overview
1.2. Parameters
1.2.1. radius_config (string)
1.2.2. caller_service_type (integer)
1.3. Functions
1.3.1. avp_load_radius(user)
1.1. Overview
avp_radius module allows loading of user's attributes into AVPs from
Radius. User's name and domain can be based on From URI, Request URI,
or authenticated credentials.
The module assumes that Radius returns the AVPs as values of reply
attribute SIP-AVP. Its value must be a string of form "name:value" or
of form "name#value". In the first case, value is interpreted as a
string and in the second case as an int (second case has not been
implemented yet).
The module prefixes each attribute name as returned from Radius by
string "caller_" or "callee_" depending if caller's or callee's
attributes are loaded.
1.2. Parameters
1.2.1. radius_config (string)
This is the location of the configuration file of radius client
libraries.
Default value is "/usr/local/etc/radiusclient/radiusclient.conf".
Example 1. radius_config parameter usage
modparam("avp_radius", "radius_config", "/etc/radiusclient.conf")
1.2.2. caller_service_type (integer)
This is the value of the Service-Type radius attribute to be used, when
caller's attributes are loaded.
Default value is dictionary value of "SIP-Caller-AVPs" Service-Type.
Example 2. radius_config parameter usage
modparam("avp_radius", "caller_service_type", 18)
1.3. Functions
1.3.1. avp_load_radius(user)
The functions loads user's attributes from radius and stores them into
AVPs. Parameter "user" is used to indicate, whose attributes are
loaded. Possible values are "caller", "caller_from_ruri", "callee", and
"digest".
In "caller" case, attributes belong to the user of the From URI, in
"callee" case, to the user of the Request URI, and, in "digest" case,
to the authenticated user.
The "caller_from_uri" case loads attribute value pairs defined for
caller (default SER-Caller-AVPs), but uses the user in the Request URI.
This is useful for the case where a call has been forwarded by callee
(Request URI) and you need to look up whether callee is allowed to
forward the call to ex. PSTN or if the call should be anonymous (i.e.
not show info about who diverted the call).
AVP name returned from Radius is prefixed by string "caller_", if
avp_load_radius parameter is "caller" or "digest", and by "callee_", if
parameter is "callee".
Example 3. avp_load_radius usage
...
avp_load_radius("callee")
...