UAC AUTH Module
     __________________________________________________________

   Table of Contents

   1. Admin Guide

        1.1. Overview
        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.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. Bogdan-Andrei Iancu (@bogdan-iancu) 10 7 229 9
   3. Liviu Chircu (@liviuchircu) 8 6 27 61
   4. Razvan Crainea (@razvancrainea) 7 5 7 10
   5. Vlad Patrascu (@rvlad-patrascu) 6 4 44 30
   6. 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/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
                     Name                   Commit Activity
   1. Razvan Crainea (@razvancrainea)     Sep 2011 - Sep 2019
   2. Vlad Patrascu (@rvlad-patrascu)     May 2017 - Jul 2019
   3. Bogdan-Andrei Iancu (@bogdan-iancu) Mar 2012 - Apr 2019
   4. Liviu Chircu (@liviuchircu)         Mar 2014 - Nov 2018
   5. Peter Lemenkov (@lemenkov)          Jun 2018 - Jun 2018
   6. 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: Vlad Patrascu (@rvlad-patrascu), Peter Lemenkov
   (@lemenkov), Liviu Chircu (@liviuchircu), Bogdan-Andrei Iancu
   (@bogdan-iancu), Ovidiu Sas (@ovidiusas).

   Documentation Copyrights:

   Copyright © 2013 www.opensips-solutions.com

   Copyright © 2011 VoIP Embedded, Inc.
