1. UAC Module

Ramona-Elena Modroiu

Voice System
Revision History
Revision $Revision$ $Date$

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

Revision History
Revision $Revision$ $Date$

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

Revision History
Revision $Revision$ $Date$

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();
...