[Standards] XEP-0073: Question about service discovery

Robin Redeker elmex at x-paste.de
Wed Feb 7 12:08:55 UTC 2007


I've been reading XEP-0073 (also checked the latest
CVS version). And I've also read XEP-0030.

My question as client developer is: When do I send a disco request?
And when do I send jabber:iq:version requests?

Some clients, gaim, kopete, miranda, ... seem to send them everytime
when I connect. gaim even sends jabber:iq:version and jabber:iq:last
requests together with the disco.

The XEP http://www.xmpp.org/extensions/xep-0115.html defines
in section 4.2 (Discovering Capabilities):

   All of the responses to the disco#info queries SHOULD be cached. If a
   particular entity cannot store the responses, it SHOULD NOT make the
   requests. An entity SHOULD NOT make the service discovery requests
   unless the information is required for some local functionality.

That is quite strict and clear, but this XEP is not listed in XEP-0073.
And it also is limited to capabilities and doesn't say much about
general disco requests (to servers, gateways and clients).

It is still unclear when to send simple discovery requests
(<query xmlns='http://jabber.org/protocol/disco#info'/>).

I also don't seem to find the document that says when I should send a
jabber:iq:version, xep-0092 doesn't say anything about this.

jabber:iq:version seems not to be a capability as defined in XEP-0115.
It is questionable whether jabber:iq:version is a capability or
something else. But I can imagine plugins for clients that enable or
disable the jabber:iq:version feature. It isn't even listed in XEP-0073.
So should it be a capability listed in the 'ext' attribute of a <c> tag?

So even if clients implement XEP-0115 they still have to send out
(without caching) jabber:iq:version and the disco request
when someone goes online.

More information about the Standards mailing list