XEP-0090: Entity Time

This document provides canonical documentation of the existing 'jabber:iq:time' namespace currently used within the Jabber community.


NOTICE: This Historical specification provides canonical documentation of a protocol that is in use within the Jabber/XMPP community. This document is not a standards-track specification within the XMPP Standards Foundation's standards process; however, it may be converted to standards-track in the future or may be obsoleted by a more modern protocol.


Document Information

Series: XEP
Number: 0090
Publisher: XMPP Standards Foundation
Status: Active
Type: Historical
Version: 1.0
Last Updated: 2003-10-08
Approving Body: XMPP Council
Dependencies: XMPP Core
Supersedes: None
Superseded By: None
Short Name: iq-time
Schema: <http://www.xmpp.org/schemas/iq-time.xsd>
Wiki Page: <http://wiki.jabber.org/index.php/Entity Time (XEP-0090)>

Author Information

Peter Saint-Andre

Email: stpeter@jabber.org
JabberID: stpeter@jabber.org

Legal Notice

This XMPP Extension Protocol is copyright 1999 - 2007 by the XMPP Standards Foundation (XSF) and is in full conformance with the XSF's Intellectual Property Rights Policy <http://www.xmpp.org/extensions/ipr-policy.shtml>. This material may be distributed only subject to the terms and conditions set forth in the Creative Commons Attribution License (<http://creativecommons.org/licenses/by/2.5/>).

Discussion Venue

The preferred venue for discussion of this document is the Standards discussion list: <http://mail.jabber.org/mailman/listinfo/standards>.

Relation to XMPP

The Extensible Messaging and Presence Protocol (XMPP) is defined in the XMPP Core (RFC 3920) and XMPP IM (RFC 3921) specifications contributed by the XMPP Standards Foundation to the Internet Standards Process, which is managed by the Internet Engineering Task Force in accordance with RFC 2026. Any protocol defined in this document has been developed outside the Internet Standards Process and is to be understood as an extension to XMPP rather than as an evolution, development, or modification of XMPP itself.

Conformance Terms

The following keywords as used in this document are to be interpreted as described in RFC 2119: "MUST", "SHALL", "REQUIRED"; "MUST NOT", "SHALL NOT"; "SHOULD", "RECOMMENDED"; "SHOULD NOT", "NOT RECOMMENDED"; "MAY", "OPTIONAL".


Table of Contents


1. Introduction
2. Definition
3. Examples
4. A Note on Time Formats
5. Security Considerations
6. IANA Considerations
7. XMPP Registrar Considerations
8. XML Schema
Notes
Revision History


1. Introduction

The Jabber protocols have long included a method for discovering the time at another entity's location. This method makes use of the 'jabber:iq:time' namespace and has been documented variously in Internet-Drafts and elsewhere. Because this protocol is not required by RFC 2779 [1], the 'jabber:iq:time' namespace was removed from XMPP IM [2]. This specification fills the void for canonical documentation.

2. Definition

The 'jabber:iq:time' namespace provides a standard way for Jabber entities to exchange information about the local time (e.g., to "ping" another entity or check network latency). The information is communicated in a request/response pair using an <iq/> element that contains a <query/> scoped by the 'jabber:iq:time' namespace. The following children of the <query/> element are allowed in an IQ result:

3. Examples

Example 1. Querying Another Entity for the Time

<iq type='get'
    from='romeo@montague.net/orchard'
    to='juliet@capulet.com/balcony'
    id='time_1'>
  <query xmlns='jabber:iq:time'/>
</iq>
    

Example 2. A Response to the Query

<iq type='result'
    from='juliet@capulet.com/balcony'
    to='romeo@montague.net/orchard'
    id='time_1'>
  <query xmlns='jabber:iq:time'>
    <utc>20020910T17:58:35</utc>
    <tz>MDT</tz>
    <display>Tue Sep 10 12:58:35 2002</display>
  </query>
</iq>
    

The standard error conditions described in Error Condition Mappings [4] apply (e.g., service unavailable if the entity does not support the namespace).

4. A Note on Time Formats

XMPP Date and Time Profiles [5] defines the lexical representation of dates, times, and datetimes in Jabber protocols. Unfortunately, the 'jabber:iq:time' namespace predates that definition, and uses a datetime format ("CCYYMMDDThh:mm:ss") that is inconsistent with XEP-0082 and XML Schema Part 2 [6]. Because a large base of deployed software uses the old format, this document specifies that applications using 'jabber:iq:time' SHOULD use the old format, not the format defined in XEP-0082. In addition, note well that the datetime provided in the <utc/> element is explicitly UTC and therefore SHOULD NOT include the ending 'Z' character required by ISO 8601 [7].

5. Security Considerations

There are no security features or concerns related to this document.

6. IANA Considerations

This document requires no interaction with the Internet Assigned Numbers Authority (IANA) [8].

7. XMPP Registrar Considerations

The 'jabber:iq:time' namespace is registered in the protocol namespaces registry maintained by the XMPP Registrar [9].

8. XML Schema

<?xml version='1.0' encoding='UTF-8'?>

<xs:schema
    xmlns:xs='http://www.w3.org/2001/XMLSchema'
    targetNamespace='jabber:iq:time'
    xmlns='jabber:iq:time'
    elementFormDefault='qualified'>

  <xs:annotation>
    <xs:documentation>
      The protocol documented by this schema is defined in
      XEP-0090: http://www.xmpp.org/extensions/xep-0090.html
    </xs:documentation>
  </xs:annotation>

  <xs:element name='query'>
    <xs:complexType>
      <xs:sequence minOccurs='0'>
        <xs:element name='utc' type='xs:string' minOccurs='1'/>
        <xs:element name='tz' type='xs:string' minOccurs='0'/>
        <xs:element name='display' type='xs:string' minOccurs='0'/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

</xs:schema>
  

Notes

1. RFC 2779: A Model for Presence and Instant Messaging <http://tools.ietf.org/html/rfc2779>.

2. RFC 3921: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence <http://tools.ietf.org/html/rfc3921>.

3. A list of time zone names and abbreviations is located at <http://www.timeanddate.com/library/abbreviations/timezones/>.

4. XEP-0086: Error Condition Mappings <http://www.xmpp.org/extensions/xep-0086.html>.

5. XEP-0082: XMPP Date and Time Profiles <http://www.xmpp.org/extensions/xep-0082.html>.

6. XML Schema Part 2: Datatypes <http://www.w3.org/TR/xmlschema-2/>.

7. ISO 8601: Representation of Dates and Times (2000). This specification is not freely available; however, a good summary is located at <http://www.cl.cam.ac.uk/~mgk25/iso-time.html>.

8. 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/>.

9. The 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 <http://www.xmpp.org/registrar/>.


Revision History

Version 1.0 (2003-10-08)

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

Version 0.1 (2003-05-22)

Initial version. (psa)

END