maqi at jabberstudio.org
Mon Jan 6 17:52:23 CST 2003
- How to let a transport properly push contacts to the user's Jabber
I tried using <presence type="subscribed"...> packets, this adds the
contact to the user's roster but it seems to be impossible to push name or
group also :-(.
Using <iq type="set" to="user at host"><query xmlns="jabber:iq:roster"><item
jid="number at mytransport" name="alias"/></query></iq> does not seem to
work at all, these packets get dropped by jabberd14.
- There should be an easy way to let transports know what contacts they
have to handle.
Currently, it is a major pain for transports to get a list of "their"
contacts. There is no "transport.server.net to userserver.net, please give
me a list of all contacts of user at userserver.net that point to me" inquiry
in the Jabber protocol so transports currently have to construct a list of
contacts from incoming presence packets (which is difficult as these
presence packets typically show up before the user's session is
established) and use XDB or some other persistant list (as a user may log
off from a transport and log on again without logging off and on entirely
from Jabber, so his contacts don't generate presence packets). See AIM-t,
this complicates things a lot and is potentially unreliable. JIT for
example simply fetches the user's XDB but this does not work at all if the
user uses a transport located on a different server than the user's
account itself, breaking the Jabber idea of distributed services.
So, I think it would be a good idea to implement something like <iq
type="get" from="transport.net" to="user at userserver.net"><query
xmlns="jabber:iq:roster"/></iq> that simply answers with a part of the
user's contact list...? At least in some distant future ;-) this would
simplify component/transport development a lot and make a lot of hacking
More information about the JDev