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 app
lication/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:rpi
d='urn:ietf:params:xml:ns:pidf:rpid' xmlns:c='urn:ietf:params:xml:ns:pid
f:cipid' entity='system@opensips.org'><tuple id='0x81475a0'><status><bas
ic>open</basic></status></tuple><dm:person id='pdd748945'><rpid:activiti
es><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@opensip
s.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)
     Name DevScore Commits Lines ++ Lines --
   1. Anca Vamanu 31 15 1246 267
   2. Bogdan-Andrei Iancu (@bogdan-iancu) 15 13 42 53
   3. Liviu Chircu (@liviuchircu) 11 9 26 43
   4. Razvan Crainea (@razvancrainea) 11 9 16 17
   5. Juha Heinanen (@juha-h) 11 7 160 73
   6. Vlad Patrascu (@rvlad-patrascu) 11 4 293 226
   7. Daniel-Constantin Mierla (@miconda) 9 7 32 29
   8. Ovidiu Sas (@ovidiusas) 3 1 13 2
   9. Maksym Sobolyev (@sobomax) 3 1 3 3
   10. Konstantin Bokarius 3 1 2 5

   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
                      Name                   Commit 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 Vamanu                         Nov 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
