Skip to content

URI_RADIUS module

This module implements some URI related Radius based tests.

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

  • none

The following libraries or applications must be installed before compilling OpenSIPS with this module loaded:

Radiusclient configuration file.

Default value is “/usr/local/etc/radiusclient-ng/radiusclient.conf”.

Set param_name parameter
...
modparam("uri_radius", "radius_config", "/etc/radiusclient.conf")
...

Radius service type used in radius_does_uri_exist and radius_does_uri_user_exist checks.

Default value is 10 (Call-Check).

Set service_type parameter
...
modparam("uri_radius", "service_type", 11)
...

If zero, radius_does_uri_exist sends to RADIUS server Request URI user@host in UserName attribute. If non-zero, radius_does_uri_exist sends to RADIUS server Request URI user in UserName attribute and host in SIP-URI-Host attribute.

Default value is 0.

Set use_sip_uri_host parameter
...
modparam("uri_radius", "use_sip_uri_host", 1)
...

Checks from Radius if user@host in Request-URI or in URI stored in pseudo variable argument belongs to a local user. Can be used to decide if 404 or 480 should be returned after lookup has failed. If yes, loads AVP based on SIP-AVP reply items returned from Radius. Each SIP-AVP reply item must have a string value of form:

  • value = SIP_AVP_NAME SIP_AVP_VALUE
  • SIP_AVP_NAME = STRING_NAME | ’#‘ID_NUMBER
  • SIP_AVP_VALUE = ’:‘STRING_VALUE | ’#‘NUMBER_VALUE

Returns 1 if Radius returns Access-Accept, -1 if Radius returns Access-Reject, and -2 in case of internal error.

This function can be used from REQUEST_ROUTE.

radius_does_uri_exist usage
...
if (radius_does_uri_exist()) {
...
};
...

Similar to radius_does_uri_exist, but check is done based only on Request-URI user part or user stored in pseudo variable argument. User should thus be unique among all users, such as an E.164 number.

This function can be used from REQUEST_ROUTE.

radius_does_uri_user_exist usage
...
if (radius_does_uri_user_exist()) {
...
};
...

Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)

#NameDevScoreCommitsLines++Lines—
1.Bogdan-Andrei Iancu (@bogdan-iancu)201710495
2.Juha Heinanen (@juha-h)146494156
3.Daniel-Constantin Mierla (@miconda)12102318
4.Jan Janak (@janakj)12561311
5.Stefan Darius (@dariusstefan)6317723
6.Maksym Sobolyev (@sobomax)523162
7.Andrei Pelinescu-Onciul4221
8.Anca Vamanu311111
9.Peter Nixon3147
10.Razvan Crainea (@razvancrainea)3122

All remaining contributors: Konstantin Bokarius, Edson Gellert Schubert, Elena-Ramona Modroiu, Jiri Kuthan (@jiriatipteldotorg).

(1) DevScore = author_commits + author_lines_added / (project_lines_added / project_commits) + author_lines_deleted / (project_lines_deleted / project_commits)

(2) including any documentation-related commits, excluding merge commits

(3) ignoring whitespace edits, renamed files and auto-generated files

#NameCommit Activity
1.Stefan Darius (@dariusstefan)Jun 2026 - Jul 2026
2.Razvan Crainea (@razvancrainea)Jun 2026 - Jun 2026
3.Bogdan-Andrei Iancu (@bogdan-iancu)Jun 2005 - Aug 2008
4.Juha Heinanen (@juha-h)May 2003 - Apr 2008
5.Daniel-Constantin Mierla (@miconda)Feb 2006 - Mar 2008
6.Konstantin BokariusMar 2008 - Mar 2008
7.Edson Gellert SchubertFeb 2008 - Feb 2008
8.Anca VamanuOct 2007 - Oct 2007
9.Peter NixonJan 2007 - Jan 2007
10.Elena-Ramona ModroiuOct 2005 - Oct 2005

All remaining contributors: Jan Janak (@janakj), Maksym Sobolyev (@sobomax), Andrei Pelinescu-Onciul, Jiri Kuthan (@jiriatipteldotorg).

(1) including any documentation-related commits, excluding merge commits

Last edited by: Razvan Crainea (@razvancrainea), Bogdan-Andrei Iancu (@bogdan-iancu), Juha Heinanen (@juha-h), Daniel-Constantin Mierla (@miconda), Konstantin Bokarius, Edson Gellert Schubert, Elena-Ramona Modroiu, Jan Janak (@janakj).

All documentation files (i.e. .md extension) are licensed under the Creative Common License 4.0