[Standards] Server Synchronization and Roaming

Matthew Wild mwild1 at gmail.com
Fri Jul 6 00:42:08 UTC 2012

On 5 July 2012 23:34, Todd Herman <todd at apx-labs.com> wrote:
> I wanted to check if there is an existing XMPP (experimental or otherwise)
> related to synchronizing XMPP servers and allowing roaming?  We need to
> allow users to seamlessly switch servers in mid-operation.  Has anyone
> looked into doing this or have any thoughts on an approach?

No such XEP exists.

While a nice idea in theory, a protocol allowing such free roaming is
actually quite complex, and XMPP is not it.

The primary problem is that the user identifier in XMPP is the JID,
which contains "hard-coded" routing information. Thus moving a user to
a different server will result in them having a different JID. However
a JID is also the basis for everything else in XMPP requiring identity
- subscriptions, access control, etc.

Roaming in some form within a single domain is possible, and various
XMPP server implementations support clustering for this purpose.
However clustering itself is quite complex and
implementation-specific. Therefore no XEP exists for even this. This
shouldn't be a problem if you stick to one implementation, though I
don't actually know of any that support literally migrating a live
session from one server to another. Possibly something like that could
be implemented using XEP-0198 as a basis.

Hope this helps,

More information about the Standards mailing list