PUA MI

Anca-Maria Vamanu

Edited by

Anca-Maria Vamanu

Edited by

Juha Heinanen

Revision History
Revision $Revision: 4594 $$Date: 2008-08-06 12:08:33 +0200 (Wed, 06 Aug 2008) $

Table of Contents

1. Admin Guide
1.1. Overview
1.2. Dependencies
1.2.1. Kamailio Modules
1.2.2. External Libraries or Applications
1.3. Exported Parameters
1.4. Exported Functions
1.5. Exported MI functions
1.5.1. pua_publish
1.6. pua_subscribe

List of Examples

1.1. pua_publish FIFO example

Chapter 1. Admin Guide

1.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.

1.2. Dependencies

1.2.1. Kamailio Modules

The following modules must be loaded before this module:

  • pua

1.2.2. External Libraries or Applications

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

  • none

1.3. Exported Parameters

  • none

1.4. Exported Functions

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

1.5. Exported MI functions

1.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.

  • 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:rpid' xmlns:c='urn:ietf:params:xml:ns:pidf:cipid' entity='system@kamailio.org'><tuple id='0x81475a0'><status><basic>open</basic></status></tuple><dm:person id='pdd748945'><rpid:activities><rpid:away/>away</rpid:activities><dm:note>CPU:16 MEM:476</dm:note></dm:person></presence>


1.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.