← Volver al índice de módulos

misc_radius

The misc_radius module implements various RADIUS related functions. Functions exist for loading caller's or callee's attributes into AVPs, checking if user belongs to a group, and checking if a specif
⚙️ Scripting e Integración Kamailio 6.1 22 parámetros 15 funciones

Descripción general

The misc_radius module implements various RADIUS related functions. Functions exist for loading caller's or callee's attributes into AVPs, checking if user belongs to a group, and checking if a specific URI belongs to a user. It thus replaces old avp_radius, group_radius, and uri_radius modules. All functions of this module load AVPs from SIP-AVP reply items received from RADIUS upon a successful request. Value of the SIP-AVP reply item must be a string of form: * value = SIP_AVP_NAME SIP_AVP_VALUE * SIP_AVP_NAME = STRING_NAME | '#'ID_NUMBER * SIP_AVP_VALUE = ':'STRING_VALUE | '#'NUMBER_VALUE Example 1.1. “SIP-AVP” RADIUS AVP examples .... "email:joe@yahoo.com" -> STRING NAME AVP (email) with STRING VALUE (joe@yahoo.com) "#14:joe@yahoo.com" -> ID AVP (14) with STRING VALUE (joe@yahoo.com) "age#28" -> STRING NAME AVP (age) with INTEGER VALUE (28) "#14#28" -> ID AVP (14) with INTEGER VALUE (28) .... Unlike in old avp_radius module, functions radius_load_calle[re]_avps() do not prefix string names of AVPs by string “caller_” or “callee_” depending if caller's or callee's attributes were loaded. If you need these prefixes, make your RADIUS server to prepend them into attribute names when it constructs reply items. A new feature of misc_radius module is that it is now possible to include user defined extra RADIUS attributes in all requests send by functions of this module.

Documentación oficial: https://www.kamailio.org/docs/modules/stable/modules/misc_radius.html
Código fuente: https://github.com/kamailio/kamailio/tree/master/src/modules/misc_radius

Parámetros de configuración

