PUA MI

Anca-Maria Vamanu

   Voice Sistem SRL

Edited by

Anca-Maria Vamanu

Edited by

Juha Heinanen

   Copyright © 2006 Voice Sistem SRL
     __________________________________________________________________

   Table of Contents

   1. Admin Guide

        1. Overview
        2. Dependencies

              2.1. Kamailio Modules
              2.2. External Libraries or Applications

        3. Parameters
        4. Functions
        5. Exported MI functions

              5.1. pua_publish

        6. pua_subscribe

   List of Examples

   1.1. pua_publish FIFO example

Chapter 1. Admin Guide

   Table of Contents

   1. Overview
   2. Dependencies

        2.1. Kamailio Modules
        2.2. External Libraries or Applications

   3. Parameters
   4. Functions
   5. Exported MI functions

        5.1. pua_publish

   6. pua_subscribe

1. Overview

   The pua_mi offers the possibility to publish presence information and
   subscribe to presence information via MI transports.

   Using this module you can create independent applications/scripts to
   publish not sip-related information (e.g., system resources like
   CPU-usage, memory, number of active subscribers ...). Also, this module
   allows non-SIP speaking applications to subscribe presence information
   kept in a SIP presence server.

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

2.2. External Libraries or Applications

   The following libraries or applications must be installed before
   running Kamailio with this module loaded:
     * none

3. Parameters

     * none

4. Functions

   The module does not export functions to be used in configuration
   script.

5. Exported MI functions

   5.1. pua_publish

5.1.  pua_publish

   Command parameters:
     * presentity_uri - e.g. sip:system@kamailio.org
     * expires - Relative expires time in seconds (e.g. 3600).
     * event package - Event package that is target of published
       information (e.g. presence).
     * content type - Content type of published information (e.g.
       application/pidf+xml) or . if no information is enclosed.
     * id - id for a series of related PUBLISHes to the same
       presentity-uri or . to always use the same series. For example
       dialog-info must reuse the same id for the same call otherwise
       status will be lost when multiple parallel calls to/from the same
       user take place. The dialog-id from the dialog-info body qualifies
       as a suitable id here.
     * ETag - ETag that publish should match or . if no ETag is given.
     * extra_headers - Extra headers added to PUBLISH request or . if no
       extra headers.
     * body - The body of the publish request containing published
       information or missing if no published information. It has to be a
       single line for FIFO transport.

   Example 1.1. pua_publish FIFO example
...

:pua_publish:fifo_test_reply
sip:system@kamailio.org
3600
presence
application/pidf+xml
.
.
.
<?xml version='1.0'?><presence xmlns='urn:ietf:params:xml:ns:pidf' xmlns:dm='urn
:ietf:params:xml:ns:pidf:data-model' xmlns:rpid='urn:ietf:params:xml:ns:pidf:rpi
d' xmlns:c='urn:ietf:params:xml:ns:pidf:cipid' entity='system@kamailio.org'><tup
le id='0x81475a0'><status><basic>open</basic></status></tuple><dm:person id='pdd
748945'><rpid:activities><rpid:away/>away</rpid:activities><dm:note>CPU:16 MEM:4
76</dm:note></dm:person></presence>

6.  pua_subscribe

   Command parameters:
     * presentity_uri - e.g. sip:presentity@kamailio.org
     * watcher_uri - e.g. sip:watcher@kamailio.org
     * event package
     * expires - Relative time in seconds for the desired validity of the
       subscription.
