[Standards] XEP-0073: Question about service discovery

Remko Tronçon remko at el-tramo.be
Wed Feb 7 13:38:58 UTC 2007

> And what about XEP-0073? It does not require XEP-0115 for the basic
> protocol suite. So a client implementing only the basic protocol suite
> will cause lots of flooding (he doesn't know how and what to cache
> and so sends disco#info and jabber:iq:* requests to anyone).

If a client can't do something without flooding (i.e. it doesn't want
to implement entity caps), it shouldn't do it at all. So in this case,
it shouldn't disco#info, unless the user requests it, or unless it
really has to (e.g. for file transfer). A client should also never
send jabber:iq:version to all his contacts, that's not nice (and yes,
i know Psi has always had an option to do this until recently).

> Clients that implement XEP-0115 are said to aviod sending disco#info
> if the other client does not send a <c> in his presence stanza. But this
> will limit them, and they will get less information about the other
> side (when playing nice and not send disco#info) than clients which
> don't play nice will get.

If you don't get caps information, assume that the other side can do
everything. I don't think there are clients discoing every contact
explicitly: if they can't cache the information, they don't ask for it
and assume the other side can do everything.

> The natural conclusion would be: I use the new disco on capabilities
> if the other side supports it and I will send disco#info if the
> other side does not support entity capabilites.

Send disco#info?

> And about jabber:iq:version: Looks like clients will still flood them
> if they want to display the OS the contact is using.

Indeed. This should be against all recommendations, though. It's evil.


More information about the Standards mailing list