PUA Usrloc
     __________________________________________________________

   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. default_domain (str)
              1.3.2. entity_prefix (str)
              1.3.3. presence_server (str)

        1.4. Exported Functions

              1.4.1. pua_set_publish()

   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 default_domain parameter
   1.2. Set presentity_prefix parameter
   1.3. Set presence_server parameter
   1.4. pua_set_publish usage

Chapter 1. Admin Guide

1.1. Overview

   The pua_usrloc is the connector between usrloc and pua modules.
   It creates the environment to send PUBLISH requests for user
   location records, on specific events (e.g., when new record is
   added in usrloc, a PUBLISH with status open (online) is issued;
   when expires, it sends closed (offline)).

   Using this module, phones which have no support for presence
   can be seen as online/offline.

1.2. Dependencies

1.2.1. OpenSIPS Modules

   The following modules must be loaded before this module:
     * usrloc.
     * pua.

1.2.2. External Libraries or Applications

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

1.3. Exported Parameters

1.3.1. default_domain (str)

   The default domain to use when constructing the presentity uri
   if it is missing from recorded aor.

   Default value is “NULL”.

   Example 1.1. Set default_domain parameter
...
modparam("pua_usrloc", "default_domain", "opensips.org")
...

1.3.2. entity_prefix (str)

   The prefix when construstructing entity attribute to be added
   to presence node in xml pidf. (ex: pres:user@domain ).

   Default value is “NULL”.

   Example 1.2. Set presentity_prefix parameter
...
modparam("pua_usrloc", "entity_prefix", "pres")
...

1.3.3. 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.3. Set presence_server parameter
...
modparam("pua_usrloc", "presence_server", "sip:pa@opensips.org:5075")
...

1.4. Exported Functions

1.4.1.  pua_set_publish()

   The function is used to mark REGISTER requests that have to
   issue a PUBLISH. The PUBLISH is issued when REGISTER is saved
   in location table.

   Example 1.4. pua_set_publish usage
...
if(is_method("REGISTER") && $fu=~"john@opensips.org")
        pua_set_publish();
...

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 34 17 1245 365
   2. Bogdan-Andrei Iancu (@bogdan-iancu) 16 13 45 60
   3. Liviu Chircu (@liviuchircu) 15 13 54 55
   4. Razvan Crainea (@razvancrainea) 12 10 12 20
   5. Daniel-Constantin Mierla (@miconda) 10 8 25 19
   6. Ovidiu Sas (@ovidiusas) 4 2 14 2
   7. Vlad Patrascu (@rvlad-patrascu) 4 2 2 1
   8. Konstantin Bokarius 3 1 2 5
   9. Elena-Ramona Modroiu 3 1 1 1
   10. Juha Heinanen (@juha-h) 3 1 1 1

   All remaining contributors: Walter Doekes (@wdoekes), 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 - Nov 2019
   2.  Razvan Crainea (@razvancrainea)     Feb 2012 - Sep 2019
   3.  Bogdan-Andrei Iancu (@bogdan-iancu) Feb 2007 - Jun 2018
   4.  Vlad Patrascu (@rvlad-patrascu)     May 2017 - Jul 2017
   5.  Ovidiu Sas (@ovidiusas)             Jan 2013 - Mar 2014
   6.  Walter Doekes (@wdoekes)            Apr 2010 - Apr 2010
   7.  Anca Vamanu                         Nov 2006 - Oct 2009
   8.  Daniel-Constantin Mierla (@miconda) Dec 2006 - Mar 2008
   9.  Konstantin Bokarius                 Mar 2008 - Mar 2008
   10. Edson Gellert Schubert              Feb 2008 - Feb 2008

   All remaining contributors: Juha Heinanen (@juha-h), Julien
   Blache, Elena-Ramona Modroiu.

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

Chapter 3. Documentation

3.1. Contributors

   Last edited by: Bogdan-Andrei Iancu (@bogdan-iancu), Liviu
   Chircu (@liviuchircu), Vlad Patrascu (@rvlad-patrascu), Razvan
   Crainea (@razvancrainea), Anca Vamanu, Daniel-Constantin Mierla
   (@miconda), Konstantin Bokarius, Edson Gellert Schubert,
   Elena-Ramona Modroiu.

   doc copyrights:

   Copyright © 2006 Voice Sistem SRL
