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

Reply via email to