Category:HowTo:Directory:XCAP

From Snom User Wiki

Jump to: navigation, search

Contents

Enabling XCAP

Every Identity has a setting to enable XCAP, it's the server-type in the sip-tab on the webinterface. Set it to bria to enable XCAP. Note that when switching from or to an identitiy that has XCAP enabled, each time the internal directory is cleared so that one user cannot misuse the contacts of an other. This also means, that when using a one-way http-server (one that supports GET but no PUT requests) to provide the directory, switching identities results in loosing all local changes done to the directory.

Access

The phones try to fetch the XCAP-directory regularly, you can specify the timing with this setting:

xcap_tbook_sync_interval (measured in seconds, standard is every two hours)

The URI called by the phones to access the xcap-directory is regulated by the XCAP standard and follows this scheme:

http://server:port/direcory/users/sip:username@registrar/document

These are the settings of which this URI gets constructed:

xcap_server_name to set the server
xcap_server_port to set the port
xcap_directory_auid to set directory
xcap_dir_doc_name to set the document
username and registrar are the account and registrar found in the login-tab on the web interface for each identity.

You can also specify wether you want the access to the XCAP- directory to be done securly via the setting:

xcap_via_tls (default is true)

Whenever local changes occur, the phone will try to http-PUT the adapted xml with the changes back to the server. If this fails the local changes are stored on flash until such time as a http-PUT is successful (or forever).

format

The document retrieved via XCAP must follow this format:

<?xml version="1.0" encoding="UTF-8"?>
<resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists" xmlns:cp="counterpath:properties">
  <list name="Contact List">
    <entry>
      <display-name>Testentry</display-name>
      <cp:prop name="entry_id" value="534BB0BC2DDA09E2567C5D8D5B2C0120"/>
      <cp:prop name="given_name" value="Max"/>
      <cp:prop name="surname" value="Mustermann"/>
      <cp:prop name="profession" value="Dr."/>
      <cp:prop name="company" value="crashtestdummy"/>
      <cp:prop name="email_address" value="max@mustermann.de"/>
      <cp:prop name="comment" value="demonstrating xcap"/>
      <cp:prop name="sip_address" value="0042/1"/>
      <cp:prop name="mobile_number" value="0042/2"/>
      <cp:prop name="home_number" value="0042/3"/>
      <cp:prop name="home_number#1" value="0042/4"/>
      <cp:prop name="business_number" value="0042/5"/>
      <cp:prop name="business_number#1" value="0042/6"/>
      <cp:prop name="category" value="Arbeit"/>
    </entry>
  </list>
</resource-lists>

entry_id must be unique for each entry.

You may define as many phonenumbers as you want for each entry, appending the number-field names with #1, #2, #3 and so on for the first, second and third extra number. The number field names are: "sip_address", "mobile_number", "home_number" and "business_number".

Valid category values are "friend", "family", "work", and "colleague". You may define a second category "category#1" to set a the entry to blacklisted or define it as VIP using the values "dnd" or "vip".

Example

With these XCAP-specific settings the phone will fetch the directory every minute from http://myXcapServer/users/sip:username@registrar/tbook.xml

xcap_tbook_sync_interval:60
xcap_server_name:myXcapServer
xcap_server_port:80
xcap_directory_auid:""
xcap_dir_doc_name:tbook.xml
xcap_via_tls:false

This category currently contains no pages or media.

Personal tools
Interoperability