PUA MI


Table of Contents

1. Admin Guide
1.1. Overview
1.2. Dependencies
1.2.1. OpenSIPS Modules
1.2.2. External Libraries or Applications
1.3. Exported Parameters
1.3.1. presence_server (str)
1.4. Exported Functions
1.5. Exported MI functions
1.5.1. pua_publish
1.5.2. pua_subscribe
2. Contributors
2.1. By Commit Statistics
2.2. By Commit Activity
3. Documentation
3.1. Contributors

List of Tables

2.1. Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)
2.2. Most recently active contributors(1) to this module

List of Examples

1.1. Set presence_server parameter
1.2. pua_publish FIFO example
1.3. pua_subscribe 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. OpenSIPS 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 OpenSIPS with this module loaded:

  • none

1.3. Exported Parameters

1.3.1. presence_server (str)

The the address of the presence server. If set, it will be used as outbound proxy when sending PUBLISH requests.

Example 1.1. Set presence_server parameter

...
modparam("pua_mi", "presence_server", "sip:pa@opensips.org:5075")
...
	

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@opensips.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 (optional) - Content type of published information (e.g. application/pidf+xml). If this parameter is provided, the body parameter is also required.

  • etag (optional) - ETag that publish should match.

  • extra_headers (optional) - Extra headers added to PUBLISH request.

  • body (optioanl) - 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. If this parameter is provided, the content_type parameter is also required.

Example 1.2. pua_publish FIFO example

...

opensips-cli -x mi pua_publish sip:system@opensips.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@opensips.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.5.2.  pua_subscribe

Command parameters:

  • presentity_uri - e.g. sip:presentity@opensips.org

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

  • event_package

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

Example 1.3. pua_subscribe FIFO example

...

opensips-cli -x mi pua_subscribe sip:system@opensips.org sip:400@opensips.org presence 3600


Chapter 2. Contributors

2.1. By Commit Statistics

Table 2.1. Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)

 NameDevScoreCommitsLines ++Lines --
1. Anca Vamanu31151246267
2. Bogdan-Andrei Iancu (@bogdan-iancu)15134253
3. Liviu Chircu (@liviuchircu)1192643
4. Razvan Crainea (@razvancrainea)1191617
5. Juha Heinanen (@juha-h)11716073
6. Vlad Patrascu (@rvlad-patrascu)114293226
7. Daniel-Constantin Mierla (@miconda)973229
8. Ovidiu Sas (@ovidiusas)31132
9. Maksym Sobolyev (@sobomax)3133
10. Konstantin Bokarius3125

All remaining contributors: Peter Lemenkov (@lemenkov), Edson Gellert Schubert, Julien Blache.

(1) DevScore = author_commits + author_lines_added / (project_lines_added / project_commits) + author_lines_deleted / (project_lines_deleted / project_commits)

(2) including any documentation-related commits, excluding merge commits. Regarding imported patches/code, we do our best to count the work on behalf of the proper owner, as per the "fix_authors" and "mod_renames" arrays in opensips/doc/build-contrib.sh. If you identify any patches/commits which do not get properly attributed to you, please submit a pull request which extends "fix_authors" and/or "mod_renames".

(3) ignoring whitespace edits, renamed files and auto-generated files

2.2. By Commit Activity

Table 2.2. Most recently active contributors(1) to this module

 NameCommit Activity
1. Liviu Chircu (@liviuchircu)Mar 2014 - May 2024
2. Maksym Sobolyev (@sobomax)Feb 2023 - Feb 2023
3. Vlad Patrascu (@rvlad-patrascu)May 2017 - Nov 2020
4. Razvan Crainea (@razvancrainea)Sep 2011 - Sep 2019
5. Bogdan-Andrei Iancu (@bogdan-iancu)Dec 2006 - Apr 2019
6. Peter Lemenkov (@lemenkov)Jun 2018 - Jun 2018
7. Ovidiu Sas (@ovidiusas)Jan 2013 - Jan 2013
8. Anca VamanuNov 2006 - Aug 2010
9. Juha Heinanen (@juha-h)Apr 2007 - May 2008
10. Daniel-Constantin Mierla (@miconda)Feb 2007 - Mar 2008

All remaining contributors: Konstantin Bokarius, Edson Gellert Schubert, Julien Blache.

(1) including any documentation-related commits, excluding merge commits

Chapter 3. Documentation

3.1. Contributors

Last edited by: Vlad Patrascu (@rvlad-patrascu), Razvan Crainea (@razvancrainea), Peter Lemenkov (@lemenkov), Liviu Chircu (@liviuchircu), Bogdan-Andrei Iancu (@bogdan-iancu), Anca Vamanu, Juha Heinanen (@juha-h), Daniel-Constantin Mierla (@miconda), Konstantin Bokarius, Edson Gellert Schubert.

Documentation Copyrights:

Copyright © 2006 Voice Sistem SRL