2.2.4.1 application/vnd-microsoft-roaming-contacts+xml Document Format
Session Initiation Protocol Extensions supports retrieving the contact list from the server in the form of an XML document. The server can return the full contact list, or a partial contact list. Both lists use basic building blocks of contact and group elements.
group
The group element contains three attributes:
id: A nonnegative integer that uniquely identifies the group.
name: The name of the group.
externalURI: A URI pointing to auxiliary resources for the group. For example, the externalURI can point to an LDAP URI that contains the list of contacts.
contact
The contact element contains the following attributes:
uri: The SIP URI of the contact.
name: The name of the contact.
groups: A space-separated string of IDs for the groups to which this contact belongs.
subscribed: A Boolean indicating whether this contact is merely stored as an offline contact, or whether the client subscribes to its presence.
externalURI: A URI pointing to auxiliary resources for the group. For example, the externalURI can point to an LDAP URI that contains the list of contacts.
The contact element can also contain an optional contactExtension element. The contactExtension element can be any generic XML.
contactDelta
The contactDelta element represents a partial contact list containing only the changes in contacts and groups information from the last contact list notification. The contactDelta element contains a choice of six elements:
addedGroup: Takes the same form as the group element. This element shows the group that was added.
modifiedGroup: : Takes the same form as the group element. This element shows the group that was modified.
deletedGroup: Contains only a required id attribute. The id attribute identifies the group that was deleted.
addedContact: Takes the same form as the contact element. This element shows the contact that was added.
modifiedContact: Takes the same form as the contact element. This element shows the contact that was modified.
deletedContact: Contains only a required uri attribute. The uri attribute identifies the contact that was deleted.
The contactDelta element also contains two required attributes. The deltaNum nonnegative integer attribute is the updated sequence number for the contact list after the changes take place. The prevDeltaNum nonnegative integer attribute is the previous sequence number for the contact list before the changes take place.