
maxfwd Module

Bogdan Iancu

   FhG FOKUS

Edited by

Bogdan Iancu

   Copyright  2003 FhG FOKUS
     _________________________________________________________

   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. max_limit (integer)

        1.4. Exported Functions

              1.4.1. mf_process_maxfwd_header(max_value)

   2. Developer's Guide
   3. Frequently Asked Questions

   List of Examples
   1-1. mx_process_maxfwd_header usage
     _________________________________________________________

Chapter 1. User's Guide

1.1. Overview

   The module implements all the operations regarding MaX-Forward
   header field, like adding it (if not present) or decrementing
   and checking the value of the existent one.
     _________________________________________________________

1.2. Dependencies

1.2.1. SER Modules

   The following modules must be loaded before this module:

     * No dependencies on other SER modules.
     _________________________________________________________

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. max_limit (integer)

   This parameters limits the maximum value of
   mf_process_maxfwd_header function parameter. Values bigger
   than the value of this parameter will be rejected and SER will
   refuse to start. The limit can be disabled by setting this
   parameter to 0.

   Default value is 16.
     _________________________________________________________

1.4. Exported Functions

1.4.1. mf_process_maxfwd_header(max_value)

   If no Max-Forward header is present in the received request, a
   header will be added having the original value equal with
   "max_value". An OK code is returned by the function.

   If a Max-Forward header is already present, its value will be
   decremented. If after this operation its value will be
   positive non-zero, an OK code will be returned. Otherwise (for
   a zero value) an error code will be returned. Note that an
   error code will be also returned if the SIP message couldn't
   be parsed or if the Max-Forward header's body invalid (non
   numerical string or negative numerical value).

   Meaning of the parameters is as follows:

     * max_value - Value to be added if there is no Max-Forwards
       header field in the message.

   Example 1-1. mx_process_maxfwd_header usage
...
# initial sanity checks -- messages with
# max_forwards==0, or excessively long requests
if (!mf_process_maxfwd_header("10")) {
    sl_send_reply("483","Too Many Hops");
    break;
};
...
     _________________________________________________________

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 find more about SER?
   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 SER?

   Take a look at http://iptel.org/ser.

   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:

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

   E-mails regarding any stable version should be sent to
   <serusers@iptel.org> and e-mail regarding development versions
   or CVS snapshots should be send to <serdev@iptel.org>.

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

   3.3. How can I report a bug?

   Please follow the guidelines provided at:
   http://iptel.org/ser/bugs
