1. XCAP module

Vaclav Kubart

Iptel/Tekelec

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

Libraries

  • 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

xcap_root

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

xcap_query

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.

fill_xcap_params

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
			set_xcap_root("http://xcap/xcap-for-domain1/");
		}
		# else leave default XCAP root and file names
	}

	...