%ents; ]>
Software Version This specification provides canonical documentation of an XMPP protocol extension for retrieving information about the software version associated with another XMPP entity. &LEGALNOTICE; 0092 Draft Standards Track Standards XMPP Core iq-version http://www.xmpp.org/schemas/iq-version.xsd &stpeter; 1.1 2007-02-15 psa

Per a vote of the XMPP Council, changed from Historical and Active to Standards Track and Draft; recommended use of Entity Capabilities instead of Software Version when presence information is available; added proviso to security considerations regarding disclosure of operating system information; added section on Service Discovery.

1.0 2003-10-08 psa

Per a vote of the Jabber Council, changed status to Active.

0.1 2003-05-22 psa

Initial version.

The Jabber protocols have long included a method for discovering version information about the software running at another entity's JID. This method makes use of the 'jabber:iq:version' namespace and has been documented variously in Internet-Drafts and elsewhere. Because this protocol is not required by &rfc2779;, the 'jabber:iq:version' namespace was removed from &xmppim;. This specification fills the void for canonical documentation.

Note Well: The jabber:iq:version protocol SHOULD NOT be used to determine the identity of entities from which an application receives presence (e.g., contacts in a user's roster and certain kinds of gateways); &xep0115; SHOULD be used instead. However, the jabber:iq:version protocol MAY be used to determine the identity of entities from which an application does not receive presence (e.g., servers and many kinds of components). The jabber:iq:version protocol MAY also be used to determine information available only via jabber:iq:version (e.g., operating system information) for contacts from which a user receives presence, but only if the user specifically requests such information for a particular contact.

The 'jabber:iq:version' namespace provides a standard way for Jabber entities to exchange information about the software version used by the entities. The information is communicated in a request/response pair using an <iq/> element that contains a <query/> scoped by the 'jabber:iq:version' namespace. The following children of the <query/> are allowed in an IQ result:

]]> Exodus 0.7.0.4 Windows-XP 5.01.2600 ]]>

The standard error conditions described in &xep0086; apply (e.g., service unavailable if the entity does not support the namespace).

In order for a requesting entity to determine if a responding entity supports result set management, it SHOULD send a &xep0030; information request to the responding entity:

]]> ... ... ]]>

Revealing the application's underlying operating system may open the user or system to attacks directed against that operating system; therefore, an application MUST provide a way for a human user or administrator to disable sharing of information about the operating system.

This document requires no interaction with &IANA;.

The 'jabber:iq:version' namespace is registered in the protocol namespaces registry maintained by the ®ISTRAR;.

The protocol documented by this schema is defined in XEP-0092: http://www.xmpp.org/extensions/xep-0092.html ]]>