PUA Usrloc

Anca-Maria Vamanu

Voice Sistem SRL

Edited by

Anca-Maria Vamanu


Table of Contents

1. Admin Guide
1. Overview
2. Dependencies
2.1. Kamailio Modules
2.2. External Libraries or Applications
3. Parameters
3.1. default_domain (str)
3.2. entity_prefix (str)
3.3. branch_flag (int)
4. Functions
4.1. pua_set_publish()

List of Examples

1.1. Set default_domain parameter
1.2. Set presentity_prefix parameter
1.3. Set branch_flag parameter
1.4. pua_set_publish usage

Chapter 1. Admin Guide

1. Overview

The pua_usrloc module is the connector between the usrloc and pua modules. With this module, you can monitor the status of SIP registrations. The module sends PUBLISH requests for user location record changes, based on specific events (e.g., when a 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.

2. Dependencies

2.1. Kamailio Modules

The following modules must be loaded before this module:

  • usrloc.

  • pua.

2.2. External Libraries or Applications

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

  • libxml.

3. Parameters

3.1. default_domain (str)

The default domain to use when constructing the presentity URI if it is missing from stored AOR in the usrloc table (in memory or database).

Default value is “NULL”.

Example 1.1. Set default_domain parameter

...
modparam("pua_usrloc", "default_domain", "kamailio.org")
...

3.2. entity_prefix (str)

The prefix used when constructing the entity attribute to be added to a presence node in the XML PIDF document. (ex: pres:user@domain ).

Default value is “NULL”.

Example 1.2. Set presentity_prefix parameter

...
modparam("pua_usrloc", "entity_prefix", "pres")
...

3.3. branch_flag (int)

Which branch flag to be used to select the contact addresses for which to generate PUBLISH. Valid values are 0 to 31.

Default value is “-1” (disabled).

Example 1.3. Set branch_flag parameter

...
modparam("pua_usrloc", "branch_flag", 9)
...

4. Functions

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") && from_uri=~"john@kamailio.org") 
	pua_set_publish();		
...