You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kamailio/modules/pua_reginfo
Victor Seva 4a31eece25
upstream 4.0.1 version. No sipwise patches.
13 years ago
..
doc upstream 4.0.1 version. No sipwise patches. 13 years ago
Makefile upstream 4.0.1 version. No sipwise patches. 13 years ago
README upstream 4.0.1 version. No sipwise patches. 13 years ago
notify.c upstream 4.0.1 version. No sipwise patches. 13 years ago
notify.h upstream 4.0.1 version. No sipwise patches. 13 years ago
pua_reginfo.c upstream 4.0.1 version. No sipwise patches. 13 years ago
pua_reginfo.h upstream 4.0.1 version. No sipwise patches. 13 years ago
subscribe.c upstream 4.0.1 version. No sipwise patches. 13 years ago
subscribe.h upstream 4.0.1 version. No sipwise patches. 13 years ago
usrloc_cb.c upstream 4.0.1 version. No sipwise patches. 13 years ago
usrloc_cb.h upstream 4.0.1 version. No sipwise patches. 13 years ago

README

pua_reginfo Module

Carsten Bock

   <carsten@ng-voice.com>

Edited by

Carsten Bock

   <carsten@ng-voice.com>

   Copyright © 2011 Carsten Bock, carsten@ng-voice.com,
   http://www.ng-voice.com
     __________________________________________________________________

   Table of Contents

   1. Admin Guide

        1. Overview
        2. Dependencies

              2.1. Kamailio Modules
              2.2. External Libraries or Applications

        3. Parameters

              3.1. default_domain(str)
              3.2. default_domain(str)
              3.3. publish_reginfo(int)
              3.4. outbound_proxy(str)
              3.5. server_address(str)

        4. Functions

              4.1. reginfo_handle_notify
              4.2. reginfo_subscribe(uri[, expires])

   List of Examples

   1.1. Set default_domain parameter
   1.2. Set default_domain parameter
   1.3. Set publish_reginfo parameter
   1.4. Set outbound_proxy parameter
   1.5. Set server_address parameter
   1.6. reginfo_handle_notify usage
   1.7. reginfo_subscribe usage

Chapter 1. Admin Guide

   Table of Contents

   1. Overview
   2. Dependencies

        2.1. Kamailio Modules
        2.2. External Libraries or Applications

   3. Parameters

        3.1. default_domain(str)
        3.2. default_domain(str)
        3.3. publish_reginfo(int)
        3.4. outbound_proxy(str)
        3.5. server_address(str)

   4. Functions

        4.1. reginfo_handle_notify
        4.2. reginfo_subscribe(uri[, expires])

1. Overview

   This modules publishes information about "reg"-events according to to
   RFC 3680. This can be used distribute the registration-info status to
   the subscribed watchers.

   This module "PUBLISH"es information when a new user registers at this
   server (e.g. when "save()" is called) to users, which have subscribed
   for the reg-info for this user.

   This module can "SUBSCRIBE" for information at another server, so it
   will receive "NOTIFY"-requests, when the information about a user
   changes.

   And finally, it can process received "NOTIFY" requests and it will
   update the local registry accordingly.

   Use cases for this might be:
     * Keeping different Servers in Sync regarding the location database
     * Get notified, when a user registers: A presence-server, which
       handles offline message storage for an account, would get notified,
       when the user comes online.
     * A client could subscribe to it's own registration-status, so he
       would get notified as soon as his account gets administratively
       unregistered.
     * ...

2. Dependencies

   2.1. Kamailio Modules
   2.2. External Libraries or Applications

2.1. Kamailio Modules

   The following modules must be loaded before this module:
     * pua.
     * usrloc.

2.2. External Libraries or Applications

   None.

3. Parameters

   3.1. default_domain(str)
   3.2. default_domain(str)
   3.3. publish_reginfo(int)
   3.4. outbound_proxy(str)
   3.5. server_address(str)

3.1. default_domain(str)

   The default domain for the registered users to be used when
   constructing the uri for the registrar callback.

   Default value is “NULL”.

   Example 1.1. Set default_domain parameter
...
modparam("pua_bla", "default_domain", "kamailio.org")
...

3.2. default_domain(str)

   The domain to be used to publish information about a user.

   Example 1.2. Set default_domain parameter
...
modparam("pua_reginfo", "default_domain", "kamailio.org")
...

3.3. publish_reginfo(int)

   Whether or not to generate PUBLISH requests.

   Default value is “1” (enabled).

   Example 1.3. Set publish_reginfo parameter
...
modparam("pua_reginfo", "publish_reginfo", 0)
...

3.4. outbound_proxy(str)

   The outbound_proxy uri to be used when sending Subscribe requests.

   Default value is “NULL”.

   Example 1.4. Set outbound_proxy parameter
...
modparam("pua_reginfo", "outbound_proxy", "sip:proxy@kamailio.org")
...

3.5. server_address(str)

   The IP address of the server.

   Example 1.5. Set server_address parameter
...
modparam("pua_reginfo", "server_address", "sip:reginfo@160.34.23.12")
...

4. Functions

   4.1. reginfo_handle_notify
   4.2. reginfo_subscribe(uri[, expires])

4.1.  reginfo_handle_notify

   This function processes received "NOTIFY"-requests and updates the
   local registry accordingly.

   This method does not create any SIP-Reponse, this has to be done the
   script-writer.

   Return codes:
     * 2 - contacts successfully updated, but no more contacts online now.
       1 - contacts successfully updated and at at least one contact still
       registered.
       -1 - Invalid NOTIFY or other error (see log-file)

   Example 1.6. reginfo_handle_notify usage
...
if(is_method("NOTIFY"))
        if (reginfo_handle_notify())
                send_reply("202", "Accepted");
...

4.2.  reginfo_subscribe(uri[, expires])

   This function will subscribe for reginfo-information at the given
   server URI.

   Meaning of the parameters is as follows:
     * uri - SIP-URI of the server, where to subscribe, may contain
       pseudo-variables.
       expires - Expiration date for this subscription, in seconds
       (default 3600)

   Example 1.7. reginfo_subscribe usage
...
route {
        t_on_reply("1");
        t_relay();
}

reply_route[1] {
        if (t_check_status("200"))
                reginfo_subscribe("$ru");
}
...