
uri Module

Jan Janak

   FhG FOKUS

Edited by

Jan Janak

Bogdan-Andrei Iancu

   Copyright © 2003 FhG FOKUS

   Copyright © 2005 voice-system.ro
     _________________________________________________________

   Table of Contents
   1. User's Guide

        1.1. Overview
        1.2. Dependencies

              1.2.1. OpenSER Modules
              1.2.2. External Libraries or Applications

        1.3. Exported Parameters
        1.4. Exported Functions

              1.4.1. is_user(username)
              1.4.2. has_totag()
              1.4.3. uri_param(param)
              1.4.4. uri_param(param,value)
              1.4.5. add_uri_param(param)
              1.4.6. tel2sip()
              1.4.7. is_uri_user_e164(pseudo-variable)

   2. Developer's Guide
   3. Frequently Asked Questions

   List of Examples
   1-1. is_user usage
   1-2. has_totag usage
   1-3. uri_param usage
   1-4. uri_param usage
   1-5. add_uri_param usage
   1-6. tel2sip usage
   1-7. is_uri_user_e164 usage
     _________________________________________________________

Chapter 1. User's Guide

1.1. Overview

   Various checks related to SIP URI.
     _________________________________________________________

1.2. Dependencies

1.2.1. OpenSER Modules

   None.
     _________________________________________________________

1.2.2. External Libraries or Applications

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

     * None.
     _________________________________________________________

1.3. Exported Parameters

   None.
     _________________________________________________________

1.4. Exported Functions

1.4.1. is_user(username)

   Check if the username in credentials matches the given
   username.

   Meaning of the parameters is as follows:

     * username - Username string.

   This function can be used from REQUEST_ROUTE.

   Example 1-1. is_user usage
...
if (is_user("john")) {
        ...
};
...
     _________________________________________________________

1.4.2. has_totag()

   Check if To header field uri contains tag parameter.

   This function can be used from REQUEST_ROUTE.

   Example 1-2. has_totag usage
...
if (has_totag()) {
        ...
};
...
     _________________________________________________________

1.4.3. uri_param(param)

   Find if Request URI has a given parameter with no value

   Meaning of the parameters is as follows:

     * param - parameter name to look for.

   This function can be used from REQUEST_ROUTE.

   Example 1-3. uri_param usage
...
if (uri_param("param1")) {
        ...
};
...
     _________________________________________________________

1.4.4. uri_param(param,value)

   Find if Request URI has a given parameter with matching value

   Meaning of the parameters is as follows:

     * param - parameter name to look for.
     * value - parameter value to match.

   This function can be used from REQUEST_ROUTE.

   Example 1-4. uri_param usage
...
if (uri_param("param1","value1")) {
        ...
};
...
     _________________________________________________________

1.4.5. add_uri_param(param)

   Add to RURI a parameter (name=value);

   Meaning of the parameters is as follows:

     * param - parameter to be appended in "name=value" format.

   This function can be used from REQUEST_ROUTE.

   Example 1-5. add_uri_param usage
...
add_uri_param("nat=yes");
...
     _________________________________________________________

1.4.6. tel2sip()

   Converts RURI, if it is tel URI, to SIP URI. Returns true,
   only if conversion succeeded or if no conversion was needed
   (like RURI was not tel URI.

   This function can be used from REQUEST_ROUTE.

   Example 1-6. tel2sip usage
...
tel2sip();
...
     _________________________________________________________

1.4.7. is_uri_user_e164(pseudo-variable)

   Checks if userpart of URI stored in pseudo variable is E164
   number.

   This function can be used from REQUEST_ROUTE and
   FAILURE_ROUTE.

   Example 1-7. is_uri_user_e164 usage
...
if (is_uri_user_e164("$fu")) {  # Check From header URI user part
   ...
}
if (is_uri_user_e164("$avp(i:705)") {
   # Check user part of URI stored in avp i:705
   ...
};
...
     _________________________________________________________

Chapter 2. Developer's Guide

   The module does not provide any API to use in other OpenSER
   modules.
     _________________________________________________________

Chapter 3. Frequently Asked Questions

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

   3.1. Where can I find more about OpenSER?

   Take a look at http://openser.org/.

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

   First at all check if your question was already answered on
   one of our mailing lists:

     * User Mailing List -
       http://openser.org/cgi-bin/mailman/listinfo/users
     * Developer Mailing List -
       http://openser.org/cgi-bin/mailman/listinfo/devel

   E-mails regarding any stable OpenSER release should be sent to
   <users@openser.org> and e-mails regarding development versions
   should be sent to <devel@openser.org>.

   If you want to keep the mail private, send it to
   <team@openser.org>.

   3.3. How can I report a bug?

   Please follow the guidelines provided at:
   http://sourceforge.net/tracker/?group_id=139143.
