UAC AUTH Module


Table of Contents

1. Admin Guide
1.1. Overview
1.1.1. RFC 8760 Support (Strenghtened Authentication)
1.2. Dependencies
1.2.1. OpenSIPS Modules
1.2.2. External Libraries or Applications
1.3. Exported Parameters
1.3.1. credential (string)
1.3.2. auth_realm_avp (string)
1.3.3. auth_username_avp (string)
1.3.4. auth_password_avp (string)
2. Contributors
2.1. By Commit Statistics
2.2. By Commit Activity
3. Documentation
3.1. Contributors

List of Tables

2.1. Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)
2.2. Most recently active contributors(1) to this module

List of Examples

1.1. Set credential parameter
1.2. Set auth_realm_avp parameter
1.3. Set auth_username_avp parameter
1.4. Set auth_password_avp parameter

Chapter 1. Admin Guide

1.1. Overview

UAC AUTH (User Agent Client Authentication) module provides a common API for building authentication headers.

It also provides a common set of authentication credetials to be used by other modules.

Note that authentication provided by this module supports both qop "auth" and qop "auth-int" but if both values are presented by the server, "auth" will be prefered.

1.1.1. RFC 8760 Support (Strenghtened Authentication)

Starting with OpenSIPS 3.2, the auth, auth_db and uac_auth modules include support for two new digest authentication algorithms ("SHA-256" and "SHA-512-256"), according to the RFC 8760 specs.

1.2. Dependencies

1.2.1. OpenSIPS Modules

  • None.

1.2.2. External Libraries or Applications

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

  • None

1.3. Exported Parameters

1.3.1. credential (string)

Contains a multiple definition of credentials used to perform authentication.

NOTE that the password can be provided as a plain text password or as a precalculated HA1 as a hexa (lower case) string (of 32 chars) prefixed with "0x" (so a total of 34 chars).

This parameter is required if UAC authentication is used.

Example 1.1. Set credential parameter

...
modparam("uac_auth","credential","username:domain:password")
modparam("uac_auth","credential","username:domain:0xc17ba8157756f263d07e158504204629")
...
				

1.3.2. auth_realm_avp (string)

The definition of an AVP that might contain the realm to be used to perform authentication.

If you define it, you also need to define auth_username_avp (auth_username_avp) and auth_password_avp (auth_password_avp).

Example 1.2. Set auth_realm_avp parameter

...
modparam("uac_auth","auth_realm_avp","$avp(10)")
...
				

1.3.3. auth_username_avp (string)

The definition of an AVP that might contain the username to be used to perform authentication.

If you define it, you also need to define auth_realm_avp (auth_realm_avp) and auth_password_avp (auth_password_avp).

Example 1.3. Set auth_username_avp parameter

...
modparam("uac_auth","auth_username_avp","$avp(11)")
...
				

1.3.4. auth_password_avp (string)

The definition of an AVP that might contain the password to be used to perform authentication. The password can be provided as a plain text password or as a precalculated HA1 as a hexa (lower case) string (of 32 chars) prefixed with "0x" (so a total of 34 chars) (for example "0xc17ba8157756f263d07e158504204629")

If you define it, you also need to define auth_realm_avp (auth_realm_avp) and auth_username_avp (auth_username_avp).

Example 1.4. Set auth_password_avp parameter

...
modparam("uac_auth","auth_password_avp","$avp(12)")
...
				

Chapter 2. Contributors

2.1. By Commit Statistics

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

 NameDevScoreCommitsLines ++Lines --
1. Ovidiu Sas (@ovidiusas)16786915
2. Bogdan-Andrei Iancu (@bogdan-iancu)11823610
3. Liviu Chircu (@liviuchircu)974061
4. Maksym Sobolyev (@sobomax)93121258
5. Razvan Crainea (@razvancrainea)86811
6. Vlad Patrascu (@rvlad-patrascu)644430
7. Peter Lemenkov (@lemenkov)3111

(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. Regarding imported patches/code, we do our best to count the work on behalf of the proper owner, as per the "fix_authors" and "mod_renames" arrays in opensips/doc/build-contrib.sh. If you identify any patches/commits which do not get properly attributed to you, please submit a pull request which extends "fix_authors" and/or "mod_renames".

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

2.2. By Commit Activity

Table 2.2. Most recently active contributors(1) to this module

 NameCommit Activity
1. Bogdan-Andrei Iancu (@bogdan-iancu)Mar 2012 - Apr 2023
2. Liviu Chircu (@liviuchircu)Mar 2014 - Aug 2021
3. Maksym Sobolyev (@sobomax)Sep 2020 - Mar 2021
4. Razvan Crainea (@razvancrainea)Sep 2011 - Jan 2021
5. Vlad Patrascu (@rvlad-patrascu)May 2017 - Jul 2019
6. Peter Lemenkov (@lemenkov)Jun 2018 - Jun 2018
7. Ovidiu Sas (@ovidiusas)Jun 2011 - Oct 2013

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

Chapter 3. Documentation

3.1. Contributors

Last edited by: Liviu Chircu (@liviuchircu), Vlad Patrascu (@rvlad-patrascu), Peter Lemenkov (@lemenkov), Bogdan-Andrei Iancu (@bogdan-iancu), Ovidiu Sas (@ovidiusas).

Documentation Copyrights:

Copyright © 2013 www.opensips-solutions.com

Copyright © 2011 VoIP Embedded, Inc.