Skip to content

PUA MI module

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.

The following modules must be loaded before this module:

  • pua

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

  • none

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

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

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

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 - 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.
pua_publish FIFO example
...
:pua_publish:fifo_test_reply
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>

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.

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

#NameDevScoreCommitsLines++Lines—
1.Anca Vamanu32151288309
2.Bogdan-Andrei Iancu (@bogdan-iancu)15134355
3.Juha Heinanen (@juha-h)11716679
4.Daniel-Constantin Mierla (@miconda)973734
5.Liviu Chircu (@liviuchircu)966883
6.Stefan Darius (@dariusstefan)8516532
7.Razvan Crainea (@razvancrainea)751316
8.Ovidiu Sas (@ovidiusas)31143
9.Konstantin Bokarius3125
10.Edson Gellert Schubert310103

All remaining contributors: 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

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

#NameCommit Activity
1.Stefan Darius (@dariusstefan)Jun 2026 - Jul 2026
2.Razvan Crainea (@razvancrainea)Sep 2011 - Jun 2026
3.Bogdan-Andrei Iancu (@bogdan-iancu)Dec 2006 - Jun 2018
4.Liviu Chircu (@liviuchircu)Mar 2014 - Jun 2018
5.Ovidiu Sas (@ovidiusas)Jan 2013 - Jan 2013
6.Anca VamanuNov 2006 - Aug 2010
7.Juha Heinanen (@juha-h)Apr 2007 - May 2008
8.Daniel-Constantin Mierla (@miconda)Feb 2007 - Mar 2008
9.Konstantin BokariusMar 2008 - Mar 2008
10.Edson Gellert SchubertFeb 2008 - Feb 2008

All remaining contributors: Julien Blache.

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

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

All documentation files (i.e. .md extension) are licensed under the Creative Common License 4.0