TOC |
|
This document describes extensions to the Extensible Provisioning Protocol (EPP) for obtaining detailed availability information of domain names.
This document is an Internet-Draft and is NOT offered in accordance with Section 10 of RFC 2026, and the author does not provide the IETF with any rights other than to publish as an Internet-Draft.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as “work in progress.”
This Internet-Draft will expire on November 2, 2013.
1.
Introduction
1.1.
Conventions Used in This Document
2.
Extended Availability Details
2.1.
State
2.2.
Phase Identifier
2.3.
Reason
2.4.
Primary Domain Name
3.
EPP Command Mapping
3.1.
EPP Query Commands
3.1.1.
EPP <check> Command
3.1.2.
EPP <info> Command
3.1.3.
EPP <transfer> Command
3.2.
EPP Transform Commands
3.2.1.
EPP <create> Command
3.2.2.
EPP <delete> Command
3.2.3.
EPP <renew> Command
3.2.4.
EPP <transfer> Command
3.2.5.
EPP <update> Command
4.
Formal Syntax
5.
Security Considerations
6.
References
6.1.
Normative References
6.2.
Informative References
§
Authors' Addresses
TOC |
The check command described in EPP Domain Name Mapping (Hollenbeck, S., “Extensible Provisioning Protocol (EPP) Domain Name Mapping,” August 2009.) [RFC5731] provides a hint to determine a domain object's availability. This works well in providing basic information for the client to anticipate the success or failure of registering a domain using the <create> command. To provide a more rich user interface to potential registrants, clients require more detailed information regarding object availability than available through a binary yes/no response.
This document describes extensions to the Extensible Provisioning Protocol (EPP) for clients to obtain extended details regarding the availability of domain names.
This extension can be used when more detailed information is required about the availability of a domain name.
TOC |
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 (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.) [RFC2119].
"exAvail-1.0" is used as an abbreviation for "urn:ar:params:xml:ns:exAvail-1.0". The XML namespace prefix "exAvail" is used, but implementations MUST NOT depend on it and instead employ a proper namespace-aware XML parser and serializer to interpret and output the XML documents.
In this document english words with letters of different cases are used to indicate variants, even though these don't indicate variants in a real registry.
TOC |
To provide more details about the availability of a domain object, this extension adds additional elements to the EPP Domain Name Mapping (Hollenbeck, S., “Extensible Provisioning Protocol (EPP) Domain Name Mapping,” August 2009.) [RFC5731]. Only those new elements are described here.
TOC |
The extended availability details of a domain name are provided using the state element. A MANDATORY "s" attribute describes the extended availability state of the queried domain name. The list of extended availability states with a description of any child elements of this state element are provided below:
TOC |
The identifier of the phase in which an application for the queried domain name can be submitted. The phase identifier is as described in EPP Domain Application Mapping (Mitchell, J. and C. Wright, “Domain Name Application Extension Mapping for the Extensible Provisioning Protocol (EPP),” December 2012.) [AR‑APP‑1.0]
TOC |
The reason explaining the unavailability of the queried domain name. This is provided when the extended availability of a domain name is "unavailable" or "invalid" or "reserved"
TOC |
The queried domain name will be unavailable if it is an active, withheld or blocked variant of a domain object that exists in the repository. In such a case, the primary domain name of the variant is provided.
TOC |
A detailed description of the EPP syntax and semantics can be found in the EPP core protocol specification (Hollenbeck, S., “Extensible Provisioning Protocol (EPP) Domain Name Mapping,” August 2009.) [RFC5731]. The command mappings described here are specifically for use in the Domain Name Extended Availability Check Extension.
TOC |
EPP provides three commands to retrieve object information: <check> to determine if an object is known to the server, <info> to retrieve detailed information associated with an object, and <transfer> to retrieve object transfer status information.
TOC |
This extension defines additional elements to extend the EPP <check> command and response to be used in conjunction with the EPP Domain Name Mapping (Hollenbeck, S., “Extensible Provisioning Protocol (EPP) Domain Name Mapping,” August 2009.) [RFC5731].
To enable clients to obtain additional information about a domain names availability, the <domain:check> command is extended with a <exAvail:check> element, which signals a client's intention to retrieve extended availability information.
Example <check> command requesting extended availability details
<?xml version="1.0" standalone="no"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <command> <check> <check xmlns="urn:ietf:params:xml:ns:domain-1.0"> <name>domain-avail.tld</name> <name>domain-application.tld</name> <name>domain-inuse.tld</name> <name>domain-blocked-by-application.tld</name> <name>domain-reserved.tld</name> <name>domain-inval!d.tld</name> <name>domain-variant.tld</name> <name>domain-VaRiAnT.tld</name> <name>DOMAIN-variant.tld</name> <name>domain-pendingCreate.tld</name> </check> </check> <extension> <check xmlns="urn:ar:params:xml:ns:exAvail-1.0" /> </extension> <clTRID>ABC-12345</clTRID> </command> </epp>
When a <check> command containing the <exAvail:check> element has been processed successfully, the server MUST NOT respond with the <domain:chkData> element described in the EPP Domain Name Mapping (Hollenbeck, S., “Extensible Provisioning Protocol (EPP) Domain Name Mapping,” August 2009.) [RFC5731]. Instead, servers must respond with a <exAvail:chkData> element that contains one <exAvail:cd> element for each domain name present in the command. The <exAvail:cd> element contains the following child elements:
Example <check> response containing the extended availability details
<?xml version="1.0" standalone="no"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg lang="en">Command completed successfully</msg> </result> <extension> <chkData xmlns="urn:ar:params:xml:ns:exAvail-1.0"> <cd> <name>domain-avail.tld</name> <state s="available"> <date>2012-10-20T00:00:00Z</date> </state> </cd> <cd> <name>domain-application.tld</name> <state s="application"> <phase>sunrise</phase> <date>2012-10-20T00:00:00Z</date> </state> </cd> <cd> <name>domain-inuse.tld</name> <state s="unavailable"> <reason>In use</reason> </state> </cd> <cd> <name>domain-blocked-by-application.tld</name> <state s="unavailable"> <reason>Blocked by application</reason> </state> </cd> <cd> <name>domain-reserved.tld</name> <state s="reserved"> <reason>ICANN Reserved</reason> </state> </cd> <cd> <name>domain-inval!d.tld</name> <state s="invalid"> <reason>Invalid domain name</reason> </state> </cd> <cd> <name>domain-variant.tld</name> <state s="activatedVariant"> <primaryDomainName>domain-VARIANT.tld</primaryDomainName> </state> </cd> <cd> <name>domain-VaRiAnT.tld</name> <state s="withheldVariant"> <primaryDomainName>domain-VARIANT.tld</primaryDomainName> </state> </cd> <cd> <name>DOMAIN-variant.tld</name> <state s="blockedVariant"> <primaryDomainName>domain-VARIANT.tld</primaryDomainName> </state> </cd> <cd> <name>domain-pendingCreate.tld</name> <state s="pendingCreate" /> </cd> </chkData> </extension> <trID> <clTRID>ABC-12345</clTRID> <svTRID>57f39ac6-abd2-4fea-9a80-e791d1af86f7</svTRID> </trID> </response> </epp>
TOC |
This extension does not define any extension to the EPP <info> command or response described in the EPP Domain Name Mapping (Hollenbeck, S., “Extensible Provisioning Protocol (EPP) Domain Name Mapping,” August 2009.) [RFC5731].
TOC |
This extension does not define any extension to the EPP <transfer> command or response described in the EPP Domain Name Mapping (Hollenbeck, S., “Extensible Provisioning Protocol (EPP) Domain Name Mapping,” August 2009.) [RFC5731].
TOC |
EPP provides five commands to transform objects: <create> to create an instance of an object, <delete> to delete an instance of an object, <renew> to extend the validity period of an object, <transfer> to manage object sponsorship changes, and <update> to change information associated with an object.
TOC |
This extension does not define any extension to the EPP <create> command or response described in the EPP Domain Name Mapping (Hollenbeck, S., “Extensible Provisioning Protocol (EPP) Domain Name Mapping,” August 2009.) [RFC5731].
TOC |
This extension does not define any extension to the EPP <delete> command or response described in the EPP Domain Name Mapping (Hollenbeck, S., “Extensible Provisioning Protocol (EPP) Domain Name Mapping,” August 2009.) [RFC5731].
TOC |
This extension does not define any extension to the EPP <renew> command or response described in the EPP Domain Name Mapping (Hollenbeck, S., “Extensible Provisioning Protocol (EPP) Domain Name Mapping,” August 2009.) [RFC5731].
TOC |
This extension does not define any extension to the EPP <transfer> command or response described in the EPP Domain Name Mapping (Hollenbeck, S., “Extensible Provisioning Protocol (EPP) Domain Name Mapping,” August 2009.) [RFC5731].
TOC |
This extension does not define any extension to the EPP <update> command or response described in the EPP Domain Name Mapping (Hollenbeck, S., “Extensible Provisioning Protocol (EPP) Domain Name Mapping,” August 2009.) [RFC5731].
TOC |
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.
<?xml version="1.0" standalone="no"?> <schema targetNamespace="urn:ar:params:xml:ns:exAvail-1.0" xmlns:exAvail="urn:ar:params:xml:ns:exAvail-1.0" xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/> <!-- Custom Extensions found in EPP commands. --> <element name="check"/> <!-- Child response elements.--> <element name="chkData" type="exAvail:chkDataType"/> <complexType name="chkDataType"> <sequence> <element name="cd" type="exAvail:checkType" maxOccurs="unbounded"/> </sequence> </complexType> <complexType name="checkType"> <sequence> <element name="name" type="eppcom:labelType"/> <element name="state" type="exAvail:checkStateType"/> </sequence> </complexType> <complexType name="checkStateType"> <choice> <sequence> <element name="reason" type="eppcom:reasonType" minOccurs="0"/> </sequence> <sequence> <element name="phase" type="eppcom:labelType" minOccurs="0"/> <element name="date" type="dateTime" minOccurs="0"/> </sequence> <sequence> <element name="primaryDomainName" type="eppcom:labelType"/> </sequence> </choice> <attribute name="s" type="exAvail:stateValueType" use="required"/> </complexType> <simpleType name="stateValueType"> <restriction base="token"> <enumeration value="available"/> <enumeration value="application"/> <enumeration value="unavailable"/> <enumeration value="reserved"/> <enumeration value="invalid"/> <enumeration value="activatedVariant"/> <enumeration value="withheldVariant"/> <enumeration value="blockedVariant"/> <enumeration value="pendingCreate"/> </restriction> </simpleType> </schema>
TOC |
The mapping extensions described in this document do not provide any security services beyond those described by EPP (Hollenbeck, S., “Extensible Provisioning Protocol (EPP),” August 2009.) [RFC5730], the EPP Domain Name Mapping (Hollenbeck, S., “Extensible Provisioning Protocol (EPP) Domain Name Mapping,” August 2009.) [RFC5731], and protocol layers used by EPP. The security considerations described in these other specifications also apply to this specification.
TOC |
TOC |
[RFC2119] | Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML). |
[RFC5730] | Hollenbeck, S., “Extensible Provisioning Protocol (EPP),” STD 69, RFC 5730, August 2009 (TXT). |
[RFC5731] | Hollenbeck, S., “Extensible Provisioning Protocol (EPP) Domain Name Mapping,” STD 69, RFC 5731, August 2009 (TXT). |
TOC |
[AR-APP-1.0] | Mitchell, J. and C. Wright, “Domain Name Application Extension Mapping for the Extensible Provisioning Protocol (EPP),” December 2012. |
TOC |
James Mitchell | |
AusRegistry | |
8/10 Queens Road | |
Melbourne, Victoria 3004 | |
AU | |
Email: | james.mitchell@ausregistry.com |
URI: | www.ausregistry.com |
Chris Wright | |
AusRegistry | |
8/10 Queens Road | |
Melbourne, Victoria 3004 | |
AU | |
Email: | chris@ausregistry.com |
URI: | www.ausregistry.com |