PUA MI

Anca-Maria Vamanu

Edited by

Anca-Maria Vamanu

Juha Heinanen


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.5. Exported MI functions
1.5.1. pua_publish
1.6. pua_subscribe
2. Developer's Guide
3. Frequently Asked Questions
List of Examples
1-1. pua_publish FIFO example

Chapter 1. User's 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. OpenSER 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 OpenSER with this module loaded:

  • 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@openser.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.

  • 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@openser.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@openser.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@openser.org

  • watcher_uri - e.g. sip:watcher@openser.org

  • event package

  • expires - Relative time in seconds for the desired validity of the subscription.


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?

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:

E-mails regarding any stable OpenSER release should be sent to and e-mails regarding development versions should be sent to .

If you want to keep the mail private, send it to .

3.3. How can I report a bug?

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