Hello, list! I'm reading XEP-0100: Gateway Interaction and trying to understand the options with regard to legacy contact list/roster synchronization from the point of view of the gateway author.
If I understand correctly, the gateway may or may not push legacy contacts to the user's client for them to be added to the user's roster: "The gateway MAY initiate adding of the legacy contact list items to the user's Jabber roster." In practice, though, user may later add legacy contacts via <presence [EMAIL PROTECTED] type="subscribe"/>, and that will have the side-effect of changing his roster. So, to avoid having only part of one's legacy contact list in the roster, it's best for the gateway to always "initiate adding of the legacy contact list items to the user's Jabber roster". (XEP-0100 also says that this shouldn't be done by 'sending a presence stanza of type "subscribed" from legacy contact's JID' but by roster item exchange. From what I see, it's usually done by sending presence stanzas of type "subscribe", which again when accepted will cause roster changes as a side effect.) Now, assuming that user and gateway want to do their best to keep the Jabber roster and legacy contact list in sync, what happens if user adds a legacy contact through a legacy client (thus without the gateway's knowledge)? When user connects again via Jabber, is the gateway supposed to notice that a new legacy contact is available, and push it to the user (using one of above methods)? Alternately, assuming neither the gateway nor the user are interested in synchronization, is it acceptable for the gateway to send no <presence type="subscribe" [EMAIL PROTECTED]/> from legacy contacts nor roster item exchange packets, but just ordinary <presence [EMAIL PROTECTED]/>, and not affect user's roster at all? -- Massimiliano Mirra http://sameplace.cc http://hyperstruct.net
