[JDEV] Discussion of transports?

maqi at jabberstudio.org maqi at jabberstudio.org
Sun Sep 21 13:53:40 CDT 2003

On Thu, 18 Sep 2003, Andrew Sayers wrote:

> It seems like there isn't much discussion about issues involved in
> writing a transport, and equally little guidance available from the
> website.

Yes. I'd recommend setting up a mailing list and somehow integrate with
the JabberManual and JEP-0100 ("Gateway Interaction"):

Some caveats:

1. Transports often don't treat the JID case-insensitive leading to the
problem that the transport does not login when logging in as user at host but
having registered with USER at host.

2. With most legacy networks, the transport should auto-import the legacy
system's contact list to the Jabber roster. JIT simply sends a presence
type=subscribed but this is problematic as with unpatched Jabber servers
the nick can't be pushed to the roster and it is uncertain how for example
jabberd2 handles this.

3. The transport has to create a list of contacts that must be handled.
But it is not possible to simply request the list from the Jabber server.
Relying only on an own roster (stored in XDB and updated on s10n events)
is not recommended as this can lead to inconsistencies (for example if the
transport is down). For example AIM-t creates the contact list by keeping
track of incoming "presence=available from=(transport user)
to=(contact at transport)" packets (which may come in even before the
transport's session is established!), an own XDB list and presence=probe
packets. This is definitely not trivial but absolutely necessary or
rosters will get out of sync.


More information about the JDev mailing list