Hi, RFC3921bis explicitly allows getting roster from many sources:
RFC 3921 assumed that the only place where a user stores their roster is the server where the user's account is registered and at which the user authenticates for access to the XMPP network. This specification removes that strict coupling of roster storage to account registration and network authentication, with the result that a user could store their roster at another location, or could have multiple rosters that are stored in multiple locations. This can be exploited by IM gateways for avoiding the well know synchronization problems (here are some details I've written today http://blog.bluendo.com/ff/im-gateways ), making the clients directly retrieve foreign network rosters from the gateways themselves. The idea I discussed today with Jan Kaluza of Spectrum is quite simple: - a user registers with a gateway and they establish a mutual presence subscription, as it happens now - the user's client after the registration (and after each login) asks for the roster directly to the gateway (now in a new namespace, with the new XMPP specs with a direct jabber:iq:roster stanza), and it locally merges the results from different sources - the gateway replies as if it where the server, optionally using any available optimization such as XEP-237 - the XMPP server sends presence packets only to the JID of the gateway, which replies with direct presences from all the virtual contacts in the legacy network Waiting for RFC3921bis to be implemented by servers, we can transitionally use a different namespace, such as iq:jabber:roster:remote, so that servers will allow remote roster stanzas. What we are wondering if there is interest by other client developers (for us with Lampiro this is a priority in order to make things work smoothly), since basically they need to issue multiple roster requests and merge locally the rosters. If there is interest I start writing a xep documenting the protocol -- Fabio Forno, Bluendo srl http://www.bluendo.com jabber id: f...@jabber.bluendo.com