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. 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.

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 recorded AOR.

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 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")
...

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();		
...