ParámetroTipoDescripción
radius_config string 3.2. caller_service_type (integer) 3.3. callee_service_type (integer) 3.4. group_service_type (integer) 3.5. uri_service_type (integer) 3.6. caller_extra (string) 3.7. callee_extra (string) 3.8. group
caller_service_type integer 3.3. callee_service_type (integer) 3.4. group_service_type (integer) 3.5. uri_service_type (integer) 3.6. caller_extra (string) 3.7. callee_extra (string) 3.8. group_extra (string) 3.9. uri_extra (str
callee_service_type integer 3.4. group_service_type (integer) 3.5. uri_service_type (integer) 3.6. caller_extra (string) 3.7. callee_extra (string) 3.8. group_extra (string) 3.9. uri_extra (string) 3.10. use_sip_uri_host (intege
group_service_type integer 3.5. uri_service_type (integer) 3.6. caller_extra (string) 3.7. callee_extra (string) 3.8. group_extra (string) 3.9. uri_extra (string) 3.10. use_sip_uri_host (integer) 3.11. common_response (integer)
uri_service_type integer 3.6. caller_extra (string) 3.7. callee_extra (string) 3.8. group_extra (string) 3.9. uri_extra (string) 3.10. use_sip_uri_host (integer) 3.11. common_response (integer)
caller_extra string 3.7. callee_extra (string) 3.8. group_extra (string) 3.9. uri_extra (string) 3.10. use_sip_uri_host (integer) 3.11. common_response (integer)
callee_extra string 3.8. group_extra (string) 3.9. uri_extra (string) 3.10. use_sip_uri_host (integer) 3.11. common_response (integer)
group_extra string 3.9. uri_extra (string) 3.10. use_sip_uri_host (integer) 3.11. common_response (integer)
uri_extra string 3.10. use_sip_uri_host (integer) 3.11. common_response (integer)
use_sip_uri_host integer 3.11. common_response (integer)
common_response integer 3.1. radius_config (string)
radius_config string This is the location of the configuration file of radius client libraries.
caller_service_type integer This is the value of the Service-Type radius attribute to be used, when caller's attributes are loaded.
callee_service_type integer This is the value of the Service-Type radius attribute to be used, when callee's attributes are loaded.
group_service_type integer This is the value of Service-Type RADIUS attribute to be used, when radius_is_user_in() function is called.
uri_service_type integer This is the value of Service-Type RADIUS attribute to be used, when radius_does_uri[_user]_exist() function is called.
caller_extra string Semi-colon separated list of extra RADIUS attribute name=pseudo variable pairs. When radius_load_caller_avps() is called, the listed extra attributes are included RADIUS request with current values of
callee_extra string Semi-colon separated list of extra RADIUS attribute name=pseudo variable pairs. When radius_load_callee_avps() is called, the listed extra attributes are included RADIUS request with current values of
group_extra string Semi-colon separated list of extra RADIUS attribute name=pseudo variable pairs. When radius_is_user_in() is called, the listed extra attributes are included RADIUS request with current values of corre
uri_extra string Semi-colon separated list of extra RADIUS attribute name=pseudo variable pairs. When radius_does_uri[_user]_exist() function is called, the listed extra attributes are included in RADIUS request with
use_sip_uri_host integer If zero, radius_does_uri_exist() function sends to RADIUS server userpart@hostpart in UserName attribute. If non-zero, radius_does_uri_exist() function sends to RADIUS server userpart in UserName attr
common_response integer Set it to 1 if you need common radius response attributes to be added as AVPs in radius_load_caller_avps and radius_load_callee_avps with name as radius attribute name and value as radius attribute va

Funciones exportadas

radius_load_caller_avps(caller)

4.2. radius_load_callee_avps(callee) 4.3. radius_is_user_in(user, group) 4.4. radius_does_uri_exist([uri]) 4.5. radius_does_uri_user_exist([user])

radius_load_callee_avps(callee)

4.3. radius_is_user_in(user, group) 4.4. radius_does_uri_exist([uri]) 4.5. radius_does_uri_user_exist([user])

radius_is_user_in(user, group)

4.4. radius_does_uri_exist([uri]) 4.5. radius_does_uri_user_exist([user])

radius_does_uri_exist([uri])

4.5. radius_does_uri_user_exist([user])

radius_does_uri_user_exist([user])

4.1. radius_load_caller_avps(caller)

radius_load_caller_avps(caller)

The functions loads caller's attributes from radius and stores them into AVPs. Parameter “caller” is a string that may contain pseudo variables. It indicates the user, whose attributes are loaded.

radius_load_caller_avps()

usage ... radius_load_caller_avps("$fU@$fd"); # take caller from From URI ... radius_load_caller_avps("$au@$ar"); # take caller from Authorization ... # or Proxy-Authorization header

radius_load_callee_avps(callee)

The functions loads callee's attributes from radius and stores them into AVPs. Parameter “callee” is a string that may contain pseudo variables. It indicates the user, whose attributes are loaded.

radius_load_callee_avps()

usage ... radius_load_callee_avps("$rU@$rd"); # take callee from Request-URI ...

radius_is_user_in(user, group)

The functions checks from RADIUS, if user given in first argument belongs to group given in second argument. Both arguments are strings, but user string may also contain pseudo variables. In case of positive result, loads AVPs from SIP-AVP reply item

radius_is_user_in()

usage ... radius_is_user_in("$rU@$rd", "1"); # take user from Request-URI ... radius_is_user_in("$au@$ar", "group_x");# take user from credentials ...

radius_does_uri_exist([uri])

Checks from RADIUS if userpart@hostpart of Request-URI or of an URI stored in optional pseudo variable argument belongs to a local user. In case of positive result, loads AVPs from SIP-AVP reply items, if any.

radius_does_uri_exist()

usage ... if (radius_does_uri_exist()) ... # check Request-URI ... if (radius_does_uri_exist("$avp(i:99)")) ... # check URI in $avp(i:99) ...

radius_does_uri_user_exist([user])

Similar to radius_does_uri_exist, but check is done based only on Request-URI userpart or userpart stored in optional pseudo variable argument. Userpart should thus be unique among all user URIs, such as an E.164 number. In case of positive result, l

radius_does_uri_user_exist()

usage ... if (radius_does_uri_user_exist()) ... # check Request-URI userpart ... if (radius_does_uri_exist("$fU")) ... # check From URI userpart ...

Autores y contribuidores

Juha Heinanen <jh@tutpro.com>Daniel-Constantin Mierla <miconda@gmail.com>

Copyright © 2004-2008 Juha Heinanen

Módulos relacionados

app_lua app_perl app_python app_python3 app_python3s app_ruby app_ruby_proc async