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:0xc17ba8157756f263d07e
158504204629")
...

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)
     Name DevScore Commits Lines ++ Lines --
   1. Ovidiu Sas (@ovidiusas) 16 7 869 15
   2. Liviu Chircu (@liviuchircu) 11 8 41 62
   3. Maksym Sobolyev (@sobomax) 11 4 123 260
   4. Bogdan-Andrei Iancu (@bogdan-iancu) 10 7 229 9
   5. Razvan Crainea (@razvancrainea) 9 7 10 13
   6. Vlad Patrascu (@rvlad-patrascu) 6 4 44 30
   7. Bence Szigeti 3 1 7 1
   8. Peter Lemenkov (@lemenkov) 3 1 1 1

   (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/docs/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
                     Name                   Commit Activity
   1. Razvan Crainea (@razvancrainea)     Sep 2011 - Jun 2026
   2. Liviu Chircu (@liviuchircu)         Mar 2014 - Sep 2024
   3. Bence Szigeti                       Apr 2023 - Apr 2023
   4. Maksym Sobolyev (@sobomax)          Sep 2020 - Feb 2023
   5. Vlad Patrascu (@rvlad-patrascu)     May 2017 - Jul 2019
   6. Bogdan-Andrei Iancu (@bogdan-iancu) Mar 2012 - Apr 2019
   7. Peter Lemenkov (@lemenkov)          Jun 2018 - Jun 2018
   8. 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: Razvan Crainea (@razvancrainea), 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.
