VeriSign Naming and Directory S. Hollenbeck Services VeriSign, Inc. March 22, 2005 ConsoliDate Mapping for the Extensible Provisioning Protocol Abstract This document describes an Extensible Provisioning Protocol (EPP) extension mapping for the synchronization of domain name registration period expiration dates. This service is known as "ConsoliDate". Specified in XML, this mapping extends the EPP domain name mapping to provide features that allow a protocol client to end a domain name registration period on a specific month and day. Hollenbeck [Page 1] EPP ConsoliDate Mapping March 2005 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 3 2.1 Dates and Times . . . . . . . . . . . . . . . . . . . . . 3 3. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 4 3.1 EPP Query Commands . . . . . . . . . . . . . . . . . . . . 4 3.1.1 EPP Command . . . . . . . . . . . . . . . . . 4 3.1.2 EPP Command . . . . . . . . . . . . . . . . . . 4 3.1.3 EPP Command . . . . . . . . . . . . . . . . 6 3.2 EPP Transform Commands . . . . . . . . . . . . . . . . . . 6 3.2.1 EPP Command . . . . . . . . . . . . . . . . . 6 3.2.2 EPP Command . . . . . . . . . . . . . . . . . 7 3.2.3 EPP Command . . . . . . . . . . . . . . . . . 7 3.2.4 EPP Command . . . . . . . . . . . . . . . . 7 3.2.5 EPP Command . . . . . . . . . . . . . . . . . 7 4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 8 5. Internationalization Considerations . . . . . . . . . . . . . 9 6. Namespace and Schema Identification . . . . . . . . . . . . . 10 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 9.1 Normative References . . . . . . . . . . . . . . . . . . . 10 9.2 Informative References . . . . . . . . . . . . . . . . . . 11 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 11 Hollenbeck [Page 2] EPP ConsoliDate Mapping March 2005 1. Introduction This document describes an extension mapping for version 1.0 of the Extensible Provisioning Protocol (EPP). This mapping, an extension of the domain name mapping described in [1], is specified using the Extensible Markup Language (XML) 1.0 as described in [2] and XML Schema notation as described in [3] and [4]. The EPP core protocol specification [5] provides a complete description of EPP command and response structures. A thorough understanding of the base protocol specification is necessary to understand the mapping described in this document. The ConsoliDate service will allow registrants, through their current registrar, to set a specific expiration date for all of their domain name registration periods. This will provide a means to synchronize renewals for large group of names, or even simply set a desired date of expiration date for a single domain name. The service will be fulfilled at the registry by the current registrar of record for any given domain name registration within the top-level domains administered by VeriSign. Expiration dates can only be adjusted forward to a month and day within one calendar year of the current date. Conventions Used In This Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [6]. In examples, "C:" represents lines sent by a protocol client and "S:" represents lines returned by a protocol server. Indentation and white space in examples is provided only to illustrate element relationships and is not a REQUIRED feature of this specification. XML is case sensitive. Unless stated otherwise, XML specifications and examples provided in this document MUST be interpreted in the character case presented to develop a conforming implementation. 2. Object Attributes This extension adds additional elements to the EPP domain name mapping [1]. Only new element descriptions are described here. 2.1 Dates and Times Month and day attribute values used to specify a synchronized expiration date MUST be represented in the "gMonthDay" format Hollenbeck [Page 3] EPP ConsoliDate Mapping March 2005 described by XML Schema Part 2 [4]. The expiration time for a synchronized expiration date MUST be 23:59:59.0Z. 3. EPP Command Mapping A detailed description of the EPP syntax and semantics can be found in the EPP core protocol specification [5]. The command mappings described here are specifically for use in ConsoliDate processes via EPP. 3.1 EPP Query Commands EPP provides three commands to retrieve object information: to determine if an object is known to the server, to retrieve detailed information associated with an object, and to retrieve object transfer status information. 3.1.1 EPP Command This extension does not add any elements to the EPP command or response described in the EPP domain mapping [1]. 3.1.2 EPP Command This extension does not add any elements to the EPP command or response described in the EPP domain mapping [1]. However, the value of the element will change if a request to synchronize the expiration date is successful. Example response before synchronization: S: S: S: S: S: Command completed successfully S: S: S: S: example.com S: EXAMPLE1-REP S: Hollenbeck [Page 4] EPP ConsoliDate Mapping March 2005 S: jd1234 S: sh8013 S: sh8013 S: S: ns1.example.com S: ns1.example.net S: S: ns1.example.com S: ns2.example.com S: ClientX S: ClientY S: 1999-04-03T22:00:00.0Z S: ClientX S: 1999-12-03T09:00:00.0Z S: 2005-04-03T22:00:00.0Z S: 2000-04-08T09:00:00.0Z S: S: 2fooBAR S: S: S: S: S: ABC-12345 S: 54322-XYZ S: S: S: Example response after synchronization from an expiration date of 3 April 2005 to an expiration date of 31 May 2005: S: S: S: S: S: Command completed successfully S: S: S: S: example.com S: EXAMPLE1-REP S: Hollenbeck [Page 5] EPP ConsoliDate Mapping March 2005 S: jd1234 S: sh8013 S: sh8013 S: S: ns1.example.com S: ns1.example.net S: S: ns1.example.com S: ns2.example.com S: ClientX S: ClientY S: 1999-04-03T22:00:00.0Z S: ClientX S: 1999-12-03T09:00:00.0Z S: 2005-05-31T23:59:59.0Z S: 2000-04-08T09:00:00.0Z S: S: 2fooBAR S: S: S: S: S: ABC-12345 S: 54322-XYZ S: S: S: 3.1.3 EPP Command This extension does not add any elements to the EPP command or response described in the EPP domain mapping [1]. 3.2 EPP Transform Commands EPP provides five commands to transform objects: to create an instance of an object, to delete an instance of an object, to extend the validity period of an object, to manage object sponsorship changes, and to change information associated with an object. 3.2.1 EPP Command This extension does not add any elements to the EPP command or response described in the EPP domain mapping [1]. Hollenbeck [Page 6] EPP ConsoliDate Mapping March 2005 3.2.2 EPP Command This extension does not add any elements to the EPP command or response described in the EPP domain mapping [1]. 3.2.3 EPP Command This extension does not add any elements to the EPP command or response described in the EPP domain mapping [1]. 3.2.4 EPP Command This extension does not add any elements to the EPP command or response described in the EPP domain mapping [1]. 3.2.5 EPP Command This extension defines additional elements to extend the EPP command described in the EPP domain mapping [1] to synchronize registration period expiration dates. The EPP command provides a transform operation that allows a client to change the state of a domain object. The ConsoliDate extension modifies base update processing to allow specification of a desired expiration date within one calendar year of the current date. Section 3.2.5 of the EPP domain mapping describes the elements that have to be specified within an command. The requirement to provide at least one , , or element is updated by this extension such that at least one empty , , or element MUST be present if this extension is specified within an command. This requirement is updated to disallow the possibility of modifying a domain object as part of ConsoliDate processing. In addition to the EPP command elements described in the EPP domain mapping [1], the command MUST contain an element. The element MUST contain a child element that identifies the ConsoliDate namespace and the location of the ConsoliDate schema. The element contains a single element that describes the desired month and day for the new registration period expiration date. Example command with ConsoliDate: Hollenbeck [Page 7] EPP ConsoliDate Mapping March 2005 C: C: C: C: C: C: example.com C: C: C: C: C: C: --05-31 C: C: C: ABC-12345 C: C: When an extended command has been processed successfully, the EPP response is as described in the EPP domain mapping [1]. 4. Formal Syntax An EPP object mapping is specified in XML Schema notation. The formal syntax presented here is a complete schema representation of the object mapping suitable for automated validation of EPP XML instances. The BEGIN and END tags are not part of the schema; they are used to note the beginning and ending of the schema for URI registration purposes. Hollenbeck [Page 8] EPP ConsoliDate Mapping March 2005 BEGIN Extensible Provisioning Protocol v1.0 domain name extension schema for expiration date synchronization. END 5. Internationalization Considerations EPP is represented in XML, which provides native support for encoding information using the Unicode character set and its more compact representations including UTF-8 [7]. Conformant XML processors recognize both UTF-8 and UTF-16 [8]. Though XML includes provisions to identify and use other character encodings through use of an "encoding" attribute in an declaration, use of UTF-8 is RECOMMENDED in environments where parser encoding support incompatibility exists. As an extension of the EPP domain mapping [1], the elements, element content, attributes, and attribute values described in this document Hollenbeck [Page 9] EPP ConsoliDate Mapping March 2005 MUST inherit the internationalization conventions used to represent higher-layer domain and core protocol structures present in an XML instance that includes this extension. 6. Namespace and Schema Identification The ConsoliDate namespace and schema is identified by this URI: http://www.verisign.com/epp/sync-1.0. Any change to the namespace or schema described in this document MUST also include a change to the URI used to identify the new namespace or schema. 7. Security Considerations The mapping extensions described in this document do not provide any security services beyond those described by EPP [5], the EPP domain name mapping [1], and protocol layers used by EPP. The security considerations described in these other specifications apply to this specification as well. As with other domain object updates, synchronization of a domain name regiatration period MUST be restricted to the sponsoring client. Any attempt to update a domain object by any client other than the sponsoring client MUST be rejected with an appropriate EPP authorization error. 8. Acknowledgements The author would like to thank the following people who have provided significant contributions to the development of this document: James Gould. 9. References 9.1 Normative References [1] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) Domain Name Mapping", RFC 3731, March 2004. [2] Paoli, J., Sperberg-McQueen, C., Bray, T. and E. Maler, "Extensible Markup Language (XML) 1.0 (Second Edition)", W3C FirstEdition REC-xml-20001006, October 2000. [3] Maloney, M., Beech, D., Mendelsohn, N. and H. Thompson, "XML Schema Part 1: Structures", W3C REC REC-xmlschema-1-20010502, May 2001. [4] Malhotra, A. and P. Biron, "XML Schema Part 2: Datatypes", W3C Hollenbeck [Page 10] EPP ConsoliDate Mapping March 2005 REC REC-xmlschema-2-20010502, May 2001. [5] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", RFC 3730, March 2004. [6] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 9.2 Informative References [7] Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC 2279, January 1998. [8] Hoffman, P. and F. Yergeau, "UTF-16, an encoding of ISO 10646", RFC 2781, February 2000. Author's Address Scott Hollenbeck VeriSign, Inc. 21345 Ridgetop Circle Dulles, VA 20166-6503 US Email: shollenbeck@verisign.com Hollenbeck [Page 11]