I’ve checked in basic XCAP support for SIP Communicator.
It supports the following:
1. Get/Set/Delete operations with resource-lists (XCAP groups and
2. Get operation with xcap-caps (XCAP server capabilities)
3. Add/Remove/Update operations with contact groups.
4. Add/Remove operations with contacts.
5. XCAP configuration on the UI.
If XCAP connection is failed – you can continue your work, but your contact
list won’t be saved on the server. I think that it will be great to show
some *pop up* saying that XCAP server has some errors.
What is not supported:
1. Partial Get/Set/Delete operations with XCAP server. There is no way to
determine that XCAP server supports partial operation, so I think it won’t
2. Showing XCAP external and entry-ref on the UI (it is references to
another contact lists and entries). UI doesn’t support read only contact and
groups, moreover it doesn’t support contact with the same address.
Nevertheless they are saved in order not to break the initial document
structure. If we decided to support it on the UI I will implement partial
Get operation from point1.
3. Authorization policies. Need to discuss how to operate with them.
4. Update/Rename operation with contacts. Soon it will be implemented.
Need to add special methods into OperationSetPersistentPresence.
1. If group has subgroups - UI shows them as list (i.e. tree is not
supported). It saves hierarchy correctly into the contactlist.xml but after
restart it breaks the initial structure.
2. Sometimes if group has contacts it is impossible to see them (extend
panel doesn’t work) so you have to restart SIP Communicator.
I’ve added the following jars:
Next few days I’m planning to add comments, remove some unused code and set
correct protection levels in methods.
If you have some questions or remarks to the code/architecture please let me