Can anyone tell me what the actual iq message format is to delete a single user from the roster?
From my searching, there appear to be no documents on the jabber site that seem to outline this.
My understanding (but I'm a newbie) is that you send a <presence type="unsubscribe"> element to the person you want to remove from your roster. (Protocol Overview, 1.4.1.6, p.12.)
I'm basing this on the assumption that the roster is identical to the list of people whose presence you're subscribed to, which is true in other IM clients.
Looking at WinJab's debug I see:
�<iq id="JCOM_2" type="set"><query xmlns="jabber:iq:roster"><item jid="user@host" name="user@host" subscription="remove"/></query></iq>
Well, on looking at the jabber:iq:roster description in the Protocol Overview, it does say that a client can add or remove roster items using queries with this namespace (although as you point out it doesn't say how.) So how does this differ from sending <presence> elements?
I'm beginning to get the impression now that the roster and the set of people who send me presence are two independent entities. Is this true? If so, how can I get an authoritative list of people whose presence I'm subscribed to?
�Jens
