rfc8543.txt   test8543.v2v3.txt 
Internet Engineering Task Force (IETF) L. Zhou Internet Engineering Task Force (IETF) L. Zhou
Request for Comments: 8543 CNNIC Request for Comments: 8543 CNNIC
Category: Standards Track N. Kong Category: Standards Track N. Kong
ISSN: 2070-1721 Consultant ISSN: 2070-1721 Consultant
J. Yao J. Yao
CNNIC CNNIC
J. Gould J.G. Gould
VeriSign, Inc. VeriSign, Inc.
G. Zhou G. Zhou
March 2019 March 2019
Extensible Provisioning Protocol (EPP) Organization Mapping Extensible Provisioning Protocol (EPP) Organization Mapping
Abstract Abstract
This document describes an Extensible Provisioning Protocol (EPP) This document describes an Extensible Provisioning Protocol (EPP)
mapping for provisioning and management of organization objects mapping for provisioning and management of organization objects
skipping to change at page 2, line 7 skipping to change at line 52
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction
2. Conventions Used in This Document . . . . . . . . . . . . . . 3 2. Conventions Used in This Document
3. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 3 3. Object Attributes
3.1. Organization Identifier . . . . . . . . . . . . . . . . . 4 3.1. Organization Identifier
3.2. Organization Roles . . . . . . . . . . . . . . . . . . . 4 3.2. Organization Roles
3.2.1. Role Type . . . . . . . . . . . . . . . . . . . . . . 4 3.2.1. Role Type
3.2.2. Role Status . . . . . . . . . . . . . . . . . . . . . 4 3.2.2. Role Status
3.2.3. Role Identifier . . . . . . . . . . . . . . . . . . . 4 3.2.3. Role Identifier
3.3. Contact and Client Identifiers . . . . . . . . . . . . . 5 3.3. Contact and Client Identifiers
3.4. Organization Status Values . . . . . . . . . . . . . . . 5 3.4. Organization Status Values
3.5. Role Status Values . . . . . . . . . . . . . . . . . . . 7 3.5. Role Status Values
3.6. Parent Identifier . . . . . . . . . . . . . . . . . . . . 7 3.6. Parent Identifier
3.7. URL . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.7. URL
3.8. Dates and Times . . . . . . . . . . . . . . . . . . . . . 8 3.8. Dates and Times
4. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 8 4. EPP Command Mapping
4.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 8 4.1. EPP Query Commands
4.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 8 4.1.1. EPP <check> Command
4.1.2. EPP <info> Command . . . . . . . . . . . . . . . . . 10 4.1.2. EPP <info> Command
4.1.3. EPP <transfer> Query Command . . . . . . . . . . . . 15 4.1.3. EPP <transfer> Query Command
4.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 16 4.2. EPP Transform Commands
4.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 16 4.2.1. EPP <create> Command
4.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 20 4.2.2. EPP <delete> Command
4.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 21 4.2.3. EPP <renew> Command
4.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 21 4.2.4. EPP <transfer> Command
4.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 21 4.2.5. EPP <update> Command
4.3. Offline Review of Requested Actions . . . . . . . . . . . 25 4.3. Offline Review of Requested Actions
5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 27 5. Formal Syntax
6. Internationalization Considerations . . . . . . . . . . . . . 36 6. Internationalization Considerations
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 36 7. IANA Considerations
7.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 36 7.1. XML Namespace
7.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 37 7.2. EPP Extension Registry
7.3. Role Type Values Registry . . . . . . . . . . . . . . . . 37 7.3. Role Type Values Registry
7.3.1. Registration Template . . . . . . . . . . . . . . . . 37 7.3.1. Registration Template
7.3.2. Initial Registry Contents . . . . . . . . . . . . . . 38 7.3.2. Initial Registry Contents
8. Security Considerations . . . . . . . . . . . . . . . . . . . 38 8. Security Considerations
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 39 9. References
9.1. Normative References . . . . . . . . . . . . . . . . . . 39 9.1. Normative References
9.2. Informative References . . . . . . . . . . . . . . . . . 40 9.2. Informative References
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 41 Acknowledgments
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 41 Authors' Addresses
1. Introduction 1. Introduction
There are many entities, such as registrars, resellers, DNS service There are many entities, such as registrars, resellers, DNS service
operators, and privacy proxies, involved in the domain registration operators, and privacy proxies, involved in the domain registration
business. These kinds of entities have not been formally defined as business. These kinds of entities have not been formally defined as
having an object in Extensible Provisioning Protocol (EPP). This having an object in Extensible Provisioning Protocol (EPP). This
document provides a way to specify them as "organization" entities. document provides a way to specify them as "organization" entities.
This document describes an organization object mapping for version This document describes an organization object mapping for version
skipping to change at page 5, line 39 skipping to change at line 216
Status values that can be added or removed by a client are prefixed Status values that can be added or removed by a client are prefixed
with "client". Corresponding server status values that can be added with "client". Corresponding server status values that can be added
or removed by a server are prefixed with "server". The "hold" and or removed by a server are prefixed with "server". The "hold" and
"terminated" status values are server managed when the organization "terminated" status values are server managed when the organization
has no parent identifier (Section 3.6) and otherwise MAY be client has no parent identifier (Section 3.6) and otherwise MAY be client
managed based on server policy. Other status values that do not managed based on server policy. Other status values that do not
begin with either "client" or "server" are server managed. begin with either "client" or "server" are server managed.
Status Value Descriptions: Status Value Descriptions:
o ok: This is the normal status value for an object that has no * ok: This is the normal status value for an object that has no
operations pending or active prohibitions. This value is set and operations pending or active prohibitions. This value is set and
removed by the server as other status values are added or removed. removed by the server as other status values are added or removed.
o hold: Organization transform commands and new links MUST be * hold: Organization transform commands and new links MUST be
rejected. rejected.
o terminated: The organization that has been terminated MUST NOT be * terminated: The organization that has been terminated MUST NOT be
linked. Organization transform commands and new links MUST be linked. Organization transform commands and new links MUST be
rejected. rejected.
o linked: The organization object has at least one active * linked: The organization object has at least one active
association with another object. The "linked" status is not association with another object. The "linked" status is not
explicitly set by the client. Servers should provide services to explicitly set by the client. Servers should provide services to
determine existing object associations. determine existing object associations.
o clientLinkProhibited, serverLinkProhibited: Requests to add new * clientLinkProhibited, serverLinkProhibited: Requests to add new
links to the organization MUST be rejected. links to the organization MUST be rejected.
o clientUpdateProhibited, serverUpdateProhibited: Requests to update * clientUpdateProhibited, serverUpdateProhibited: Requests to update
the object (other than to remove this status) MUST be rejected. the object (other than to remove this status) MUST be rejected.
o clientDeleteProhibited, serverDeleteProhibited: Requests to delete * clientDeleteProhibited, serverDeleteProhibited: Requests to delete
the object MUST be rejected. the object MUST be rejected.
o pendingCreate, pendingUpdate, pendingDelete: A transform command * pendingCreate, pendingUpdate, pendingDelete: A transform command
has been processed for the object, but the action has not been has been processed for the object, but the action has not been
completed by the server. Server operators can delay action completed by the server. Server operators can delay action
completion for a variety of reasons, such as to allow for human completion for a variety of reasons, such as to allow for human
review or third-party action. A transform command that is review or third-party action. A transform command that is
processed, but whose requested action is pending, is noted with processed, but whose requested action is pending, is noted with
response code 1001. response code 1001.
"pendingCreate", "ok", "hold", and "terminated" are mutually "pendingCreate", "ok", "hold", and "terminated" are mutually
exclusive statuses. An organization MUST have exactly one of these exclusive statuses. An organization MUST have exactly one of these
statuses set. statuses set.
skipping to change at page 7, line 13 skipping to change at line 279
The server can modify the object at any time. The server can modify the object at any time.
3.5. Role Status Values 3.5. Role Status Values
A role SHOULD have at least one associated status value. Valid A role SHOULD have at least one associated status value. Valid
values include "ok", "linked", "clientLinkProhibited", and values include "ok", "linked", "clientLinkProhibited", and
"serverLinkProhibited". "serverLinkProhibited".
Status Value Descriptions: Status Value Descriptions:
o ok: This is the normal status value for a role that has no * ok: This is the normal status value for a role that has no
operations pending or active prohibitions. This value is set and operations pending or active prohibitions. This value is set and
removed by the server as other status values are added or removed. removed by the server as other status values are added or removed.
o linked: The role of an organization object has at least one active * linked: The role of an organization object has at least one active
association with another object. The "linked" status is not association with another object. The "linked" status is not
explicitly set by the client. Servers SHOULD provide services to explicitly set by the client. Servers SHOULD provide services to
determine existing object associations. determine existing object associations.
o clientLinkProhibited, serverLinkProhibited: Requests to add new * clientLinkProhibited, serverLinkProhibited: Requests to add new
links to the role MUST be rejected. links to the role MUST be rejected.
3.6. Parent Identifier 3.6. Parent Identifier
Organizations can have more than one layer. The parent identifier, Organizations can have more than one layer. The parent identifier,
as defined with the <org:parentId> element, represents the parent as defined with the <org:parentId> element, represents the parent
organization identifier in a child organization. organization identifier in a child organization.
The case of reseller organizations provides an example. The parent The case of reseller organizations provides an example. The parent
identifier is not defined for the top-level reseller, namely the identifier is not defined for the top-level reseller, namely the
skipping to change at page 8, line 44 skipping to change at line 352
client to anticipate the success or failure of provisioning an object client to anticipate the success or failure of provisioning an object
using the <create> command, as object-provisioning requirements are using the <create> command, as object-provisioning requirements are
ultimately a matter of server policy. ultimately a matter of server policy.
In addition to the standard EPP command elements, the <check> command In addition to the standard EPP command elements, the <check> command
MUST contain an <org:check> element. This element or its ancestor MUST contain an <org:check> element. This element or its ancestor
element MUST identify the organization namespace element MUST identify the organization namespace
"urn:ietf:params:xml:ns:epp:org-1.0". The <org:check> element "urn:ietf:params:xml:ns:epp:org-1.0". The <org:check> element
contains the following child elements: contains the following child elements:
o One or more <org:id> elements that contain the server-unique * One or more <org:id> elements that contain the server-unique
identifier of the organization objects to be queried. identifier of the organization objects to be queried.
Example <check> command: Example <check> command:
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
C: <command> C: <command>
C: <check> C: <check>
C: <org:check C: <org:check
C: xmlns:org="urn:ietf:params:xml:ns:epp:org-1.0"> C: xmlns:org="urn:ietf:params:xml:ns:epp:org-1.0">
skipping to change at page 9, line 29 skipping to change at line 379
C: </command> C: </command>
C:</epp> C:</epp>
When a <check> command has been processed successfully, the EPP When a <check> command has been processed successfully, the EPP
<resData> element MUST contain a child <org:chkData> element. This <resData> element MUST contain a child <org:chkData> element. This
element or its ancestor element MUST identify the organization element or its ancestor element MUST identify the organization
namespace "urn:ietf:params:xml:ns:epp:org-1.0". The <org:chkData> namespace "urn:ietf:params:xml:ns:epp:org-1.0". The <org:chkData>
element contains one or more <org:cd> elements that contain the element contains one or more <org:cd> elements that contain the
following child elements: following child elements:
o An <org:id> element that identifies the queried object. This * An <org:id> element that identifies the queried object. This
element MUST contain an "avail" attribute whose value indicates element MUST contain an "avail" attribute whose value indicates
object availability (can it be provisioned or not) at the moment object availability (can it be provisioned or not) at the moment
the <check> command was completed. A value of "1" or "true" means the <check> command was completed. A value of "1" or "true" means
that the object can be provisioned. A value of "0" or "false" that the object can be provisioned. A value of "0" or "false"
means that the object cannot be provisioned. means that the object cannot be provisioned.
o An OPTIONAL <org:reason> element that may be provided when an * An OPTIONAL <org:reason> element that may be provided when an
object cannot be provisioned. If present, this element contains object cannot be provisioned. If present, this element contains
server-specific text to help explain why the object cannot be server-specific text to help explain why the object cannot be
provisioned. This text MUST be represented in the response provisioned. This text MUST be represented in the response
language previously negotiated with the client; an OPTIONAL "lang" language previously negotiated with the client; an OPTIONAL "lang"
attribute as defined in [RFC5646] may be present to identify the attribute as defined in [RFC5646] may be present to identify the
language if the negotiated value is something other than the language if the negotiated value is something other than the
default value of "en"(English). default value of "en"(English).
Example <check> response: Example <check> response:
skipping to change at page 10, line 47 skipping to change at line 437
4.1.2. EPP <info> Command 4.1.2. EPP <info> Command
The EPP <info> command is used to retrieve information associated The EPP <info> command is used to retrieve information associated
with an organization object. In addition to the standard EPP command with an organization object. In addition to the standard EPP command
elements, the <info> command MUST contain an <org:info> element. elements, the <info> command MUST contain an <org:info> element.
This element or its ancestor element MUST identify the organization This element or its ancestor element MUST identify the organization
namespace "urn:ietf:params:xml:ns:epp:org-1.0". The <org:info> namespace "urn:ietf:params:xml:ns:epp:org-1.0". The <org:info>
element contains the following child element: element contains the following child element:
o An <org:id> element that contains the server-unique identifier of * An <org:id> element that contains the server-unique identifier of
the organization object to be queried. the organization object to be queried.
Example <info> command: Example <info> command:
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
C: <command> C: <command>
C: <info> C: <info>
C: <org:info C: <org:info
C: xmlns:org="urn:ietf:params:xml:ns:epp:org-1.0"> C: xmlns:org="urn:ietf:params:xml:ns:epp:org-1.0">
skipping to change at page 11, line 26 skipping to change at line 461
C: <clTRID>ABC-12345</clTRID> C: <clTRID>ABC-12345</clTRID>
C: </command> C: </command>
C:</epp> C:</epp>
When an <info> command has been processed successfully, the EPP When an <info> command has been processed successfully, the EPP
<resData> element MUST contain a child <org:infData> element. This <resData> element MUST contain a child <org:infData> element. This
element or its ancestor element MUST identify the organization element or its ancestor element MUST identify the organization
namespace "urn:ietf:params:xml:ns:epp:org-1.0". The <org:infData> namespace "urn:ietf:params:xml:ns:epp:org-1.0". The <org:infData>
element contains the following child elements: element contains the following child elements:
o An <org:id> element that contains the server-unique identifier of * An <org:id> element that contains the server-unique identifier of
the organization object, as defined in Section 3.1. the organization object, as defined in Section 3.1.
o An <org:roid> element that contains the Repository Object * An <org:roid> element that contains the Repository Object
Identifier assigned to the organization object when the object was Identifier assigned to the organization object when the object was
created. created.
o One or more <org:role> elements that contain the role type, role * One or more <org:role> elements that contain the role type, role
statuses, and optional role ID of the organization. statuses, and optional role ID of the organization.
* An <org:type> element that contains the type of the - An <org:type> element that contains the type of the
organization, as defined in Section 3.2. organization, as defined in Section 3.2.
* One or more <org:status> elements that contain the role - One or more <org:status> elements that contain the role
statuses. The values of the role status are defined in statuses. The values of the role status are defined in
Section 3.5. Section 3.5.
* An OPTIONAL <org:roleID> element that contains a third-party- - An OPTIONAL <org:roleID> element that contains a third-party-
assigned identifier, such as IANA ID for registrars, as defined assigned identifier, such as IANA ID for registrars, as defined
in Section 3.2.3. in Section 3.2.3.
o One or more <org:status> elements that contain the operational * One or more <org:status> elements that contain the operational
status of the organization, as defined in Section 3.4. status of the organization, as defined in Section 3.4.
o An OPTIONAL <org:parentId> element that contains the identifier of * An OPTIONAL <org:parentId> element that contains the identifier of
the parent object, as defined in Section 3.6. the parent object, as defined in Section 3.6.
o Zero to two <org:postalInfo> elements that contain postal-address * Zero to two <org:postalInfo> elements that contain postal-address
information. Two elements are provided so that address information. Two elements are provided so that address
information can be provided in both internationalized and information can be provided in both internationalized and
localized forms; a "type" attribute is used to identify the two localized forms; a "type" attribute is used to identify the two
forms. If an internationalized form (type="int") is provided, forms. If an internationalized form (type="int") is provided,
element content MUST be represented in a subset of Unicode element content MUST be represented in a subset of Unicode
[UNICODE] in the range U+0020 - U+007E. If a localized form [UNICODE] in the range U+0020 - U+007E. If a localized form
(type="loc") is provided, element content MAY be represented in (type="loc") is provided, element content MAY be represented in
unrestricted UTF-8. The <org:postalInfo> element contains the unrestricted UTF-8. The <org:postalInfo> element contains the
following child elements: following child elements:
* An <org:name> element that contains the name of the - An <org:name> element that contains the name of the
organization. organization.
* An OPTIONAL <org:addr> element that contains address - An OPTIONAL <org:addr> element that contains address
information associated with the organization. An <org:addr> information associated with the organization. An <org:addr>
element contains the following child elements: element contains the following child elements:
+ One, two, or three <org:street> elements that contain the o One, two, or three <org:street> elements that contain the
organization's street address. organization's street address.
+ An <org:city> element that contains the organization's city. o An <org:city> element that contains the organization's city.
+ An OPTIONAL <org:sp> element that contains the o An OPTIONAL <org:sp> element that contains the
organization's state or province. organization's state or province.
+ An OPTIONAL <org:pc> element that contains the o An OPTIONAL <org:pc> element that contains the
organization's postal code. organization's postal code.
+ An <org:cc> element that contains the alpha-2 organization's o An <org:cc> element that contains the alpha-2 organization's
country code. The detailed format of this element is country code. The detailed format of this element is
described in Section 2.4.3 of [RFC5733]. described in Section 2.4.3 of [RFC5733].
o An OPTIONAL <org:voice> element that contains the organization's * An OPTIONAL <org:voice> element that contains the organization's
voice telephone number. The detailed format of this element is voice telephone number. The detailed format of this element is
described in Section 2.5 of [RFC5733]. described in Section 2.5 of [RFC5733].
o An OPTIONAL <org:fax> element that contains the organization's * An OPTIONAL <org:fax> element that contains the organization's
facsimile telephone number. The detailed format of this element facsimile telephone number. The detailed format of this element
is described in Section 2.5 of [RFC5733]. is described in Section 2.5 of [RFC5733].
o An OPTIONAL <org:email> element that contains the organization's * An OPTIONAL <org:email> element that contains the organization's
email address. The detailed format of this element is described email address. The detailed format of this element is described
in [RFC5322]. in [RFC5322].
o An OPTIONAL <org:url> element that contains the URL to the website * An OPTIONAL <org:url> element that contains the URL to the website
of the organization. The detailed format of this element is of the organization. The detailed format of this element is
described in [RFC3986]. described in [RFC3986].
o Zero or more <org:contact> elements that contain identifiers for * Zero or more <org:contact> elements that contain identifiers for
the contact objects to be associated with the organization object. the contact objects to be associated with the organization object.
Contact object identifiers MUST be known to the server before the Contact object identifiers MUST be known to the server before the
contact object can be associated with the organization object. contact object can be associated with the organization object.
The required "type" is used to represent contact types. The type The required "type" is used to represent contact types. The type
values include "admin", "tech", "billing", "abuse", and "custom". values include "admin", "tech", "billing", "abuse", and "custom".
The OPTIONAL "typeName" attribute is used to define the name of a The OPTIONAL "typeName" attribute is used to define the name of a
"custom" type. "custom" type.
o An OPTIONAL <org:clID> element that contains the organization * An OPTIONAL <org:clID> element that contains the organization
identifier of the sponsoring client. There is no <org:clID> identifier of the sponsoring client. There is no <org:clID>
element if the organization is managed by the registry. element if the organization is managed by the registry.
o An <org:crID> element that contains the identifier of the client * An <org:crID> element that contains the identifier of the client
that created the organization object. that created the organization object.
o An <org:crDate> element that contains the date and time of * An <org:crDate> element that contains the date and time of
organization object creation. organization object creation.
o An <org:upID> element that contains the identifier of the client * An <org:upID> element that contains the identifier of the client
that last updated the organization object. This element MUST NOT that last updated the organization object. This element MUST NOT
be present if the organization has never been modified. be present if the organization has never been modified.
o An <org:upDate> element that contains the date and time of the * An <org:upDate> element that contains the date and time of the
most recent organization object modification. This element MUST most recent organization object modification. This element MUST
NOT be present if the organization object has never been modified. NOT be present if the organization object has never been modified.
Example <info> response for "Example Registrar Inc." organization Example <info> response for "Example Registrar Inc." organization
object with identifier "registrar1362": object with identifier "registrar1362":
S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
S: <response> S: <response>
S: <result code="1000"> S: <result code="1000">
skipping to change at page 16, line 38 skipping to change at line 707
4.2.1. EPP <create> Command 4.2.1. EPP <create> Command
The EPP <create> command provides a transform operation that allows a The EPP <create> command provides a transform operation that allows a
client to create an organization object. In addition to the standard client to create an organization object. In addition to the standard
EPP command elements, the <create> command MUST contain an EPP command elements, the <create> command MUST contain an
<org:create> element. This element or its ancestor element MUST <org:create> element. This element or its ancestor element MUST
identify the organization namespace "urn:ietf:params:xml:ns:epp:org- identify the organization namespace "urn:ietf:params:xml:ns:epp:org-
1.0". The <org:create> element contains the following child 1.0". The <org:create> element contains the following child
elements: elements:
o An <org:id> element that contains the desired server-unique * An <org:id> element that contains the desired server-unique
identifier for the organization to be created, as defined in identifier for the organization to be created, as defined in
Section 3.1. Section 3.1.
o One or more <org:role> elements that contain the role type, role * One or more <org:role> elements that contain the role type, role
statuses, and optional role ID of the organization. statuses, and optional role ID of the organization.
* An <org:type> element that contains the type of the - An <org:type> element that contains the type of the
organization, as defined in Section 3.2. organization, as defined in Section 3.2.
* Zero or more <org:status> elements that contain the role - Zero or more <org:status> elements that contain the role
statuses. The possible values of the role statuses are defined statuses. The possible values of the role statuses are defined
in Section 3.5. in Section 3.5.
* An OPTIONAL <org:roleID> element that contains a third-party- - An OPTIONAL <org:roleID> element that contains a third-party-
assigned identifier, such as IANA ID for registrars, as defined assigned identifier, such as IANA ID for registrars, as defined
in Section 3.2.3. in Section 3.2.3.
o Zero or more <org:status> elements that contain the operational * Zero or more <org:status> elements that contain the operational
status of the organization, as defined in Section 3.4. status of the organization, as defined in Section 3.4.
o An OPTIONAL <org:parentId> element that contains the identifier of * An OPTIONAL <org:parentId> element that contains the identifier of
the parent object, as defined in Section 3.6. the parent object, as defined in Section 3.6.
o Zero to two <org:postalInfo> elements that contain postal-address * Zero to two <org:postalInfo> elements that contain postal-address
information. Two elements are provided so that address information. Two elements are provided so that address
information can be provided in both internationalized and information can be provided in both internationalized and
localized forms; a "type" attribute is used to identify the two localized forms; a "type" attribute is used to identify the two
forms. If an internationalized form (type="int") is provided, forms. If an internationalized form (type="int") is provided,
element content MUST be represented in a subset of Unicode element content MUST be represented in a subset of Unicode
[UNICODE] in the range U+0020 - U+007E. If a localized form [UNICODE] in the range U+0020 - U+007E. If a localized form
(type="loc") is provided, element content MAY be represented in (type="loc") is provided, element content MAY be represented in
unrestricted UTF-8. The <org:postalInfo> element contains the unrestricted UTF-8. The <org:postalInfo> element contains the
following child elements: following child elements:
* An <org:name> element that contains the name of the - An <org:name> element that contains the name of the
organization. organization.
* An OPTIONAL <org:addr> element that contains address - An OPTIONAL <org:addr> element that contains address
information associated with the organization. An <org:addr> information associated with the organization. An <org:addr>
element contains the following child elements: element contains the following child elements:
+ One, two, or three <org:street> elements that contain the o One, two, or three <org:street> elements that contain the
organization's street address. organization's street address.
+ An <org:city> element that contains the organization's city. o An <org:city> element that contains the organization's city.
+ An OPTIONAL <org:sp> element that contains the o An OPTIONAL <org:sp> element that contains the
organization's state or province. organization's state or province.
+ An OPTIONAL <org:pc> element that contains the o An OPTIONAL <org:pc> element that contains the
organization's postal code. organization's postal code.
+ An <org:cc> element that contains the alpha-2 organization's o An <org:cc> element that contains the alpha-2 organization's
country code. The detailed format of this element is country code. The detailed format of this element is
described in Section 2.4.3 of [RFC5733]. described in Section 2.4.3 of [RFC5733].
o An OPTIONAL <org:voice> element that contains the organization's * An OPTIONAL <org:voice> element that contains the organization's
voice telephone number. The detailed format of this element is voice telephone number. The detailed format of this element is
described in Section 2.5 of [RFC5733]. described in Section 2.5 of [RFC5733].
o An OPTIONAL <org:fax> element that contains the organization's * An OPTIONAL <org:fax> element that contains the organization's
facsimile telephone number. The detailed format of this element facsimile telephone number. The detailed format of this element
is described in Section 2.5 of [RFC5733]. is described in Section 2.5 of [RFC5733].
o An OPTIONAL <org:email> element that contains the organization's * An OPTIONAL <org:email> element that contains the organization's
email address. The detailed format of this element is described email address. The detailed format of this element is described
of [RFC5322]. of [RFC5322].
o An OPTIONAL <org:url> element that contains the URL to the website * An OPTIONAL <org:url> element that contains the URL to the website
of the organization. The detailed format of this element is of the organization. The detailed format of this element is
described in [RFC3986]. described in [RFC3986].
o Zero or more <org:contact> elements that contain identifiers for * Zero or more <org:contact> elements that contain identifiers for
the contact objects associated with the organization object. the contact objects associated with the organization object.
Example <create> command: Example <create> command:
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
C: <command> C: <command>
C: <create> C: <create>
C: <org:create C: <org:create
C: xmlns:org="urn:ietf:params:xml:ns:epp:org-1.0"> C: xmlns:org="urn:ietf:params:xml:ns:epp:org-1.0">
skipping to change at page 19, line 13 skipping to change at line 825
C: <clTRID>ABC-12345</clTRID> C: <clTRID>ABC-12345</clTRID>
C: </command> C: </command>
C:</epp> C:</epp>
When a <create> command has been processed successfully, the EPP When a <create> command has been processed successfully, the EPP
<resData> element MUST contain a child <org:creData> element. This <resData> element MUST contain a child <org:creData> element. This
element or its ancestor element MUST identify the organization element or its ancestor element MUST identify the organization
namespace "urn:ietf:params:xml:ns:epp:org-1.0". The <org:creData> namespace "urn:ietf:params:xml:ns:epp:org-1.0". The <org:creData>
element contains the following child elements: element contains the following child elements:
o An <org:id> element that contains the server-unique identifier for * An <org:id> element that contains the server-unique identifier for
the created organization, as defined in Section 3.1. the created organization, as defined in Section 3.1.
o An <org:crDate> element that contains the date and time of * An <org:crDate> element that contains the date and time of
organization-object creation. organization-object creation.
Example <create> response: Example <create> response:
S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
S: <response> S: <response>
S: <result code="1000"> S: <result code="1000">
S: <msg lang="en">Command completed successfully</msg> S: <msg lang="en">Command completed successfully</msg>
S: </result> S: </result>
skipping to change at page 20, line 15 skipping to change at line 866
4.2.2. EPP <delete> Command 4.2.2. EPP <delete> Command
The EPP <delete> command provides a transform operation that allows a The EPP <delete> command provides a transform operation that allows a
client to delete an organization object. In addition to the standard client to delete an organization object. In addition to the standard
EPP command elements, the <delete> command MUST contain an EPP command elements, the <delete> command MUST contain an
<org:delete> element. This element or its ancestor element MUST <org:delete> element. This element or its ancestor element MUST
identify the organization namespace "urn:ietf:params:xml:ns:epp:org- identify the organization namespace "urn:ietf:params:xml:ns:epp:org-
1.0". The <org:delete> element MUST contain the following child 1.0". The <org:delete> element MUST contain the following child
element: element:
o An <org:id> element that contains the server-unique identifier of * An <org:id> element that contains the server-unique identifier of
the organization object to be deleted, as defined in Section 3.1. the organization object to be deleted, as defined in Section 3.1.
An organization object MUST NOT be deleted if it is associated with An organization object MUST NOT be deleted if it is associated with
other known objects. An associated organization MUST NOT be deleted other known objects. An associated organization MUST NOT be deleted
until associations with other known objects have been broken. A until associations with other known objects have been broken. A
server MUST notify clients that object relationships exist by sending server MUST notify clients that object relationships exist by sending
a 2305 error response code when a <delete> command is attempted and a 2305 error response code when a <delete> command is attempted and
fails due to existing object relationships. fails due to existing object relationships.
Example <delete> command: Example <delete> command:
skipping to change at page 21, line 43 skipping to change at line 932
4.2.5. EPP <update> Command 4.2.5. EPP <update> Command
The EPP <update> command provides a transform operation that allows a The EPP <update> command provides a transform operation that allows a
client to modify the attributes of an organization object. In client to modify the attributes of an organization object. In
addition to the standard EPP command elements, the <update> command addition to the standard EPP command elements, the <update> command
MUST contain an <org:update> element. This element or its ancestor MUST contain an <org:update> element. This element or its ancestor
element MUST identify the organization namespace element MUST identify the organization namespace
"urn:ietf:params:xml:ns:epp:org-1.0". The <org:update> element "urn:ietf:params:xml:ns:epp:org-1.0". The <org:update> element
contains the following child elements: contains the following child elements:
o An <org:id> element that contains the server-unique identifier of * An <org:id> element that contains the server-unique identifier of
the organization object to be updated, as defined in Section 3.1. the organization object to be updated, as defined in Section 3.1.
o An OPTIONAL <org:add> element that contains attribute values to be * An OPTIONAL <org:add> element that contains attribute values to be
added to the object. added to the object.
o An OPTIONAL <org:rem> element that contains attribute values to be * An OPTIONAL <org:rem> element that contains attribute values to be
removed from the object. removed from the object.
o An OPTIONAL <org:chg> element that contains attribute values to be * An OPTIONAL <org:chg> element that contains attribute values to be
changed. changed.
At least one <org:add>, <org:rem>, or <org:chg> element MUST be At least one <org:add>, <org:rem>, or <org:chg> element MUST be
provided if the command is not being extended. All of these elements provided if the command is not being extended. All of these elements
MAY be omitted if an <update> extension is present. The OPTIONAL MAY be omitted if an <update> extension is present. The OPTIONAL
<org:add> and <org:rem> elements contain the following child <org:add> and <org:rem> elements contain the following child
elements: elements:
o Zero or more <org:contact> elements that contain the identifiers * Zero or more <org:contact> elements that contain the identifiers
for contact objects to be associated with or removed from the for contact objects to be associated with or removed from the
organization object. Contact object identifiers MUST be known to organization object. Contact object identifiers MUST be known to
the server before the contact object can be associated with the the server before the contact object can be associated with the
organization object. organization object.
o Zero or more <org:role> elements that contain the role type, role * Zero or more <org:role> elements that contain the role type, role
statuses, and optional role ID of the organization. statuses, and optional role ID of the organization.
* An <org:type> element that contains the role type of the - An <org:type> element that contains the role type of the
organization, as defined in Section 3.2. The role type organization, as defined in Section 3.2. The role type
uniquely identifies the role to update. uniquely identifies the role to update.
* Zero or more <org:status> elements that contain the role - Zero or more <org:status> elements that contain the role
statuses. The values of the role status are defined in statuses. The values of the role status are defined in
Section 3.5. Section 3.5.
* An OPTIONAL <org:roleID> element that contains a third-party- - An OPTIONAL <org:roleID> element that contains a third-party-
assigned identifier, such as IANA ID for registrars, as defined assigned identifier, such as IANA ID for registrars, as defined
in Section 3.2.3. in Section 3.2.3.
o Zero or more <org:status> elements that contain the operational * Zero or more <org:status> elements that contain the operational
status of the organization. status of the organization.
An OPTIONAL <org:chg> element contains the following child elements, An OPTIONAL <org:chg> element contains the following child elements,
where at least one child element MUST be present: where at least one child element MUST be present:
o An OPTIONAL <org:parentId> element that contains the identifier of * An OPTIONAL <org:parentId> element that contains the identifier of
the parent object. the parent object.
o Zero to two <org:postalInfo> elements that contain postal-address * Zero to two <org:postalInfo> elements that contain postal-address
information. Two elements are provided so that address information. Two elements are provided so that address
information can be provided in both internationalized and information can be provided in both internationalized and
localized forms; a "type" attribute is used to identify the two localized forms; a "type" attribute is used to identify the two
forms. If an internationalized form (type="int") is provided, forms. If an internationalized form (type="int") is provided,
element content MUST be represented in a subset of Unicode element content MUST be represented in a subset of Unicode
[UNICODE] in the range U+0020 - U+007E. If a localized form [UNICODE] in the range U+0020 - U+007E. If a localized form
(type="loc") is provided, element content MAY be represented in (type="loc") is provided, element content MAY be represented in
unrestricted UTF-8. The change of the postal info is defined as a unrestricted UTF-8. The change of the postal info is defined as a
replacement of that postal info element with the contents of the replacement of that postal info element with the contents of the
sub-elements included in the <update> command. An empty sub-elements included in the <update> command. An empty
<org:postalInfo> element is supported to allow a type of postal <org:postalInfo> element is supported to allow a type of postal
info to be removed. The <org:postalInfo> element contains the info to be removed. The <org:postalInfo> element contains the
following child elements: following child elements:
* An <org:name> element that contains the name of the - An <org:name> element that contains the name of the
organization. organization.
* An OPTIONAL <org:addr> element that contains address - An OPTIONAL <org:addr> element that contains address
information associated with the organization. An <org:addr> information associated with the organization. An <org:addr>
element contains the following child elements: element contains the following child elements:
+ One, two, or three <org:street> elements that contain the o One, two, or three <org:street> elements that contain the
organization's street address. organization's street address.
+ An <org:city> element that contains the organization's city. o An <org:city> element that contains the organization's city.
+ An OPTIONAL <org:sp> element that contains the o An OPTIONAL <org:sp> element that contains the
organization's state or province. organization's state or province.
+ An OPTIONAL <org:pc> element that contains the o An OPTIONAL <org:pc> element that contains the
organization's postal code. organization's postal code.
+ An <org:cc> element that contains the alpha-2 organization's o An <org:cc> element that contains the alpha-2 organization's
country code. The detailed format of this element is country code. The detailed format of this element is
described in Section 2.4.3 of [RFC5733]. described in Section 2.4.3 of [RFC5733].
o An OPTIONAL <org:voice> element that contains the organization's * An OPTIONAL <org:voice> element that contains the organization's
voice telephone number. The detailed format of this element is voice telephone number. The detailed format of this element is
described in Section 2.5 of [RFC5733]. described in Section 2.5 of [RFC5733].
o An OPTIONAL <org:fax> element that contains the organization's * An OPTIONAL <org:fax> element that contains the organization's
facsimile telephone number. The detailed format of this element facsimile telephone number. The detailed format of this element
is described in Section 2.5 of [RFC5733]. is described in Section 2.5 of [RFC5733].
o An OPTIONAL <org:email> element that contains the organization's * An OPTIONAL <org:email> element that contains the organization's
email address. The detailed format of this element is described email address. The detailed format of this element is described
in [RFC5322]. in [RFC5322].
o An OPTIONAL <org:url> element that contains the URL to the website * An OPTIONAL <org:url> element that contains the URL to the website
of the organization. The detailed format of this element is of the organization. The detailed format of this element is
described in [RFC3986]. described in [RFC3986].
Example <update> command: Example <update> command:
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
C: <command> C: <command>
C: <update> C: <update>
C: <org:update C: <org:update
skipping to change at page 26, line 28 skipping to change at line 1151
the outcome. the outcome.
The service message MUST contain text that describes the notification The service message MUST contain text that describes the notification
in the child <msg> element of the response <msgQ> element. In in the child <msg> element of the response <msgQ> element. In
addition, the EPP <resData> element MUST contain a child addition, the EPP <resData> element MUST contain a child
<org:panData> element. This element or its ancestor element MUST <org:panData> element. This element or its ancestor element MUST
identify the organization namespace "urn:ietf:params:xml:ns:epp:org- identify the organization namespace "urn:ietf:params:xml:ns:epp:org-
1.0". The <org:panData> element contains the following child 1.0". The <org:panData> element contains the following child
elements: elements:
o An <org:id> element that contains the server-unique identifier of * An <org:id> element that contains the server-unique identifier of
the organization object. The <org:id> element contains a REQUIRED the organization object. The <org:id> element contains a REQUIRED
"paResult" attribute. A positive boolean value indicates that the "paResult" attribute. A positive boolean value indicates that the
request has been approved and completed. A negative boolean value request has been approved and completed. A negative boolean value
indicates that the request has been denied and the requested indicates that the request has been denied and the requested
action has not been taken. action has not been taken.
o An <org:paTRID> element that contains the client transaction * An <org:paTRID> element that contains the client transaction
identifier and server transaction identifier returned with the identifier and server transaction identifier returned with the
original response to process the command. The client transaction original response to process the command. The client transaction
identifier is OPTIONAL and will only be returned if the client identifier is OPTIONAL and will only be returned if the client
provided an identifier with the original <create> command. provided an identifier with the original <create> command.
o An <org:paDate> element that contains the date and time describing * An <org:paDate> element that contains the date and time describing
when review of the requested action was completed. when review of the requested action was completed.
Example "review completed" service message: Example "review completed" service message:
S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
S: <response> S: <response>
S: <result code="1301"> S: <result code="1301">
S: <msg lang="en">Command completed successfully; S: <msg lang="en">Command completed successfully;
S: ack to dequeue</msg> S: ack to dequeue</msg>
skipping to change at page 40, line 5 skipping to change at line 1779
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26, Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017, RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>. <https://www.rfc-editor.org/info/rfc8126>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[UNICODE] The Unicode Consortium, "The Unicode Standard", [UNICODE] The Unicode Consortium, "The Unicode Standard", March
<http://www.unicode.org/versions/latest/>. 2019, <http://www.unicode.org/versions/latest/>.
[W3C.REC-xml-20081126] [W3C.REC-xml-20081126]
Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and
F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth
Edition)", World Wide Web Consortium Recommendation Edition)", World Wide Web Consortium Recommendation REC-
REC-xml-20081126, November 2008, xml-20081126, November 2008, <https://www.w3.org/TR/xml/>.
<https://www.w3.org/TR/xml/>.
[W3C.REC-xmlschema-1-20041028] [W3C.REC-xmlschema-1-20041028]
Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn, Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn,
"XML Schema Part 1: Structures Second Edition", World Wide "XML Schema Part 1: Structures Second Edition", World Wide
Web Consortium Recommendation REC-xmlschema-1-20041028, Web Consortium Recommendation REC-xmlschema-1-20041028,
October 2004, October 2004,
<http://www.w3.org/TR/2004/REC-xmlschema-1-20041028>. <http://www.w3.org/TR/2004/REC-xmlschema-1-20041028>.
[W3C.REC-xmlschema-2-20041028] [W3C.REC-xmlschema-2-20041028]
Biron, P. and A. Malhotra, "XML Schema Part 2: Datatypes Biron, P. and A. Malhotra, "XML Schema Part 2: Datatypes
skipping to change at page 41, line 13 skipping to change at line 1819
February 2015, <https://www.rfc-editor.org/info/rfc7451>. February 2015, <https://www.rfc-editor.org/info/rfc7451>.
Acknowledgments Acknowledgments
The authors would like to thank Rik Ribbers, Marc Groeneweg, Patrick The authors would like to thank Rik Ribbers, Marc Groeneweg, Patrick
Mevzek, Antoin Verschuren, and Scott Hollenbeck for their careful Mevzek, Antoin Verschuren, and Scott Hollenbeck for their careful
review and valuable comments. review and valuable comments.
Authors' Addresses Authors' Addresses
Linlin Zhou
CNNIC
4 South 4th Street, Zhongguancun, Haidian District
Beijing, Beijing 100190
China China
100190
BeijingBeijing
4 South 4th Street, Zhongguancun, Haidian District
CNNIC
Linlin Zhou
Email: zhoulinlin@cnnic.cn Email: zhoulinlin@cnnic.cn
Ning Kong Ning Kong
Consultant Consultant
Email: ietfing@gmail.com Email: ietfing@gmail.com
Jiankang Yao
CNNIC
4 South 4th Street, Zhongguancun, Haidian District
Beijing, Beijing 100190
China China
100190
BeijingBeijing
4 South 4th Street, Zhongguancun, Haidian District
CNNIC
Jiankang Yao
Email: yaojk@cnnic.cn Email: yaojk@cnnic.cn
James Gould James Gould
VeriSign, Inc. VeriSign, Inc.
12061 Bluemont Way 12061 Bluemont Way
Reston, VA 20190 Reston, VA 20190
United States of America United States of America
Email: jgould@verisign.com Email: jgould@verisign.com
URI: http://www.verisign.com URI: http://www.verisign.com
Guiqing Zhou Guiqing Zhou
Email: qing.joe@gmail.com Email: qing.joe@gmail.com
 End of changes. 99 change blocks. 
145 lines changed or deleted 146 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/