Problem Description

Normal roster contacts stored created as so called dynamic roster part are delivered to the end user transparently. The XMPP client doesn’t really know what contacts come from his own static roster created manually by the user and what contacts come from dynamic roster part that is contacts and groups generated dynamically by the server logic.

Some specialized clients need to store extra bits of information about roster contacts. For the normal user static roster this extra information can be stored as private data and is available only to the this single user. In some cases however clients need to store information about contacts from the dynamic roster part and this information must be available to all users accessing dynamic roster part.

The protocol defined here allows exchanging information, saving and retrieving extra data about the contacts.