Content
Please note: Starting version 10.1.119.10 XCAP is removed from Snom deskphone firmware and its support is deprecated.
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:
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
Further Information
Related articles