
UAC Module

Ramona-Elena Modroiu

   Voice System

Edited by

Ramona-Elena Modroiu

   Copyright © 2005 Voice Sistem
     _________________________________________________________

   Table of Contents
   1. User's Guide

        1.1. Overview
        1.2. Dependencies

              1.2.1. SER Modules
              1.2.2. External Libraries or Applications

        1.3. Exported Parameters

              1.3.1. from_store_param (string)
              1.3.2. from_restore_mode (integer)
              1.3.3. credential (string)

        1.4. Exported Functions

              1.4.1. uac_replace_from(display,uri)
              1.4.2. uac_replace_from(uri)
              1.4.3. uac_restore_from()
              1.4.4. uac_auth()

        1.5. Installation & Running

   2. Developer's Guide
   3. Frequently Asked Questions

   List of Examples
   1-1. Set from_store_param parameter
   1-2. Set from_restore_mode parameter
   1-3. Set credential parameter
   1-4. uac_replace_from usage
   1-5. uac_replace_from usage
   1-6. uac_restore_from usage
   1-7. uac_auth usage
     _________________________________________________________

Chapter 1. User's Guide

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

1.2.1. SER Modules

   The following modules must be loaded before this module:

     * TM - Transaction Module
     _________________________________________________________

1.2.2. External Libraries or Applications

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

     * None
     _________________________________________________________

1.3. Exported Parameters

1.3.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-1. Set from_store_param parameter
...
modparam("uac","from_store_param","my_param")
...
     _________________________________________________________

1.3.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 1-2. Set from_restore_mode parameter 
...
modparam("uac","from_restore_mode","1")
...
     _________________________________________________________

1.3.3. credential (string)

   Contains a multiple definition of credentials used to perform
   authentication.

   This parameter is required if UAC authentication is used. 

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

1.4. Exported Functions

1.4.1. uac_replace_from(display,uri)

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

   Example 1-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.4.2. uac_replace_from(uri)

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

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

1.4.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 1-6. uac_restore_from usage
...
uac_restore_from();
...
     _________________________________________________________

1.4.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 1-7. uac_auth usage
...
uac_auth();
...
     _________________________________________________________

1.5. Installation & 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.
     _________________________________________________________

Chapter 2. Developer's Guide

   The module does not provide any sort of API to use in other
   SER modules.
     _________________________________________________________

Chapter 3. Frequently Asked Questions

   3.1. Where can I post a question about this module?
   3.2. How can I report a bug?

   3.1. Where can I post a question about this module?

   Sent an email to <support@voice-system.ro> or, if you want to
   keep the mail private, send it to <ramona@voice-system.ro>.

   Remember: first at all, check if your question was already
   answered on one of SER mailing lists:

     * http://mail.iptel.org/mailman/listinfo/serusers
     * http://mail.iptel.org/mailman/listinfo/serdev

   3.2. How can I report a bug?

   Accumulate as much as possible information (SER version, ser
   -V output, your OS (uname -a), SER logs, network dumps, core
   dump files, configuration file) and send a mail to
   <support@voice-system.ro>
