1. XCAP module

Vaclav Kubart


1.1. Dependencies
1.2. Incompatibility
1.3. Parameters
1.4. Functions

Module for doing XCAP queries.

This module covers functions called internaly to access XCAP server. These functions were separated into standalone module to allow simple replacing XCAP queries with queries into database or local filesystem or whatever else. Next reason was to protect other modules from linking with libcurl (implements HTTP) or other such stuff.

1.1. Dependencies


  • libxml2 (development version) - external library for parsing XML documents

  • libcurl (development version) - external library for HTTP queries

  • libcds (internal)

  • libpresence (internal)

  • libxcap (internal) - parsing XCAP documents, ...

1.2. Incompatibility

This module is not working with TLS module. Fro more information see section "Known problems" in presence handbook.

1.3. Parameters


Default settings of XCAP root. It can be overridden by set_xcap_root call in config script.

1.4. Functions

set_xcap_root(string xcap_root)

Overrides XCAP root settings for one config script call. The parameter has to be string (AVP not allowed now).


This function does the XCAP query. It is no accessible from script, it can be called only internaly. It is by default called from XCAP library.


This function fills internal data structure with XCAP query parameters according to XCAP module settings. It can not be called from script. (Prepared for authentication to XCAP server, ...)

Example 1. XCAP module functions usage

This example shows config file overridding XCAP root settings.

modparam("xcap", "xcap_root", "http://xcap/xcap")

route {

	if (lookup_domain("To")) {
		if ($t.did == "domain1") {
			# change XCAP root for domain1
		# else leave default XCAP root and file names