Работа с ростер-листом (списком контактов)
Ростер-лист или аналог списка контактов в сетях ICQ в Jabber-е представлен списком, содержащим JID-контакты в виде элементов XML хранящимся на сервере от имени пользователя. Так как ростер-лист сохранен сервером от имени пользователя, то пользователь может обратиться к информации списка от любого ресурса.
Управление ростер-листом (списком) осуществляется через расширенный информационный запрос <IQ> содержащий дочерний элемент <query> c пространством имен 'jabber:iq:roster'. Элемент <query> может содержать один или более дочерних элементов <ITEM> содержащих информацию о контакте.
Уникальный идентификатор каждого элемента списка <item> — это JID контанта, формируемый в атрибуте jid Значение атрибута jid имеет форму user@domain без указания ресурса. Текущее состояние подписки пользователя (контакта) относительно элемента <item> зафиксировано в атрибуте subscription и может принимать следующие значения:
none — У пользователя нет подписки к контакту, нет подписки и к информации присутствия пользователя
to — у пользователя есть подписка к информации присутствия контакта, но у контакта нет подписки к информации присутствия пользователя
from — у контакта есть подписка к информации присутствия пользователя, но у пользователя нет подписки к информации присутствия контакта
both — у пользователя есть подписка к присутствию контакта, да и у контакта есть подписка к пользователю.