[standards-jig] XMPP compatibility discovery

Iain Shigeoka iain at jivesoftware.com
Wed May 21 15:42:54 UTC 2003


On 5/21/03 0:18, "Jacek Konieczny" <jajcus at bnet.pl> wrote:

> But things get more complicated for server application. They should send
> new error messages to XMPP compliant clients, but should not do that to
> old Jabber clients (which will be still popular for some time). Of
> course server could send something like this:

Actually you'll know based on the stream itself. So the server will know
it's talking to an XMPP 1.0 compliant client by looking for the 'version'
attribute on the stream set to '1.0' as per spec:

http://www.jabber.org/ietf/draft-ietf-xmpp-core-12.html#xmlstreams

Once you know the stream is xmpp 1.0, you should send xmpp error messages
instead of jabber ones. The lack of the version attribute indicates an old
jabber client and should be sent the old jabber error packets.

The hard part for the server (or the spec in general) is deciding how to
handle error messages between clients on different versions. E.g. Is it the
server's responsibility to read error messages and translate them between
streams if one client is old jabber, and the other is xmpp. This comes up
with any protocol that occurs client to client via the server (disco is a
potential there). I'd tend to think that the server is responsible for this
translation since servers will already be responsible for properly
transferring packets between the namespace prefix spaces of each client
stream connection.

-iain




More information about the Standards mailing list