PUA Usrloc

Anca-Maria Vamanu

Edited by

Anca-Maria Vamanu


Table of Contents
1. User's Guide
1.1. Overview
1.2. Dependencies
1.2.1. OpenSER 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.4. Exported Functions
1.4.1. pua_set_publish()
2. Developer's Guide
3. Frequently Asked Questions
List of Examples
1-1. Set default_domain parameter
1-2. Set presentity_prefix parameter
1-3. pua_set_publish usage

Chapter 1. User's 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. OpenSER 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 OpenSER 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", "openser.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.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-3. pua_set_publish usage

...
if(is_method("REGISTER") && from_uri=~"john@openser.org") 
	pua_set_publish();		
...

Chapter 2. Developer's Guide

The module does not provide any API to use in other OpenSER modules.


Chapter 3. Frequently Asked Questions

3.1. Where can I find more about OpenSER?
3.2. Where can I post a question about this module?
3.3. How can I report a bug?

3.1. Where can I find more about OpenSER?

3.2. Where can I post a question about this module?

First at all check if your question was already answered on one of our mailing lists:

E-mails regarding any stable OpenSER release should be sent to and e-mails regarding development versions should be sent to .

If you want to keep the mail private, send it to .

3.3. How can I report a bug?

Please follow the guidelines provided at: http://sourceforge.net/tracker/?group_id=139143.