1. UAC Module

Ramona-Elena Modroiu

   Asipto

   Copyright © 2005 Voice Sistem
     __________________________________________________________________

   1.1. Overview
   1.2. Dependencies
   1.3. Installation And Running
   1.4. Parameters

        1.4.1. from_store_param (string)
        1.4.2. from_restore_mode (integer)
        1.4.3. credential (string)

   1.5. Functions

        1.5.1. uac_replace_from(display,uri)
        1.5.2. uac_replace_from(uri)
        1.5.3. uac_restore_from()
        1.5.4. uac_auth()

1.1. Overview

   UAC (User Agent Client) module provides some basic UAC functionalities
   like FROM header manipulation (anonymization) or client authentication.

   Known limitations in this version:
     * authentication does not support qop

1.2. Dependencies

   The following modules must be loaded before this module:
     * TM - Transaction Module.

1.3. Installation And Running

   The UAC module requires additional functionality in TM module for
   implementing full FROM restoring. If you use from_restore_mode 1 or 2,
   you will need to apply the patch replace_from.patch located in the
   "doc" directory of UAC module.

1.4. Parameters

1.4.1. from_store_param (string)

   Name of FROM header parameter that will be used to store (encoded) the
   original FROM URI.

   This parameter is optional, it's default value being "vsf".

   Example 1. Set from_store_param parameter
...
modparam("uac","from_store_param","my_param")
...

1.4.2. from_restore_mode (integer)

   There are 3 mode of restoring the original FROM URI:
     * 0 - NO RESTORE - no information about original URI is stored.
     * 1 - AUTO RESTORE - all sequential request will be automatically
       updated based on stored original URI.
     * 2 - MANUAL RESTORE - all sequential requests/replies must be
       manually updated based on original URI.

   This parameter is optional, it's default value being 0.

   Example 2. Set from_restore_mode parameter
...
modparam("uac","from_restore_mode","1")
...

1.4.3. credential (string)

   Contains a multiple definition of credentials used to perform
   authentication.

   This parameter is required if UAC authentication is used.

   Example 3. Set credential parameter
...
modparam("uac","credential","username:domain:password")
...

1.5. Functions

1.5.1.  uac_replace_from(display,uri)

   Replace in FROM header the display name and the URI part.

   Example 4. uac_replace_from usage
...
uac_replace_from("batman","sip:batman@gotham.org");
uac_replace_from("","sip:robin@gotham.org");
uac_replace_from("batman","");
...

1.5.2.  uac_replace_from(uri)

   Replace in FROM header the URI part without altering the display name.

   Example 5. uac_replace_from usage
...
uac_replace_from("sip:batman@gotham.org");
...

1.5.3.  uac_restore_from()

   This function will check if the FROM URI was modified and will use the
   information stored in header parameter to restore the original FROM URI
   value.

   Example 6. uac_restore_from usage
...
uac_restore_from();
...

1.5.4.  uac_auth()

   This function can be called only from failure route and will build the
   authentication response header and insert it into the request without
   sending anything.

   Example 7. uac_auth usage
...
uac_auth();
...