Per Last Call feedback, removed icons for presence states; redefined the icon field to use media element per XEP-0221.
0.22008-03-14psa
Added icon fields.
0.12008-01-30psa
Initial published version.
0.0.32008-01-23psa
Added software field; generalized to be software information, not client information.
0.0.22008-01-22psa
Clarified relationship to Software Version (XEP-0092).
0.0.12008-01-21psa
First draft.
Service Discovery Extensions (XEP-0128)XEP-0128: Service Discovery Extensions <https://xmpp.org/extensions/xep-0128.html>. defines a way for an XMPP entity to include extended information in its responses to Service Discovery (XEP-0030)XEP-0030: Service Discovery <https://xmpp.org/extensions/xep-0030.html>. information requests. This document specifies a usage of XEP-0128 whereby an XMPP entity can provide detailed data about itself in such responses. This protocol is intended to replace Software Version (XEP-0092)XEP-0092: Software Version <https://xmpp.org/extensions/xep-0092.html>. for software information discovery (thus reducing or eliminating the need for distinct software version requests) and also provides a format that can be encapsulated into Entity Capabilities (XEP-0115)XEP-0115: Entity Capabilities <https://xmpp.org/extensions/xep-0115.html>. notifications.
To illustrate this usage, consider the following example of a disco#info request-response interaction that includes detailed client information:
]]>
Upon receiving the disco#info request, the software replies and includes extended information in a data form (Data Forms (XEP-0004)XEP-0004: Data Forms <https://xmpp.org/extensions/xep-0004.html>.), where the icon is communicated using the format defined in Data Forms Media Element (XEP-0221)XEP-0221: Data Forms Media Element <https://xmpp.org/extensions/xep-0221.html>..
icon -- A default icon to show for a device running the software
os -- The operating system on which the XMPP software is running
os_version -- The operating system version
software -- The XMPP software running at the entity (if this field is provided, its value SHOULD override any software name provided as the value of the 'name' attribute in the service discovery <identity/> element)
software_version -- The XMPP software version
Service discovery information is typically world-readable. Therefore, care should be taken in exposing information that may make it easier for a potential attacker to target the publishing entity's system (e.g., the operating system on which the software is running).
This document requires no interaction with the Internet Assigned Numbers Authority (IANA)The Internet Assigned Numbers Authority (IANA) is the central coordinator for the assignment of unique parameter values for Internet protocols, such as port numbers and URI schemes. For further information, see <http://www.iana.org/>..
The XMPP RegistrarThe XMPP Registrar maintains a list of reserved protocol namespaces as well as registries of parameters used in the context of XMPP extension protocols approved by the XMPP Standards Foundation. For further information, see <https://xmpp.org/registrar/>. shall include the following information in its registries.
Field Standardization for Data Forms (XEP-0068)XEP-0068: Field Data Standardization for Data Forms <https://xmpp.org/extensions/xep-0068.html>. defines a process for standardizing the fields used within Data Forms qualified by a particular namespace, and XEP-0128 describes how to use field standardization in the context of service discovery. This section registers fields for software information scoped by the "urn:xmpp:dataforms:softwareinfo" FORM_TYPE.
urn:xmpp:dataforms:softwareinfoXEP-0232
Forms enabling the communication of detailed information
about an XMPP client.
]]>
Thanks to Dave Cridland, Olivier Goffart, Joe Hildebrand, Etan Reisner, Remko Tronçon, and Jiří Zárevúcký for their comments.