summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc3731.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc3731.txt')
-rw-r--r--doc/rfc/rfc3731.txt2523
1 files changed, 2523 insertions, 0 deletions
diff --git a/doc/rfc/rfc3731.txt b/doc/rfc/rfc3731.txt
new file mode 100644
index 0000000..c18e0df
--- /dev/null
+++ b/doc/rfc/rfc3731.txt
@@ -0,0 +1,2523 @@
+
+
+
+
+
+
+Network Working Group S. Hollenbeck
+Request for Comments: 3731 VeriSign, Inc.
+Category: Standards Track March 2004
+
+
+ Extensible Provisioning Protocol (EPP) Domain Name Mapping
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2004). All Rights Reserved.
+
+Abstract
+
+ This document describes an Extensible Provisioning Protocol (EPP)
+ mapping for the provisioning and management of Internet domain names
+ stored in a shared central repository. Specified in XML, the mapping
+ defines EPP command syntax and semantics as applied to domain names.
+
+Table of Contents
+
+ 1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 2
+ 1.1. Relationship of Domain Objects and Host Objects . . . . 2
+ 1.2. Conventions Used In This Document . . . . . . . . . . . 4
+ 2. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4
+ 2.1. Domain and Host Names . . . . . . . . . . . . . . . . . 4
+ 2.2. Contact and Client Identifiers. . . . . . . . . . . . . 5
+ 2.3. Status Values . . . . . . . . . . . . . . . . . . . . . 5
+ 2.4. Dates and Times . . . . . . . . . . . . . . . . . . . . 7
+ 2.5. Validity Periods. . . . . . . . . . . . . . . . . . . . 7
+ 2.6. Authorization Information . . . . . . . . . . . . . . . 7
+ 2.7. Other DNS Resource Record Attributes. . . . . . . . . . 7
+ 3. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 8
+ 3.1. EPP Query Commands. . . . . . . . . . . . . . . . . . . 8
+ 3.1.1. EPP <check> Command . . . . . . . . . . . . . . 8
+ 3.1.2. EPP <info> Command. . . . . . . . . . . . . . . 10
+ 3.1.3. EPP <transfer> Query Command. . . . . . . . . . 16
+ 3.2. EPP Transform Commands. . . . . . . . . . . . . . . . . 18
+ 3.2.1. EPP <create> Command. . . . . . . . . . . . . . 19
+ 3.2.2. EPP <delete> Command. . . . . . . . . . . . . . 21
+ 3.2.3. EPP <renew> Command . . . . . . . . . . . . . . 23
+
+
+
+Hollenbeck Standards Track [Page 1]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ 3.2.4. EPP <transfer> Command. . . . . . . . . . . . . 24
+ 3.2.5. EPP <update> Command. . . . . . . . . . . . . . 27
+ 3.2.6. Offline Review of Requested Actions . . . . . . 29
+ 4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 32
+ 5. Internationalization Considerations . . . . . . . . . . . . . 41
+ 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 42
+ 7. Security Considerations . . . . . . . . . . . . . . . . . . . 42
+ 8. Acknowledgements. . . . . . . . . . . . . . . . . . . . . . . 42
+ 9. References. . . . . . . . . . . . . . . . . . . . . . . . . . 43
+ 9.1. Normative References. . . . . . . . . . . . . . . . . . 43
+ 9.2. Informative References. . . . . . . . . . . . . . . . . 43
+ 10. Author's Address. . . . . . . . . . . . . . . . . . . . . . . 44
+ 11. Full Copyright Statement. . . . . . . . . . . . . . . . . . . 45
+
+1. Introduction
+
+ This document describes an Internet domain name mapping for version
+ 1.0 of the Extensible Provisioning Protocol (EPP). This mapping is
+ specified using the Extensible Markup Language (XML) 1.0 as described
+ in [XML] and XML Schema notation as described in [XMLS-1] and
+ [XMLS-2].
+
+ [RFC3730] 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.
+
+ 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.
+
+1.1. Relationship of Domain Objects and Host Objects
+
+ The EPP mapping for host objects is described in [RFC3732]. This
+ document assumes that domain name objects have a superordinate
+ relationship to subordinate host name objects. For example, domain
+ name "example.com" has a superordinate relationship to host name
+ "ns1.example.com". EPP actions (such as object transfers) that do
+ not preserve this relationship MUST be explicitly disallowed.
+
+ A host name object can be created in a repository for which no
+ superordinate domain name object exists. For example, host name
+ "ns1.example.com" can be created in the ".example" repository so that
+ DNS domains in ".example" can be delegated to the host. Such hosts
+ are described as "external" hosts in this specification since the
+ name of the host does not belong to the name space of the repository
+ in which the host is being used for delegation purposes.
+
+
+
+
+Hollenbeck Standards Track [Page 2]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ Whether a host is external or internal relates to the repository in
+ which the host is being used for delegation purposes. Whether an
+ internal host is subordinate or not relates to a domain within the
+ repository. For example, host ns1.example1.com is a subordinate host
+ of domain example1.com, but it is a not a subordinate host of domain
+ example2.com. ns1.example1.com can be used as a name server for
+ example2.com. In this case, ns1.example1.com MUST be treated as an
+ internal host, subject to the rules governing operations on
+ subordinate hosts within the same repository.
+
+ Name server hosts for domain delegation can be specified as either
+ references to existing host objects or as domain attributes that
+ describe a host machine. A server operator MUST use one name server
+ specification form consistently. A server operator that announces
+ support for host objects in an EPP greeting MUST NOT allow domain
+ attributes to describe a name server host machine. A server operator
+ that does not announce support for host objects MUST allow domain
+ attributes to describe a name server host machine. When domain
+ attributes are used to describe a name server host machine, IP
+ addresses SHOULD be required only as needed to generate DNS glue
+ records.
+
+ Name servers are specified within a <domain:ns> element. This
+ element MUST contain one or more <domain:hostObj> elements or one or
+ more <domain:hostAttr> elements. A <domain:hostObj> element contains
+ the fully qualified name of a known name server host object. A
+ <domain:hostAttr> element contains the following child elements:
+
+ - A <domain:hostName> element that contains the fully qualified name
+ of a host.
+
+ - Zero or more OPTIONAL <domain:hostAddr> elements that contain the
+ IP addresses to be associated with the host. Each element MAY
+ contain an "ip" attribute to identify the IP address format.
+ Attribute value "v4" is used to note IPv4 address format.
+ Attribute value "v6" is used to note IPv6 address format. If the
+ "ip" attribute is not specified, "v4" is the default attribute
+ value. IP address syntax requirements are described in Section
+ 2.5 of the EPP host mapping [RFC3732].
+
+ Example host object name server elements for domain example.com:
+
+ <domain:ns>
+ <domain:hostObj>ns1.example.com</domain:hostObj>
+ <domain:hostObj>ns1.example.net</domain:hostObj>
+ </domain:ns>
+
+
+
+
+
+Hollenbeck Standards Track [Page 3]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ Example host attribute name server elements for domain example.com:
+
+ <domain:ns>
+ <domain:hostAttr>
+ <domain:hostName>ns1.example.com</domain:hostName>
+ <domain:hostAddr
+ ip="v4">192.0.2.2</domain:hostAddr>
+ <domain:hostAddr
+ ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
+ </domain:hostAttr>
+ <domain:hostAttr>
+ <domain:hostName>ns1.example.net</domain:hostName>
+ </domain:hostAttr>
+ </domain:ns>
+
+1.2. 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 [RFC2119].
+
+ 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 protocol.
+
+2. Object Attributes
+
+ An EPP domain object has attributes and associated values that can be
+ viewed and modified by the sponsoring client or the server. This
+ section describes each attribute type in detail. The formal syntax
+ for the attribute values described here can be found in the "Formal
+ Syntax" section of this document and in the appropriate normative
+ references.
+
+2.1. Domain and Host Names
+
+ The syntax for domain and host names described in this document MUST
+ conform to [RFC952] as updated by [RFC1123]. At the time of this
+ writing, RFC 3490 [RFC3490] describes a standard to use certain ASCII
+ name labels to represent non-ASCII name labels. These conformance
+ requirements might change as a result of progressing work in
+ developing standards for internationalized domain names. A server
+ MAY restrict allowable domain names to a particular top level domain,
+ second level domain, or other domain for which the server is
+ authoritative. The trailing dot required when these names are stored
+ in a DNS zone is implicit and MUST NOT be provided when exchanging
+ host and domain names.
+
+
+
+Hollenbeck Standards Track [Page 4]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+2.2. Contact and Client Identifiers
+
+ All EPP contacts are identified by a server-unique identifier.
+ Contact identifiers are character strings with a specified minimum
+ length, a specified maximum length, and a specified format. Contact
+ identifiers use the "clIDType" client identifier syntax described in
+ [RFC3730].
+
+2.3. Status Values
+
+ A domain object MUST always have at least one associated status
+ value. Status values can be set only by the client that sponsors a
+ domain object and by the server on which the object resides. A
+ client can change the status of a domain object using the EPP
+ <update> command. Each status value MAY be accompanied by a string
+ of human-readable text that describes the rationale for the status
+ applied to the object.
+
+ A client MUST NOT alter status values set by the server. A server
+ MAY alter or override status values set by a client subject to local
+ server policies. The status of an object MAY change as a result of
+ either a client-initiated transform command or an action performed by
+ a server operator.
+
+ Status values that can be added or removed by a client are prefixed
+ with "client". Corresponding status values that can be added or
+ removed by a server are prefixed with "server". Status values that
+ do not begin with either "client" or "server" are server-managed.
+
+ Status Value Descriptions:
+
+ - clientDeleteProhibited, serverDeleteProhibited
+
+ Requests to delete the object MUST be rejected.
+
+ - clientHold, serverHold
+
+ DNS delegation information MUST NOT be published for the object.
+
+ - clientRenewProhibited, serverRenewProhibited
+
+ Requests to renew the object MUST be rejected.
+
+ - clientTransferProhibited, serverTransferProhibited
+
+ Requests to transfer the object MUST be rejected.
+
+
+
+
+
+Hollenbeck Standards Track [Page 5]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ - clientUpdateProhibited, serverUpdateProhibited
+
+ Requests to update the object (other than to remove this status) MUST
+ be rejected.
+
+ - inactive
+
+ Delegation information has not been associated with the object.
+
+ - ok
+
+ This is the normal status value for an object that has no pending
+ operations or prohibitions. This value is set and removed by the
+ server as other status values are added or removed.
+
+ - pendingCreate, pendingDelete, pendingRenew, pendingTransfer,
+ pendingUpdate
+
+ A transform command has been processed for the object, but the action
+ has not been completed by the server. Server operators can delay
+ action completion for a variety of reasons, such as to allow for
+ human review or third-party action. A transform command that is
+ processed, but whose requested action is pending, is noted with
+ response code 1001.
+
+ With one exception, transform commands MUST be rejected when a
+ pendingCreate, pendingDelete, pendingRenew, pendingTransfer, or
+ pendingUpdate status is set. The only exception is that a <transfer>
+ command to approve, reject, or cancel a transfer MAY be processed
+ while an object is in "pendingTransfer" status.
+
+ When the requested action has been completed, the pendingCreate,
+ pendingDelete, pendingRenew, pendingTransfer, or pendingUpdate status
+ value MUST be removed. All clients involved in the transaction MUST
+ be notified using a service message that the action has been
+ completed and that the status of the object has changed.
+
+ "ok" status MUST NOT be combined with any other status.
+
+ "pendingDelete" status MUST NOT be combined with either
+ "clientDeleteProhibited" or "serverDeleteProhibited" status.
+
+ "pendingRenew" status MUST NOT be combined with either
+ "clientRenewProhibited" or "serverRenewProhibited" status.
+
+ "pendingTransfer" status MUST NOT be combined with either
+ "clientTransferProhibited" or "serverTransferProhibited" status.
+
+
+
+
+Hollenbeck Standards Track [Page 6]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ "pendingUpdate" status MUST NOT be combined with either
+ "clientUpdateProhibited" or "serverUpdateProhibited" status.
+
+ The pendingCreate, pendingDelete, pendingRenew, pendingTransfer, and
+ pendingUpdate status values MUST NOT be combined with each other.
+
+ Other status combinations not expressly prohibited MAY be used.
+
+2.4. Dates and Times
+
+ Date and time attribute values MUST be represented in Universal
+ Coordinated Time (UTC) using the Gregorian calendar. The extended
+ date-time form using upper case "T" and "Z" characters defined in
+ [RFC3339] MUST be used to represent date-time values as XML Schema
+ does not support truncated date-time forms or lower case "T" and "Z"
+ characters.
+
+2.5. Validity Periods
+
+ A domain name object MAY have a specified validity period. If server
+ policy supports domain object validity periods, the validity period
+ is defined when a domain object is created, and it MAY be extended by
+ the EPP <renew> or <transfer> commands. As a matter of server
+ policy, this specification does not define actions to be taken upon
+ expiration of a domain object's validity period.
+
+ Validity periods are measured in years or months with the appropriate
+ units specified using the "unit" attribute. Valid values for the
+ "unit" attribute are "y" for years and "m" for months. The minimum
+ allowable period value is one decimal (1). The maximum allowable
+ value is ninety-nine decimal (99). A server MAY support a lower
+ maximum value.
+
+2.6. Authorization Information
+
+ Authorization information is associated with domain objects to
+ facilitate transfer operations. Authorization information is
+ assigned when a domain object is created, and it might be updated in
+ the future. This specification describes password-based
+ authorization information, though other mechanisms are possible.
+
+2.7. Other DNS Resource Record Attributes
+
+ While the DNS allows many resource record types to be associated with
+ a domain, this mapping only explicitly specifies elements that
+ describe resource records used for domain delegation and resolution.
+ Facilities to provision other domain-related resource record types
+ can be developed by extending this mapping.
+
+
+
+Hollenbeck Standards Track [Page 7]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ The provisioning method described in this mapping separates discrete
+ data elements by data type. This method of data definition allows
+ XML Schema processors to perform basic syntax validation tasks,
+ reducing ambiguity and the amount of parsing and syntax-checking work
+ required of protocol processors. Provisioning and extension methods
+ that aggregate data into opaque strings are possible, but such
+ methods SHOULD NOT be used because they impose additional parsing,
+ interpretation, and validation requirements on protocol processors.
+
+3. EPP Command Mapping
+
+ A detailed description of the EPP syntax and semantics can be found
+ in [RFC3730]. The command mappings described here are specifically
+ for use in provisioning and managing Internet domain names via EPP.
+
+3.1. EPP Query Commands
+
+ EPP provides three commands to retrieve domain information: <check>
+ to determine if a domain object can be provisioned within a
+ repository, <info> to retrieve detailed information associated with a
+ domain object, and <transfer> to retrieve domain object transfer
+ status information.
+
+3.1.1. EPP <check> Command
+
+ The EPP <check> command is used to determine if an object can be
+ provisioned within a repository. It provides a hint that allows a
+ client to anticipate the success or failure of provisioning an object
+ using the <create> command as object provisioning requirements are
+ ultimately a matter of server policy.
+
+ In addition to the standard EPP command elements, the <check> command
+ MUST contain a <domain:check> element that identifies the domain
+ namespace and the location of the domain schema. The <domain:check>
+ element contains the following child elements:
+
+ - One or more <domain:name> elements that contain the fully
+ qualified names of the domain objects to be queried.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hollenbeck Standards Track [Page 8]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ Example <check> command:
+
+ C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ C: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ C: epp-1.0.xsd">
+ C: <command>
+ C: <check>
+ C: <domain:check
+ C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ C: domain-1.0.xsd">
+ C: <domain:name>example.com</domain:name>
+ C: <domain:name>example.net</domain:name>
+ C: <domain:name>example.org</domain:name>
+ C: </domain:check>
+ C: </check>
+ C: <clTRID>ABC-12345</clTRID>
+ C: </command>
+ C:</epp>
+
+ When a <check> command has been processed successfully, the EPP
+ <resData> element MUST contain a child <domain:chkData> element that
+ identifies the domain namespace and the location of the domain
+ schema. The <domain:chkData> element contains one or more
+ <domain:cd> elements that contain the following child elements:
+
+ - A <domain:name> element that contains the fully qualified name of
+ the queried domain object. This element MUST contain an "avail"
+ attribute whose value indicates object availability (can it be
+ provisioned or not) at the moment the <check> command was
+ completed. A value of "1" or "true" means that the object can be
+ provisioned. A value of "0" or "false" means that the object can
+ not be provisioned.
+
+ - An OPTIONAL <domain:reason> element that MAY be provided when an
+ object can not be provisioned. If present, this element contains
+ server-specific text to help explain why the object can not be
+ provisioned. This text MUST be represented in the response
+ language previously negotiated with the client; an OPTIONAL "lang"
+ attribute MAY be present to identify the language if the
+ negotiated value is something other than the default value of "en"
+ (English).
+
+
+
+
+
+
+
+Hollenbeck Standards Track [Page 9]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ Example <check> response:
+
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ S: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ S: epp-1.0.xsd">
+ S: <response>
+ S: <result code="1000">
+ S: <msg>Command completed successfully</msg>
+ S: </result>
+ S: <resData>
+ S: <domain:chkData
+ S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ S: domain-1.0.xsd">
+ S: <domain:cd>
+ S: <domain:name avail="1">example.com</domain:name>
+ S: </domain:cd>
+ S: <domain:cd>
+ S: <domain:name avail="0">example.net</domain:name>
+ S: <domain:reason>In use</domain:reason>
+ S: </domain:cd>
+ S: <domain:cd>
+ S: <domain:name avail="1">example.org</domain:name>
+ S: </domain:cd>
+ S: </domain:chkData>
+ S: </resData>
+ S: <trID>
+ S: <clTRID>ABC-12345</clTRID>
+ S: <svTRID>54322-XYZ</svTRID>
+ S: </trID>
+ S: </response>
+ S:</epp>
+
+ An EPP error response MUST be returned if a <check> command can not
+ be processed for any reason.
+
+3.1.2. EPP <info> Command
+
+ The EPP <info> command is used to retrieve information associated
+ with a domain object. The response to this command MAY vary
+ depending on the identity of the querying client, use of
+ authorization information, and server policy towards unauthorized
+ clients. If the querying client is the sponsoring client, all
+ available information MUST be returned. If the querying client is
+ not the sponsoring client, but the client provides valid
+ authorization information, all available information MUST be
+
+
+
+Hollenbeck Standards Track [Page 10]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ returned. If the querying client is not the sponsoring client, and
+ the client does not provide valid authorization information, server
+ policy determines which OPTIONAL elements are returned.
+
+ In addition to the standard EPP command elements, the <info> command
+ MUST contain a <domain:info> element that identifies the domain
+ namespace and the location of the domain schema. The <domain:info>
+ element contains the following child elements:
+
+ - A <domain:name> element that contains the fully qualified name of
+ the domain object to be queried. An OPTIONAL "hosts" attribute is
+ available to control return of information describing hosts
+ related to the domain object. A value of "all" (the default,
+ which MAY be absent) returns information describing both
+ subordinate and delegated hosts. A value of "del" returns
+ information describing only delegated hosts. A value of "sub"
+ returns information describing only subordinate hosts. A value of
+ "none" returns no information describing delegated or subordinate
+ hosts.
+
+ - An OPTIONAL <domain:authInfo> element that contains authorization
+ information associated with the domain object or authorization
+ information associated with the domain object's registrant or
+ associated contacts. An OPTIONAL "roid" attribute MUST be used to
+ identify the registrant or contact object if and only if the given
+ authInfo is associated with a registrant or contact object, and
+ not the domain object itself. If this element is not provided or
+ if the authorization information is invalid, server policy
+ determines if the command is rejected or if response information
+ will be returned to the client.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hollenbeck Standards Track [Page 11]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ Example <info> command without authorization information:
+
+ C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ C: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ C: epp-1.0.xsd">
+ C: <command>
+ C: <info>
+ C: <domain:info
+ C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ C: domain-1.0.xsd">
+ C: <domain:name hosts="all">example.com</domain:name>
+ C: </domain:info>
+ C: </info>
+ C: <clTRID>ABC-12345</clTRID>
+ C: </command>
+ C:</epp>
+
+ Example <info> command with authorization information:
+
+ C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ C: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ C: epp-1.0.xsd">
+ C: <command>
+ C: <info>
+ C: <domain:info
+ C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ C: domain-1.0.xsd">
+ C: <domain:name hosts="all">example.com</domain:name>
+ C: <domain:authInfo>
+ C: <domain:pw>2fooBAR</domain:pw>
+ C: </domain:authInfo>
+ C: </domain:info>
+ C: </info>
+ C: <clTRID>ABC-12345</clTRID>
+ C: </command>
+ C:</epp>
+
+
+
+
+
+
+
+
+
+Hollenbeck Standards Track [Page 12]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ When an <info> command has been processed successfully, the EPP
+ <resData> element MUST contain a child <domain:infData> element that
+ identifies the domain namespace and the location of the domain
+ schema. Elements that are not OPTIONAL MUST be returned; OPTIONAL
+ elements are returned based on client authorization and server
+ policy. The <domain:infData> element contains the following child
+ elements:
+
+ - A <domain:name> element that contains the fully qualified name of
+ the domain object.
+
+ - A <domain:roid> element that contains the Repository Object
+ IDentifier assigned to the domain object when the object was
+ created.
+
+ - Zero or more OPTIONAL <domain:status> elements that contain the
+ current status descriptors associated with the domain.
+
+ - If supported by the server, one OPTIONAL <domain:registrant>
+ element and one or more OPTIONAL <domain:contact> elements that
+ contain identifiers for the human or organizational social
+ information objects associated with the domain object.
+
+ - An OPTIONAL <domain:ns> element that contains the fully qualified
+ names of the delegated host objects or host attributes (name
+ servers) associated with the domain object. See section 1.1 for a
+ description of the elements used to specify host objects or host
+ attributes.
+
+ - Zero or more OPTIONAL <domain:host> elements that contain the
+ fully qualified names of the subordinate host objects that exist
+ under this superordinate domain object.
+
+ - A <domain:clID> element that contains the identifier of the
+ sponsoring client.
+
+ - An OPTIONAL <domain:crID> element that contains the identifier of
+ the client that created the domain object.
+
+ - An OPTIONAL <domain:crDate> element that contains the date and
+ time of domain object creation.
+
+ - An OPTIONAL <domain:exDate> element that contains the date and
+ time identifying the end of the domain object's registration
+ period.
+
+
+
+
+
+
+Hollenbeck Standards Track [Page 13]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ - An OPTIONAL <domain:upID> element that contains the identifier of
+ the client that last updated the domain object. This element MUST
+ NOT be present if the domain has never been modified.
+
+ - An OPTIONAL <domain:upDate> element that contains the date and
+ time of the most recent domain object modification. This element
+ MUST NOT be present if the domain object has never been modified.
+
+ - An OPTIONAL <domain:trDate> elements that contains the date and
+ time of the most recent successful domain object transfer. This
+ element MUST NOT be provided if the domain object has never been
+ transferred.
+
+ - An OPTIONAL <domain:authInfo> element that contains authorization
+ information associated with the domain object. This element MUST
+ only be returned if the querying client is the current sponsoring
+ client, or if the client supplied valid authorization information
+ with the command.
+
+ Example <info> response for an authorized client:
+
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ S: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ S: epp-1.0.xsd">
+ S: <response>
+ S: <result code="1000">
+ S: <msg>Command completed successfully</msg>
+ S: </result>
+ S: <resData>
+ S: <domain:infData
+ S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ S: domain-1.0.xsd">
+ S: <domain:name>example.com</domain:name>
+ S: <domain:roid>EXAMPLE1-REP</domain:roid>
+ S: <domain:status s="ok"/>
+ S: <domain:registrant>jd1234</domain:registrant>
+ S: <domain:contact type="admin">sh8013</domain:contact>
+ S: <domain:contact type="tech">sh8013</domain:contact>
+ S: <domain:ns>
+ S: <domain:hostObj>ns1.example.com</domain:hostObj>
+ S: <domain:hostObj>ns1.example.net</domain:hostObj>
+ S: </domain:ns>
+ S: <domain:host>ns1.example.com</domain:host>
+ S: <domain:host>ns2.example.com</domain:host>
+ S: <domain:clID>ClientX</domain:clID>
+
+
+
+Hollenbeck Standards Track [Page 14]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ S: <domain:crID>ClientY</domain:crID>
+ S: <domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate>
+ S: <domain:upID>ClientX</domain:upID>
+ S: <domain:upDate>1999-12-03T09:00:00.0Z</domain:upDate>
+ S: <domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate>
+ S: <domain:trDate>2000-04-08T09:00:00.0Z</domain:trDate>
+ S: <domain:authInfo>
+ S: <domain:pw>2fooBAR</domain:pw>
+ S: </domain:authInfo>
+ S: </domain:infData>
+ S: </resData>
+ S: <trID>
+ S: <clTRID>ABC-12345</clTRID>
+ S: <svTRID>54322-XYZ</svTRID>
+ S: </trID>
+ S: </response>
+ S:</epp>
+
+ A server with a different information return policy MAY provide less
+ information in a response.
+
+ Example <info> response for an unauthorized client:
+
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ S: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ S: epp-1.0.xsd">
+ S: <response>
+ S: <result code="1000">
+ S: <msg>Command completed successfully</msg>
+ S: </result>
+ S: <resData>
+ S: <domain:infData
+ S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ S: domain-1.0.xsd">
+ S: <domain:name>example.com</domain:name>
+ S: <domain:roid>EXAMPLE1-REP</domain:roid>
+ S: <domain:clID>ClientX</domain:clID>
+ S: </domain:infData>
+ S: </resData>
+ S: <trID>
+ S: <clTRID>ABC-12345</clTRID>
+ S: <svTRID>54322-XYZ</svTRID>
+ S: </trID>
+ S: </response>
+ S:</epp>
+
+
+
+Hollenbeck Standards Track [Page 15]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ An EPP error response MUST be returned if an <info> command can not
+ be processed for any reason.
+
+3.1.3. EPP <transfer> Query Command
+
+ The EPP <transfer> command provides a query operation that allows a
+ client to determine real-time status of pending and completed
+ transfer requests. In addition to the standard EPP command elements,
+ the <transfer> command MUST contain an "op" attribute with value
+ "query", and a <domain:transfer> element that identifies the domain
+ namespace and the location of the domain schema. The
+ <domain:transfer> element contains the following child elements:
+
+ - A <domain:name> element that contains the fully qualified name of
+ the domain object to be queried.
+
+ - An OPTIONAL <domain:authInfo> element that contains authorization
+ information associated with the domain object or authorization
+ information associated with the domain object's registrant or
+ associated contacts. An OPTIONAL "roid" attribute MUST be used to
+ identify the registrant or contact object if and only if the given
+ authInfo is associated with a registrant or contact object, and
+ not the domain object itself. If this element is not provided or
+ if the authorization information is invalid, server policy
+ determines if the command is rejected or if response information
+ will be returned to the client.
+
+ Example <transfer> query command:
+
+ C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ C: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ C: epp-1.0.xsd">
+ C: <command>
+ C: <transfer op="query">
+ C: <domain:transfer
+ C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ C: domain-1.0.xsd">
+ C: <domain:name>example.com</domain:name>
+ C: <domain:authInfo>
+ C: <domain:pw roid="JD1234-REP">2fooBAR</domain:pw>
+ C: </domain:authInfo>
+ C: </domain:transfer>
+ C: </transfer>
+ C: <clTRID>ABC-12345</clTRID>
+ C: </command>
+
+
+
+Hollenbeck Standards Track [Page 16]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ C:</epp>
+
+ When a <transfer> query command has been processed successfully, the
+ EPP <resData> element MUST contain a child <domain:trnData> element
+ that identifies the domain namespace and the location of the domain
+ schema. The <domain:trnData> element contains the following child
+ elements:
+
+ - A <domain:name> element that contains the fully qualified name of
+ the domain object.
+
+ - A <domain:trStatus> element that contains the state of the most
+ recent transfer request.
+
+ - A <domain:reID> element that contains the identifier of the client
+ that requested the object transfer.
+
+ - A <domain:reDate> element that contains the date and time that the
+ transfer was requested.
+
+ - A <domain:acID> element that contains the identifier of the client
+ that SHOULD act upon the transfer request.
+
+ - A <domain:acDate> element that contains the date and time of a
+ required or completed response. For a PENDING request, the value
+ identifies the date and time by which a response is required
+ before an automated response action will be taken by the server.
+ For all other status types, the value identifies the date and time
+ when the request was completed.
+
+ - An OPTIONAL <domain:exDate> element that contains the end of the
+ domain object's validity period if the <transfer> command caused
+ or causes a change in the validity period.
+
+ Example <transfer> query response:
+
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ S: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ S: epp-1.0.xsd">
+ S: <response>
+ S: <result code="1000">
+ S: <msg>Command completed successfully</msg>
+ S: </result>
+ S: <resData>
+ S: <domain:trnData
+ S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+
+
+
+Hollenbeck Standards Track [Page 17]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ S: domain-1.0.xsd">
+ S: <domain:name>example.com</domain:name>
+ S: <domain:trStatus>pending</domain:trStatus>
+ S: <domain:reID>ClientX</domain:reID>
+ S: <domain:reDate>2000-06-06T22:00:00.0Z</domain:reDate>
+ S: <domain:acID>ClientY</domain:acID>
+ S: <domain:acDate>2000-06-11T22:00:00.0Z</domain:acDate>
+ S: <domain:exDate>2002-09-08T22:00:00.0Z</domain:exDate>
+ S: </domain:trnData>
+ S: </resData>
+ S: <trID>
+ S: <clTRID>ABC-12345</clTRID>
+ S: <svTRID>54322-XYZ</svTRID>
+ S: </trID>
+ S: </response>
+ S:</epp>
+
+ An EPP error response MUST be returned if a <transfer> query command
+ can not be processed for any reason.
+
+3.2. EPP Transform Commands
+
+ EPP provides five commands to transform domain objects: <create> to
+ create an instance of a domain object, <delete> to delete an instance
+ of a domain object, <renew> to extend the validity period of a domain
+ object, <transfer> to manage domain object sponsorship changes, and
+ <update> to change information associated with a domain object.
+
+ Transform commands are typically processed and completed in real
+ time. Server operators MAY receive and process transform commands,
+ but defer completing the requested action if human or third-party
+ review is required before the requested action can be completed. In
+ such situations the server MUST return a 1001 response code to the
+ client to note that the command has been received and processed, but
+ the requested action is pending. The server MUST also manage the
+ status of the object that is the subject of the command to reflect
+ the initiation and completion of the requested action. Once the
+ action has been completed, all clients involved in the transaction
+ MUST be notified using a service message that the action has been
+ completed and that the status of the object has changed.
+
+
+
+
+
+
+
+
+
+
+Hollenbeck Standards Track [Page 18]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+3.2.1. EPP <create> Command
+
+ The EPP <create> command provides a transform operation that allows a
+ client to create a domain object. In addition to the standard EPP
+ command elements, the <create> command MUST contain a <domain:create>
+ element that identifies the domain namespace and the location of the
+ domain schema. The <domain:create> element contains the following
+ child elements:
+
+ - A <domain:name> element that contains the fully qualified name of
+ the domain object to be created.
+
+ - An OPTIONAL <domain:period> element that contains the initial
+ registration period of the domain object. A server MAY define a
+ default initial registration period if not specified by the
+ client.
+
+ - An OPTIONAL <domain:ns> element that contains the fully qualified
+ names of the delegated host objects or host attributes (name
+ servers) associated with the domain object to provide resolution
+ services for the domain; see section 1.1 for a description of the
+ elements used to specify host objects or host attributes. A host
+ object MUST be known to the server before the host object can be
+ associated with a domain object.
+
+ - An OPTIONAL <domain:registrant> element that contains the
+ identifier for the human or organizational social information
+ (contact) object to be associated with the domain object as the
+ object registrant. This object identifier MUST be known to the
+ server before the contact object can be associated with the domain
+ object. The EPP mapping for contact objects is described in
+ [RFC3733].
+
+ - Zero or more OPTIONAL <domain:contact> elements that contain the
+ identifiers for other contact objects to be associated with the
+ domain object. Contact object identifiers MUST be known to the
+ server before the contact object can be associated with the domain
+ object.
+
+ - A <domain:authInfo> element that contains authorization
+ information to be associated with the domain object. This mapping
+ includes a password-based authentication mechanism, but the schema
+ allows new mechanisms to be defined in new schemas.
+
+
+
+
+
+
+
+
+Hollenbeck Standards Track [Page 19]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ Example <create> command:
+
+ C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ C: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ C: epp-1.0.xsd">
+ C: <command>
+ C: <create>
+ C: <domain:create
+ C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ C: domain-1.0.xsd">
+ C: <domain:name>example.com</domain:name>
+ C: <domain:period unit="y">2</domain:period>
+ C: <domain:ns>
+ C: <domain:hostObj>ns1.example.com</domain:hostObj>
+ C: <domain:hostObj>ns1.example.net</domain:hostObj>
+ C: </domain:ns>
+ C: <domain:registrant>jd1234</domain:registrant>
+ C: <domain:contact type="admin">sh8013</domain:contact>
+ C: <domain:contact type="tech">sh8013</domain:contact>
+ C: <domain:authInfo>
+ C: <domain:pw>2fooBAR</domain:pw>
+ C: </domain:authInfo>
+ C: </domain:create>
+ C: </create>
+ C: <clTRID>ABC-12345</clTRID>
+ C: </command>
+ C:</epp>
+
+ When a <create> command has been processed successfully, the EPP
+ <resData> element MUST contain a child <domain:creData> element that
+ identifies the domain namespace and the location of the domain
+ schema. The <domain:creData> element contains the following child
+ elements:
+
+ - A <domain:name> element that contains the fully qualified name of
+ the domain object.
+
+ - A <domain:crDate> element that contains the date and time of
+ domain object creation.
+
+ - An OPTIONAL <domain:exDate> element that contains the date and
+ time identifying the end of the domain object's registration
+ period.
+
+
+
+
+
+Hollenbeck Standards Track [Page 20]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ Example <create> response:
+
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ S: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ S: epp-1.0.xsd">
+ S: <response>
+ S: <result code="1000">
+ S: <msg>Command completed successfully</msg>
+ S: </result>
+ S: <resData>
+ S: <domain:creData
+ S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ S: domain-1.0.xsd">
+ S: <domain:name>example.com</domain:name>
+ S: <domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate>
+ S: <domain:exDate>2001-04-03T22:00:00.0Z</domain:exDate>
+ S: </domain:creData>
+ S: </resData>
+ S: <trID>
+ S: <clTRID>ABC-12345</clTRID>
+ S: <svTRID>54321-XYZ</svTRID>
+ S: </trID>
+ S: </response>
+ S:</epp>
+
+ An EPP error response MUST be returned if a <create> command can not
+ be processed for any reason.
+
+3.2.2. EPP <delete> Command
+
+ The EPP <delete> command provides a transform operation that allows a
+ client to delete a domain object. In addition to the standard EPP
+ command elements, the <delete> command MUST contain a <domain:delete>
+ element that identifies the domain namespace and the location of the
+ domain schema. The <domain:delete> element contains the following
+ child elements:
+
+ - A <domain:name> element that contains the fully qualified name of
+ the domain object to be deleted.
+
+ A domain object SHOULD NOT be deleted if subordinate host objects are
+ associated with the domain object. For example, if domain
+ "example.com" exists, and host object "ns1.example.com" also exists,
+ then domain "example.com" SHOULD NOT be deleted until host
+ "ns1.example.com" has been either deleted or renamed to exist in a
+
+
+
+Hollenbeck Standards Track [Page 21]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ different superordinate domain. A server SHOULD notify clients that
+ object relationships exist by sending a 2305 error response code when
+ a <delete> command is attempted and fails due to existing object
+ relationships. Delegated and subordinate host objects associated
+ with a domain object can be determined using the <info> query command
+ for the domain object.
+
+ Example <delete> command:
+
+ C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ C: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ C: epp-1.0.xsd">
+ C: <command>
+ C: <delete>
+ C: <domain:delete
+ C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ C: domain-1.0.xsd">
+ C: <domain:name>example.com</domain:name>
+ C: </domain:delete>
+ C: </delete>
+ C: <clTRID>ABC-12345</clTRID>
+ C: </command>
+ C:</epp>
+
+ When a <delete> command has been processed successfully, a server
+ MUST respond with an EPP response with no <resData> element.
+
+ Example <delete> response:
+
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ S: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ S: epp-1.0.xsd">
+ S: <response>
+ S: <result code="1000">
+ S: <msg>Command completed successfully</msg>
+ S: </result>
+ S: <trID>
+ S: <clTRID>ABC-12345</clTRID>
+ S: <svTRID>54321-XYZ</svTRID>
+ S: </trID>
+ S: </response>
+ S:</epp>
+
+
+
+
+Hollenbeck Standards Track [Page 22]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ An EPP error response MUST be returned if a <delete> command can not
+ be processed for any reason.
+
+3.2.3. EPP <renew> Command
+
+ The EPP <renew> command provides a transform operation that allows a
+ client to extend the validity period of a domain object. In addition
+ to the standard EPP command elements, the <renew> command MUST
+ contain a <domain:renew> element that identifies the domain namespace
+ and the location of the domain schema. The <domain:renew> element
+ contains the following child elements:
+
+ - A <domain:name> element that contains the fully qualified name of
+ the domain object whose validity period is to be extended.
+
+ - A <domain:curExpDate> element that contains the date on which the
+ current validity period ends. This value ensures that repeated
+ <renew> commands do not result in multiple unanticipated
+ successful renewals.
+
+ - An OPTIONAL <domain:period> element that contains the number of
+ units to be added to the registration period of the domain object.
+ The number of units available MAY be subject to limits imposed by
+ the server.
+
+ Example <renew> command:
+
+ C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ C: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ C: epp-1.0.xsd">
+ C: <command>
+ C: <renew>
+ C: <domain:renew
+ C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ C: domain-1.0.xsd">
+ C: <domain:name>example.com</domain:name>
+ C: <domain:curExpDate>2000-04-03</domain:curExpDate>
+ C: <domain:period unit="y">5</domain:period>
+ C: </domain:renew>
+ C: </renew>
+ C: <clTRID>ABC-12345</clTRID>
+ C: </command>
+ C:</epp>
+
+
+
+
+
+Hollenbeck Standards Track [Page 23]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ When a <renew> command has been processed successfully, the EPP
+ <resData> element MUST contain a child <domain:renData> element that
+ identifies the domain namespace and the location of the domain
+ schema. The <domain:renData> element contains the following child
+ elements:
+
+ - A <domain:name> element that contains the fully qualified name of
+ the domain object.
+
+ - An OPTIONAL <domain:exDate> element that contains the date and
+ time identifying the end of the domain object's registration
+ period.
+
+ Example <renew> response:
+
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ S: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ S: epp-1.0.xsd">
+ S: <response>
+ S: <result code="1000">
+ S: <msg>Command completed successfully</msg>
+ S: </result>
+ S: <resData>
+ S: <domain:renData
+ S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ S: domain-1.0.xsd">
+ S: <domain:name>example.com</domain:name>
+ S: <domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate>
+ S: </domain:renData>
+ S: </resData>
+ S: <trID>
+ S: <clTRID>ABC-12345</clTRID>
+ S: <svTRID>54322-XYZ</svTRID>
+ S: </trID>
+ S: </response>
+ S:</epp>
+
+ An EPP error response MUST be returned if a <renew> command can not
+ be processed for any reason.
+
+3.2.4. EPP <transfer> Command
+
+ The EPP <transfer> command provides a transform operation that allows
+ a client to manage requests to transfer the sponsorship of a domain
+ object. In addition to the standard EPP command elements, the
+
+
+
+Hollenbeck Standards Track [Page 24]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ <transfer> command MUST contain a <domain:transfer> element that
+ identifies the domain namespace and the location of the domain
+ schema. The <domain:transfer> element contains the following child
+ elements:
+
+ - A <domain:name> element that contains the fully qualified name of
+ the domain object for which a transfer request is to be created,
+ approved, rejected, or cancelled.
+
+ - An OPTIONAL <domain:period> element that contains the number of
+ units to be added to the registration period of the domain object
+ at completion of the transfer process. This element can only be
+ used when a transfer is requested, and it MUST be ignored if used
+ otherwise. The number of units available MAY be subject to limits
+ imposed by the server.
+
+ - A <domain:authInfo> element that contains authorization
+ information associated with the domain object or authorization
+ information associated with the domain object's registrant or
+ associated contacts. An OPTIONAL "roid" attribute MUST be used to
+ identify the registrant or contact object if and only if the given
+ authInfo is associated with a registrant or contact object, and
+ not the domain object itself.
+
+ Every EPP <transfer> command MUST contain an "op" attribute that
+ identifies the transfer operation to be performed. Valid values,
+ definitions, and authorizations for all attribute values are defined
+ in [RFC3730].
+
+ Transfer of a domain object MUST implicitly transfer all host objects
+ that are subordinate to the domain object. For example, if domain
+ object "example.com" is transferred and host object "ns1.example.com"
+ exists, the host object MUST be transferred as part of the
+ "example.com" transfer process. Host objects that are subject to
+ transfer when transferring a domain object are listed in the response
+ to an EPP <info> command performed on the domain object.
+
+ Example <transfer> request command:
+
+ C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ C: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ C: epp-1.0.xsd">
+ C: <command>
+ C: <transfer op="request">
+ C: <domain:transfer
+ C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+
+
+
+Hollenbeck Standards Track [Page 25]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ C: domain-1.0.xsd">
+ C: <domain:name>example.com</domain:name>
+ C: <domain:period unit="y">1</domain:period>
+ C: <domain:authInfo>
+ C: <domain:pw roid="JD1234-REP">2fooBAR</domain:pw>
+ C: </domain:authInfo>
+ C: </domain:transfer>
+ C: </transfer>
+ C: <clTRID>ABC-12345</clTRID>
+ C: </command>
+ C:</epp>
+
+ When a <transfer> command has been processed successfully, the EPP
+ <resData> element MUST contain a child <domain:trnData> element that
+ identifies the domain namespace and the location of the domain
+ schema. The <domain:trnData> element contains the same child
+ elements defined for a transfer query response.
+
+ Example <transfer> response:
+
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ S: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ S: epp-1.0.xsd">
+ S: <response>
+ S: <result code="1001">
+ S: <msg>Command completed successfully; action pending</msg>
+ S: </result>
+ S: <resData>
+ S: <domain:trnData
+ S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ S: domain-1.0.xsd">
+ S: <domain:name>example.com</domain:name>
+ S: <domain:trStatus>pending</domain:trStatus>
+ S: <domain:reID>ClientX</domain:reID>
+ S: <domain:reDate>2000-06-08T22:00:00.0Z</domain:reDate>
+ S: <domain:acID>ClientY</domain:acID>
+ S: <domain:acDate>2000-06-13T22:00:00.0Z</domain:acDate>
+ S: <domain:exDate>2002-09-08T22:00:00.0Z</domain:exDate>
+ S: </domain:trnData>
+ S: </resData>
+ S: <trID>
+ S: <clTRID>ABC-12345</clTRID>
+ S: <svTRID>54322-XYZ</svTRID>
+ S: </trID>
+
+
+
+Hollenbeck Standards Track [Page 26]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ S: </response>
+ S:</epp>
+
+ An EPP error response MUST be returned if a <transfer> command can
+ not be processed for any reason.
+
+3.2.5. EPP <update> Command
+
+ The EPP <update> command provides a transform operation that allows a
+ client to modify the attributes of a domain object. In addition to
+ the standard EPP command elements, the <update> command MUST contain
+ a <domain:update> element that identifies the domain namespace and
+ the location of the domain schema. The <domain:update> element
+ contains the following child elements:
+
+ - A <domain:name> element that contains the fully qualified name of
+ the domain object to be updated.
+
+ - An OPTIONAL <domain:add> element that contains attribute values to
+ be added to the object.
+
+ - An OPTIONAL <domain:rem> element that contains attribute values to
+ be removed from the object.
+
+ - An OPTIONAL <domain:chg> element that contains object attribute
+ values to be changed.
+
+ At least one <domain:add>, <domain:rem>, or <domain:chg> element MUST
+ be provided. The <domain:add> and <domain:rem> elements contain the
+ following child elements:
+
+ - An OPTIONAL <domain:ns> element that contains the fully qualified
+ names of the delegated host objects or host attributes (name
+ servers) associated with the domain object to provide resolution
+ services for the domain; see section 1.1 for a description of the
+ elements used to specify host objects or host attributes. A host
+ object MUST be known to the server before the host object can be
+ associated with a domain object. If host attributes are used to
+ specify name servers, note that IP address elements are not needed
+ to identify a name server that is being removed. IP address
+ elements can safely be absent or ignored in this situation.
+
+ - Zero or more <domain:contact> elements that contain the
+ identifiers for contact objects to be associated with or removed
+ from the domain object. Contact object identifiers MUST be known
+ to the server before the contact object can be associated with the
+ domain object.
+
+
+
+
+Hollenbeck Standards Track [Page 27]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ - Zero or more <domain:status> elements that contain status values
+ to be applied to or removed from the object. When specifying a
+ value to be removed, only the attribute value is significant;
+ element text is not required to match a value for removal.
+
+ A <domain:chg> element contains the following child elements:
+
+ - A <domain:registrant> element that contains the identifier for the
+ human or organizational social information (contact) object to be
+ associated with the domain object as the object registrant. This
+ object identifier MUST be known to the server before the contact
+ object can be associated with the domain object. An empty element
+ can be used to remove registrant information.
+
+ - A <domain:authInfo> element that contains authorization
+ information associated with the domain object. This mapping
+ includes a password-based authentication mechanism, but the schema
+ allows new mechanisms to be defined in new schemas. A
+ <domain:null> element can be used within the <domain:authInfo>
+ element to remove authorization information.
+
+ Example <update> command:
+
+ C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ C: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ C: epp-1.0.xsd">
+ C: <command>
+ C: <update>
+ C: <domain:update
+ C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ C: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ C: domain-1.0.xsd">
+ C: <domain:name>example.com</domain:name>
+ C: <domain:add>
+ C: <domain:ns>
+ C: <domain:hostObj>ns2.example.com</domain:hostObj>
+ C: </domain:ns>
+ C: <domain:contact type="tech">mak21</domain:contact>
+ C: <domain:status s="clientHold"
+ C: lang="en">Payment overdue.</domain:status>
+ C: </domain:add>
+ C: <domain:rem>
+ C: <domain:ns>
+ C: <domain:hostObj>ns1.example.com</domain:hostObj>
+ C: </domain:ns>
+ C: <domain:contact type="tech">sh8013</domain:contact>
+
+
+
+Hollenbeck Standards Track [Page 28]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ C: <domain:status s="clientUpdateProhibited"/>
+ C: </domain:rem>
+ C: <domain:chg>
+ C: <domain:registrant>sh8013</domain:registrant>
+ C: <domain:authInfo>
+ C: <domain:pw>2BARfoo</domain:pw>
+ C: </domain:authInfo>
+ C: </domain:chg>
+ C: </domain:update>
+ C: </update>
+ C: <clTRID>ABC-12345</clTRID>
+ C: </command>
+ C:</epp>
+
+ When an <update> command has been processed successfully, a server
+ MUST respond with an EPP response with no <resData> element.
+
+ Example <update> response:
+
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ S: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ S: epp-1.0.xsd">
+ S: <response>
+ S: <result code="1000">
+ S: <msg>Command completed successfully</msg>
+ S: </result>
+ S: <trID>
+ S: <clTRID>ABC-12345</clTRID>
+ S: <svTRID>54321-XYZ</svTRID>
+ S: </trID>
+ S: </response>
+ S:</epp>
+
+ An EPP error response MUST be returned if an <update> command can not
+ be processed for any reason.
+
+3.2.6. Offline Review of Requested Actions
+
+ Commands are processed by a server in the order they are received
+ from a client. Though an immediate response confirming receipt and
+ processing of the command is produced by the server, a server
+ operator MAY perform an offline review of requested transform
+ commands before completing the requested action. In such situations
+ the response from the server MUST clearly note that the transform
+ command has been received and processed, but the requested action is
+
+
+
+
+Hollenbeck Standards Track [Page 29]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ pending. The status of the corresponding object MUST clearly reflect
+ processing of the pending action. The server MUST notify the client
+ when offline processing of the action has been completed.
+
+ Examples describing a <create> command that requires offline review
+ are included here. Note the result code and message returned in
+ response to the <create> command.
+
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ S: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ S: epp-1.0.xsd">
+ S: <response>
+ S: <result code="1001">
+ S: <msg>Command completed successfully; action pending</msg>
+ S: </result>
+ S: <resData>
+ S: <domain:creData
+ S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ S: domain-1.0.xsd">
+ S: <domain:name>example.com</domain:name>
+ S: <domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate>
+ S: <domain:exDate>2001-04-03T22:00:00.0Z</domain:exDate>
+ S: </domain:creData>
+ S: </resData>
+ S: <trID>
+ S: <clTRID>ABC-12345</clTRID>
+ S: <svTRID>54321-XYZ</svTRID>
+ S: </trID>
+ S: </response>
+ S:</epp>
+
+ The status of the domain object after returning this response MUST
+ include "pendingCreate". The server operator reviews the request
+ offline, and informs the client of the outcome of the review by
+ queuing a service message for retrieval via the <poll> command.
+
+ The service message MUST contain text in the <response>, <msgQ>,
+ <msg> element that describes the notification. In addition, the EPP
+ <resData> element MUST contain a child <domain:panData> element that
+ identifies the domain namespace and the location of the domain
+ schema. The <domain:panData> element contains the following child
+ elements:
+
+
+
+
+
+
+Hollenbeck Standards Track [Page 30]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ - A <domain:name> element that contains the fully qualified name of
+ the domain object. The <domain:name> element contains a REQUIRED
+ "paResult" attribute. A positive boolean value indicates that the
+ request has been approved and completed. A negative boolean value
+ indicates that the request has been denied and the requested
+ action has not been taken.
+
+ - A <domain:paTRID> element that contains the client transaction
+ identifier and server transaction identifier returned with the
+ original response to process the command. The client transaction
+ identifier is OPTIONAL and will only be returned if the client
+ provided an identifier with the original <create> command.
+
+ - A <domain:paDate> element that contains the date and time
+ describing when review of the requested action was completed.
+
+ Example "review completed" service message:
+
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
+ S: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
+ S: epp-1.0.xsd">
+ S: <response>
+ S: <result code="1301">
+ S: <msg>Command completed successfully; ack to dequeue</msg>
+ S: </result>
+ S: <msgQ count="5" id="12345">
+ S: <qDate>1999-04-04T22:01:00.0Z</qDate>
+ S: <msg>Pending action completed successfully.</msg>
+ S: </msgQ>
+ S: <resData>
+ S: <domain:panData
+ S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ S: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0
+ S: domain-1.0.xsd">
+ S: <domain:name paResult="1">example.com</domain:name>
+ S: <domain:paTRID>
+ S: <clTRID>ABC-12345</clTRID>
+ S: <svTRID>54321-XYZ</svTRID>
+ S: </domain:paTRID>
+ S: <domain:paDate>1999-04-04T22:00:00.0Z</domain:paDate>
+ S: </domain:panData>
+ S: </resData>
+ S: <trID>
+ S: <clTRID>BCD-23456</clTRID>
+ S: <svTRID>65432-WXY</svTRID>
+ S: </trID>
+
+
+
+Hollenbeck Standards Track [Page 31]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ S: </response>
+ S:</epp>
+
+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.
+
+ BEGIN
+ <?xml version="1.0" encoding="UTF-8"?>
+
+ <schema targetNamespace="urn:ietf:params:xml:ns:domain-1.0"
+ xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
+ xmlns:host="urn:ietf:params:xml:ns:host-1.0"
+ xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
+ xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified">
+
+ <!--
+ Import common element types.
+ -->
+ <import namespace="urn:ietf:params:xml:ns:eppcom-1.0"
+ schemaLocation="eppcom-1.0.xsd"/>
+ <import namespace="urn:ietf:params:xml:ns:epp-1.0"
+ schemaLocation="epp-1.0.xsd"/>
+ <import namespace="urn:ietf:params:xml:ns:host-1.0"
+ schemaLocation="host-1.0.xsd"/>
+
+ <annotation>
+ <documentation>
+ Extensible Provisioning Protocol v1.0
+ domain provisioning schema.
+ </documentation>
+ </annotation>
+
+ <!--
+ Child elements found in EPP commands.
+ -->
+ <element name="check" type="domain:mNameType"/>
+ <element name="create" type="domain:createType"/>
+ <element name="delete" type="domain:sNameType"/>
+ <element name="info" type="domain:infoType"/>
+ <element name="renew" type="domain:renewType"/>
+
+
+
+Hollenbeck Standards Track [Page 32]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ <element name="transfer" type="domain:transferType"/>
+ <element name="update" type="domain:updateType"/>
+ <!--
+ Child elements of the <create> command.
+ -->
+ <complexType name="createType">
+ <sequence>
+ <element name="name" type="eppcom:labelType"/>
+ <element name="period" type="domain:periodType"
+ minOccurs="0"/>
+ <element name="ns" type="domain:nsType"
+ minOccurs="0"/>
+ <element name="registrant" type="eppcom:clIDType"
+ minOccurs="0"/>
+ <element name="contact" type="domain:contactType"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <element name="authInfo" type="domain:authInfoType"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="periodType">
+ <simpleContent>
+ <extension base="domain:pLimitType">
+ <attribute name="unit" type="domain:pUnitType"
+ use="required"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+ <simpleType name="pLimitType">
+ <restriction base="unsignedShort">
+ <minInclusive value="1"/>
+ <maxInclusive value="99"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="pUnitType">
+ <restriction base="token">
+ <enumeration value="y"/>
+ <enumeration value="m"/>
+ </restriction>
+ </simpleType>
+
+ <complexType name="nsType">
+ <choice>
+ <element name="hostObj" type="eppcom:labelType"
+ maxOccurs="unbounded"/>
+ <element name="hostAttr" type="domain:hostAttrType"
+
+
+
+Hollenbeck Standards Track [Page 33]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ maxOccurs="unbounded"/>
+ </choice>
+ </complexType>
+ <!--
+ Name servers are either host objects or attributes.
+ -->
+
+ <complexType name="hostAttrType">
+ <sequence>
+ <element name="hostName" type="eppcom:labelType"/>
+ <element name="hostAddr" type="host:addrType"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <!--
+ If attributes, addresses are optional and follow the
+ structure defined in the host mapping.
+ -->
+
+ <complexType name="contactType">
+ <simpleContent>
+ <extension base="eppcom:clIDType">
+ <attribute name="type" type="domain:contactAttrType"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+ <simpleType name="contactAttrType">
+ <restriction base="token">
+ <enumeration value="admin"/>
+ <enumeration value="billing"/>
+ <enumeration value="tech"/>
+ </restriction>
+ </simpleType>
+
+ <complexType name="authInfoType">
+ <choice>
+ <element name="pw" type="eppcom:pwAuthInfoType"/>
+ <element name="ext" type="eppcom:extAuthInfoType"/>
+ </choice>
+ </complexType>
+
+ <!--
+ Child element of commands that require a single name.
+ -->
+ <complexType name="sNameType">
+ <sequence>
+ <element name="name" type="eppcom:labelType"/>
+
+
+
+Hollenbeck Standards Track [Page 34]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ </sequence>
+ </complexType>
+ <!--
+ Child element of commands that accept multiple names.
+ -->
+ <complexType name="mNameType">
+ <sequence>
+ <element name="name" type="eppcom:labelType"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <!--
+ Child elements of the <info> command.
+ -->
+ <complexType name="infoType">
+ <sequence>
+ <element name="name" type="domain:infoNameType"/>
+ <element name="authInfo" type="domain:authInfoType"
+ minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="infoNameType">
+ <simpleContent>
+ <extension base = "eppcom:labelType">
+ <attribute name="hosts" type="domain:hostsType"
+ default="all"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+ <simpleType name="hostsType">
+ <restriction base="token">
+ <enumeration value="all"/>
+ <enumeration value="del"/>
+ <enumeration value="none"/>
+ <enumeration value="sub"/>
+ </restriction>
+ </simpleType>
+
+ <!--
+ Child elements of the <renew> command.
+ -->
+ <complexType name="renewType">
+ <sequence>
+ <element name="name" type="eppcom:labelType"/>
+ <element name="curExpDate" type="date"/>
+
+
+
+Hollenbeck Standards Track [Page 35]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ <element name="period" type="domain:periodType"
+ minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+ <!--
+ Child elements of the <transfer> command.
+ -->
+ <complexType name="transferType">
+ <sequence>
+ <element name="name" type="eppcom:labelType"/>
+ <element name="period" type="domain:periodType"
+ minOccurs="0"/>
+ <element name="authInfo" type="domain:authInfoType"
+ minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+ <!--
+ Child elements of the <update> command.
+ -->
+ <complexType name="updateType">
+ <sequence>
+ <element name="name" type="eppcom:labelType"/>
+ <element name="add" type="domain:addRemType"
+ minOccurs="0"/>
+ <element name="rem" type="domain:addRemType"
+ minOccurs="0"/>
+ <element name="chg" type="domain:chgType"
+ minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+ <!--
+ Data elements that can be added or removed.
+ -->
+ <complexType name="addRemType">
+ <sequence>
+ <element name="ns" type="domain:nsType"
+ minOccurs="0"/>
+ <element name="contact" type="domain:contactType"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <element name="status" type="domain:statusType"
+ minOccurs="0" maxOccurs="11"/>
+ </sequence>
+ </complexType>
+
+ <!--
+
+
+
+Hollenbeck Standards Track [Page 36]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ Data elements that can be changed.
+ -->
+ <complexType name="chgType">
+ <sequence>
+ <element name="registrant" type="domain:clIDChgType"
+ minOccurs="0"/>
+ <element name="authInfo" type="domain:authInfoChgType"
+ minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+ <!--
+ Allow the registrant value to be nullified by changing the
+ minLength restriction to "0".
+ -->
+ <simpleType name="clIDChgType">
+ <restriction base="token">
+ <minLength value="0"/>
+ <maxLength value="16"/>
+ </restriction>
+ </simpleType>
+
+ <!--
+ Allow the authInfo value to be nullified by including an
+ empty element within the choice.
+ -->
+ <complexType name="authInfoChgType">
+ <choice>
+ <element name="pw" type="eppcom:pwAuthInfoType"/>
+ <element name="ext" type="eppcom:extAuthInfoType"/>
+ <element name="null"/>
+ </choice>
+ </complexType>
+
+ <!--
+ Child response elements.
+ -->
+ <element name="chkData" type="domain:chkDataType"/>
+ <element name="creData" type="domain:creDataType"/>
+ <element name="infData" type="domain:infDataType"/>
+ <element name="panData" type="domain:panDataType"/>
+ <element name="renData" type="domain:renDataType"/>
+ <element name="trnData" type="domain:trnDataType"/>
+
+ <!--
+ <check> response elements.
+ -->
+ <complexType name="chkDataType">
+
+
+
+Hollenbeck Standards Track [Page 37]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ <sequence>
+ <element name="cd" type="domain:checkType"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="checkType">
+ <sequence>
+ <element name="name" type="domain:checkNameType"/>
+ <element name="reason" type="eppcom:reasonType"
+ minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="checkNameType">
+ <simpleContent>
+ <extension base="eppcom:labelType">
+ <attribute name="avail" type="boolean"
+ use="required"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+ <!--
+ <create> response elements.
+ -->
+ <complexType name="creDataType">
+ <sequence>
+ <element name="name" type="eppcom:labelType"/>
+ <element name="crDate" type="dateTime"/>
+ <element name="exDate" type="dateTime"
+ minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+ <!--
+ <info> response elements.
+ -->
+ <complexType name="infDataType">
+ <sequence>
+ <element name="name" type="eppcom:labelType"/>
+ <element name="roid" type="eppcom:roidType"/>
+ <element name="status" type="domain:statusType"
+ minOccurs="0" maxOccurs="11"/>
+ <element name="registrant" type="eppcom:clIDType"
+ minOccurs="0"/>
+ <element name="contact" type="domain:contactType"
+ minOccurs="0" maxOccurs="unbounded"/>
+
+
+
+Hollenbeck Standards Track [Page 38]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ <element name="ns" type="domain:nsType"
+ minOccurs="0"/>
+ <element name="host" type="eppcom:labelType"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <element name="clID" type="eppcom:clIDType"/>
+ <element name="crID" type="eppcom:clIDType"
+ minOccurs="0"/>
+ <element name="crDate" type="dateTime"
+ minOccurs="0"/>
+ <element name="upID" type="eppcom:clIDType"
+ minOccurs="0"/>
+ <element name="upDate" type="dateTime"
+ minOccurs="0"/>
+ <element name="exDate" type="dateTime"
+ minOccurs="0"/>
+ <element name="trDate" type="dateTime"
+ minOccurs="0"/>
+ <element name="authInfo" type="domain:authInfoType"
+ minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+ <!--
+ Status is a combination of attributes and an optional
+ human-readable message that may be expressed in languages other
+ than English.
+ -->
+ <complexType name="statusType">
+ <simpleContent>
+ <extension base="normalizedString">
+ <attribute name="s" type="domain:statusValueType"
+ use="required"/>
+ <attribute name="lang" type="language"
+ default="en"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+ <simpleType name="statusValueType">
+ <restriction base="token">
+ <enumeration value="clientDeleteProhibited"/>
+ <enumeration value="clientHold"/>
+ <enumeration value="clientRenewProhibited"/>
+ <enumeration value="clientTransferProhibited"/>
+ <enumeration value="clientUpdateProhibited"/>
+ <enumeration value="inactive"/>
+ <enumeration value="ok"/>
+ <enumeration value="pendingCreate"/>
+
+
+
+Hollenbeck Standards Track [Page 39]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ <enumeration value="pendingDelete"/>
+ <enumeration value="pendingRenew"/>
+ <enumeration value="pendingTransfer"/>
+ <enumeration value="pendingUpdate"/>
+ <enumeration value="serverDeleteProhibited"/>
+ <enumeration value="serverHold"/>
+ <enumeration value="serverRenewProhibited"/>
+ <enumeration value="serverTransferProhibited"/>
+ <enumeration value="serverUpdateProhibited"/>
+ </restriction>
+ </simpleType>
+
+ <!--
+ Pending action notification response elements.
+ -->
+ <complexType name="panDataType">
+ <sequence>
+ <element name="name" type="domain:paNameType"/>
+ <element name="paTRID" type="epp:trIDType"/>
+ <element name="paDate" type="dateTime"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="paNameType">
+ <simpleContent>
+ <extension base="eppcom:labelType">
+ <attribute name="paResult" type="boolean"
+ use="required"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+ <!--
+ <renew> response elements.
+ -->
+ <complexType name="renDataType">
+ <sequence>
+ <element name="name" type="eppcom:labelType"/>
+ <element name="exDate" type="dateTime"
+ minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+ <!--
+ <transfer> response elements.
+ -->
+ <complexType name="trnDataType">
+ <sequence>
+
+
+
+Hollenbeck Standards Track [Page 40]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ <element name="name" type="eppcom:labelType"/>
+ <element name="trStatus" type="eppcom:trStatusType"/>
+ <element name="reID" type="eppcom:clIDType"/>
+ <element name="reDate" type="dateTime"/>
+ <element name="acID" type="eppcom:clIDType"/>
+ <element name="acDate" type="dateTime"/>
+ <element name="exDate" type="dateTime"
+ minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+ <!--
+ End of schema.
+ -->
+ </schema>
+ 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. Conformant XML processors recognize
+ both UTF-8 and UTF-16 [RFC2781]. Though XML includes provisions to
+ identify and use other character encodings through use of an
+ "encoding" attribute in an <?xml?> declaration, use of UTF-8 is
+ RECOMMENDED in environments where parser encoding support
+ incompatibility exists.
+
+ All date-time values presented via EPP MUST be expressed in Universal
+ Coordinated Time using the Gregorian calendar. XML Schema allows use
+ of time zone identifiers to indicate offsets from the zero meridian,
+ but this option MUST NOT be used with EPP. The extended date-time
+ form using upper case "T" and "Z" characters defined in [RFC3339]
+ MUST be used to represent date-time values as XML Schema does not
+ support truncated date-time forms or lower case "T" and "Z"
+ characters.
+
+ This document requires domain and host name syntax as specified in
+ [RFC952] as updated by [RFC1123]. At the time of this writing, RFC
+ 3490 [RFC3490] describes a standard to use certain ASCII name labels
+ to represent non-ASCII name labels. These conformance requirements
+ might change as a result of progressing work in developing standards
+ for internationalized domain names.
+
+
+
+
+
+
+
+
+Hollenbeck Standards Track [Page 41]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+6. IANA Considerations
+
+ This document uses URNs to describe XML namespaces and XML schemas
+ conforming to a registry mechanism described in [RFC3688]. Two URI
+ assignments have been registered by the IANA.
+
+ Registration request for the domain namespace:
+
+ URI: urn:ietf:params:xml:ns:domain-1.0
+
+ Registrant Contact: See the "Author's Address" section of this
+ document.
+
+ XML: None. Namespace URIs do not represent an XML specification.
+
+ Registration request for the domain XML schema:
+
+ URI: urn:ietf:params:xml:schema:domain-1.0
+
+ Registrant Contact: See the "Author's Address" section of this
+ document.
+
+ XML: See the "Formal Syntax" section of this document.
+
+7. Security Considerations
+
+ Authorization information as described in section 2.6 is REQUIRED to
+ create a domain object. This information is used in some query and
+ transfer operations as an additional means of determining client
+ authorization to perform the command. Failure to protect
+ authorization information from inadvertent disclosure can result in
+ unauthorized transfer operations and unauthorized information
+ release. Both client and server MUST ensure that authorization
+ information is stored and exchanged with high-grade encryption
+ mechanisms to provide privacy services.
+
+ The object mapping described in this document does not provide any
+ other security services or introduce any additional considerations
+ beyond those described by [RFC3730] and protocol layers used by EPP.
+
+8. Acknowledgements
+
+ This document was originally written as an individual submission
+ Internet-Draft. The provreg working group later adopted it as a
+ working group document and provided many invaluable comments and
+ suggested improvements. The author wishes to acknowledge the efforts
+ of WG chairs Edward Lewis and Jaap Akkerhuis for their process and
+ editorial contributions.
+
+
+
+Hollenbeck Standards Track [Page 42]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ Specific suggestions that have been incorporated into this document
+ were provided by Joe Abley, Chris Bason, Eric Brunner-Williams,
+ Jordyn Buchanan, Dave Crocker, Ayesha Damaraju, Anthony Eden, Sheer
+ El-Showk, Klaus Malorny, Dan Manley, Michael Mealling, Patrick
+ Mevzek, Asbjorn Steira, Bruce Tonkin, and Rick Wesson.
+
+9. References
+
+9.1. Normative References
+
+ [RFC952] Harrenstien, K., Stahl, M. and E. Feinler, "DOD Internet
+ Host Table Specification", RFC 952, October 1985.
+
+ [RFC1123] Braden, R., Ed., "Requirements for Internet Hosts --
+ Application and Support", STD 3, RFC 1123, October 1989.
+
+ [RFC2119] Bradner, S., "Key Words for Use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet:
+ Timestamps", RFC 3339, July 2002.
+
+ [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
+ January 2004.
+
+ [RFC3730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)",
+ RFC 3730, March 2004.
+
+ [RFC3732] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)
+ Host Mapping", RFC 3732, March 2004.
+
+ [RFC3733] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)
+ Contact Mapping", RFC 3733, March 2004.
+
+ [XML] Editor T. Bray et al.: "Extensible Markup Language (XML)
+ 1.0 (Second Edition)", W3C Recommendation 6 October 2000.
+
+ [XMLS-1] Editors H. Thompson et al.: "XML Schema Part 1:
+ Structures", W3C Recommendation 2 May 2001.
+
+ [XMLS-2] Editors P. Biron, A. Malhotra: "XML Schema Part 2:
+ Datatypes", W3C Recommendation 2 May 2001.
+
+9.2. Informative References
+
+ [RFC2781] Hoffman, P. and F. Yergeau, "UTF-16, an encoding of ISO
+ 10646", RFC 2781, February 2000.
+
+
+
+
+Hollenbeck Standards Track [Page 43]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+ [RFC3490] Faltstrom, P., Hoffman, P. and A. Costello,
+ "Internationalizing Domain Names in Applications (IDNA)",
+ RFC 3490, March 2003.
+
+10. Author's Address
+
+ Scott Hollenbeck
+ VeriSign Global Registry Services
+ 21345 Ridgetop Circle
+ Dulles, VA 20166-6503
+ USA
+
+ EMail: shollenbeck@verisign.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hollenbeck Standards Track [Page 44]
+
+RFC 3731 EPP Domain Name Mapping March 2004
+
+
+11. Full Copyright Statement
+
+ Copyright (C) The Internet Society (2004). This document is subject
+ to the rights, licenses and restrictions contained in BCP 78 and
+ except as set forth therein, the authors retain all their rights.
+
+ This document and the information contained herein are provided on an
+ "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+ OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
+ ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
+ INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
+ INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+ WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Intellectual Property
+
+ The IETF takes no position regarding the validity or scope of any
+ Intellectual Property Rights or other rights that might be claimed to
+ pertain to the implementation or use of the technology described in
+ this document or the extent to which any license under such rights
+ might or might not be available; nor does it represent that it has
+ made any independent effort to identify any such rights. Information
+ on the procedures with respect to rights in RFC documents can be
+ found in BCP 78 and BCP 79.
+
+ Copies of IPR disclosures made to the IETF Secretariat and any
+ assurances of licenses to be made available, or the result of an
+ attempt made to obtain a general license or permission for the use of
+ such proprietary rights by implementers or users of this
+ specification can be obtained from the IETF on-line IPR repository at
+ http://www.ietf.org/ipr.
+
+ The IETF invites any interested party to bring to its attention any
+ copyrights, patents or patent applications, or other proprietary
+ rights that may cover technology that may be required to implement
+ this standard. Please address the information to the IETF at ietf-
+ ipr@ietf.org.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+Hollenbeck Standards Track [Page 45]
+