Although the XMPP protocol extension defined in Legacy Entity Time (XEP-0090)XEP-0090: Legacy Entity Time <https://xmpp.org/extensions/xep-0090.html>. provides a way to discover the time at another entity, it has several limitations:
The 'jabber:iq:time' namespace specified in XEP-0090 requires communication of time only in UTC. While this is useful for UTC synchronization (e.g., if a client wants to synchronize with its server), it does not enable one entity to know the other entity's offset from UTC.
The timezone may be specified in a natural language (English) name via the <tz/> element, but not in a numeric offest. The name may be not understood by the requesting entity since there is no reliable and canonical list of timezone names A list of English-language time zone names and abbreviations is located at <http://www.timeanddate.com/library/abbreviations/timezones/>, but it is not a canonical list and there are no such localized lists for all languages. and in practice the XML character data of the <tx/> element is effectively useless.
The responding entity may provide a user-friendly datetime format via the <display/> element, but this too is effectively useless since datetime formats vary widely by culture and nation.
The 'jabber:iq:time' namespace specified in XEP-0090 (first developed in 1999 or 2000) is not consistent with the recommended date and time profiles for XMPP protocols defined in XMPP Date and Time Profiles (XEP-0082)XEP-0082: XMPP Date and Time Profiles <https://xmpp.org/extensions/xep-0082.html>. (written in 2003).
To overcome these limitations, this document defines a replacement for XEP-0090 which enables communication of an entity's UTC time and numeric time zone offset while adhering to XEP-0082.
The protocol defined herein provides a standard way for XMPP entities to exchange information about the local time. The information is communicated in a request/response pair using an <iq/> element that contains a <time/> element qualified by the 'urn:xmpp:time' namespace. The following children of the <time/> element are defined for use in IQ stanzas of type 'result':
Element
Definition
Inclusion
<tzo/>
The entity's numeric time zone offset from UTC. The format MUST conform to the Time Zone Definition (TZD) specified in XEP-0082.
REQUIRED
<utc/>
The UTC time according to the responding entity. The format MUST conform to the dateTime profile specified in XEP-0082 and MUST be expressed in UTC.
REQUIRED
]]>
]]>
The standard error conditions described in Error Condition Mappings (XEP-0086)XEP-0086: Error Condition Mappings <https://xmpp.org/extensions/xep-0086.html>. apply (e.g., <service-unavailable/> if the entity does not support the namespace).
If an entity supports the Entity Time protocol, it MUST report that by including a service discovery feature of "urn:xmpp:time" in response to a Service Discovery (XEP-0030)XEP-0030: Service Discovery <https://xmpp.org/extensions/xep-0030.html>. information request:
]]>
...
...
]]>
This protocol was designed in a way that makes migration from XEP-0090 straightforward. This document specifies a different format for the XML character data of the <utc> element (compliant with XEP-0082) and specifies a new <tzo> element for the numeric offset from UTC, while removing the formerly optional and effectively useless <display/> and <tz/> elements.
Implementations that support XEP-0090 should support the protocol defined herein as soon as possible, but should continue to support the protocol defined in XEP-0090 for backwards compatibility until the status of that specification is changed to Obsolete.
Revealing an entity's numeric time zone offset may leak limited information about the entity's current location. If the entity's understanding of UTC is far off from actual UTC, revealing that discrepancy may make it possible for an attacker to send XML stanzas that appear to be in the past or future even though they are not; therefore an entity should use the Network Time Protocol (RFC 958RFC 958: Network Time Protocol (NTP) <http://tools.ietf.org/html/rfc0958>.) or a similar technology to stay synchronized with actual UTC.
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/>. includes 'urn:xmpp:time' in its registry of protocol namespaces (see <https://xmpp.org/registrar/namespaces.html>).
The protocol documented by this schema is defined in
XEP-0202: http://www.xmpp.org/extensions/xep-0202.html
]]>