draft-ietf-regext-org-02.txt | draft-ietf-regext-org-03.txt | |||
---|---|---|---|---|
Internet Engineering Task Force L. Zhou | Internet Engineering Task Force L. Zhou | |||
Internet-Draft N. Kong | Internet-Draft N. Kong | |||
Intended status: Standards Track G. Zhou | Intended status: Standards Track G. Zhou | |||
Expires: September 1, 2018 X. Lee | Expires: October 29, 2018 X. Lee | |||
CNNIC | CNNIC | |||
J. Gould | J. Gould | |||
VeriSign, Inc. | VeriSign, Inc. | |||
February 28, 2018 | April 27, 2018 | |||
Extensible Provisioning Protocol (EPP) Organization Mapping | Extensible Provisioning Protocol (EPP) Organization Mapping | |||
draft-ietf-regext-org-02 | draft-ietf-regext-org-03 | |||
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 | |||
stored in a shared central repository. Specified in Extensible | stored in a shared central repository. Specified in Extensible | |||
Markup Language (XML), this extended mapping is applied to provide | Markup Language (XML), this extended mapping is applied to provide | |||
additional features required for the provisioning of organizations. | additional features required for the provisioning of organizations. | |||
Status of This Memo | Status of This Memo | |||
skipping to change at page 1, line 38 ¶ | skipping to change at page 1, line 38 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on September 1, 2018. | This Internet-Draft will expire on October 29, 2018. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(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 | |||
skipping to change at page 2, line 29 ¶ | skipping to change at page 2, line 29 ¶ | |||
than English. | than English. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Conventions Used in This Document . . . . . . . . . . . . . . 3 | 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 | |||
3. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3.1. Organization Identifier . . . . . . . . . . . . . . . . . 4 | 3.1. Organization Identifier . . . . . . . . . . . . . . . . . 4 | |||
3.2. Organization Roles . . . . . . . . . . . . . . . . . . . 4 | 3.2. Organization Roles . . . . . . . . . . . . . . . . . . . 4 | |||
3.2.1. Role Type . . . . . . . . . . . . . . . . . . . . . . 4 | 3.2.1. Role Type . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3.2.2. Role Identifier . . . . . . . . . . . . . . . . . . . 4 | 3.2.2. Role Status . . . . . . . . . . . . . . . . . . . . . 4 | |||
3.2.3. Example of Organization Roles . . . . . . . . . . . . 4 | 3.2.3. Role Identifier . . . . . . . . . . . . . . . . . . . 4 | |||
3.3. Contact and Client Identifiers . . . . . . . . . . . . . 5 | 3.3. Contact and Client Identifiers . . . . . . . . . . . . . 5 | |||
3.4. Organization Status Values . . . . . . . . . . . . . . . 5 | 3.4. Organization Status Values . . . . . . . . . . . . . . . 5 | |||
3.5. Role Status Values . . . . . . . . . . . . . . . . . . . 6 | 3.5. Role Status Values . . . . . . . . . . . . . . . . . . . 6 | |||
3.6. Parent Identifier . . . . . . . . . . . . . . . . . . . . 6 | 3.6. Parent Identifier . . . . . . . . . . . . . . . . . . . . 6 | |||
3.7. URL . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 3.7. URL . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
3.8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 3.8. Dates and Times . . . . . . . . . . . . . . . . . . . . . 7 | |||
4. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 7 | 4. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 7 | |||
4.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 7 | 4.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 7 | |||
4.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 7 | 4.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 7 | |||
4.1.2. EPP <info> Command . . . . . . . . . . . . . . . . . 9 | 4.1.2. EPP <info> Command . . . . . . . . . . . . . . . . . 9 | |||
4.1.3. EPP <transfer> Command . . . . . . . . . . . . . . . 15 | 4.1.3. EPP <transfer> Command . . . . . . . . . . . . . . . 15 | |||
4.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 15 | 4.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 15 | |||
4.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 15 | 4.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 15 | |||
4.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 19 | 4.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 19 | |||
4.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 20 | 4.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 20 | |||
4.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 20 | 4.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 20 | |||
4.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 21 | 4.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 21 | |||
5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 24 | 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
6. Internationalization Considerations . . . . . . . . . . . . . 30 | 6. Internationalization Considerations . . . . . . . . . . . . . 33 | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 33 | |||
7.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 30 | 7.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 33 | |||
7.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 31 | 7.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 34 | |||
7.3. Role Values Registry . . . . . . . . . . . . . . . . . . 31 | 7.3. Role Values Registry . . . . . . . . . . . . . . . . . . 34 | |||
8. Implementation Status . . . . . . . . . . . . . . . . . . . . 32 | 7.3.1. Registration Template . . . . . . . . . . . . . . . . 34 | |||
8.1. CNNIC Implementation . . . . . . . . . . . . . . . . . . 32 | 7.3.2. Initial Registry Contents . . . . . . . . . . . . . . 34 | |||
8.2. Reseller Extension . . . . . . . . . . . . . . . . . . . 33 | 8. Implementation Status . . . . . . . . . . . . . . . . . . . . 35 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 33 | 8.1. CNNIC Implementation . . . . . . . . . . . . . . . . . . 36 | |||
10. Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . 33 | 8.2. Reseller Extension . . . . . . . . . . . . . . . . . . . 36 | |||
11. Normative References . . . . . . . . . . . . . . . . . . . . 33 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 36 | |||
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 34 | 10. Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . 36 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35 | 11. Normative References . . . . . . . . . . . . . . . . . . . . 36 | |||
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 38 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 39 | ||||
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, or privacy proxies involved in the domain registration | operators, or privacy proxies involved in the domain registration | |||
business. These kind of entities have not been formally defined as | business. These kind of entities have not been formally defined as | |||
an object in EPP which will be specified as "organization" in this | an object in EPP which will be specified as "organization" in this | |||
document. | document. | |||
This document describes an organization object mapping for version | This document describes an organization object mapping for version | |||
skipping to change at page 4, line 30 ¶ | skipping to change at page 4, line 30 ¶ | |||
described in [RFC5730]. Its corresponding element is <org:id>. | described in [RFC5730]. Its corresponding element is <org:id>. | |||
3.2. Organization Roles | 3.2. Organization Roles | |||
The organization roles are used to represent the relationship an | The organization roles are used to represent the relationship an | |||
organization would have. Its corresponding element is <org:role>. | organization would have. Its corresponding element is <org:role>. | |||
3.2.1. Role Type | 3.2.1. Role Type | |||
An organization would support a list of roles. See Section 7.3 for a | An organization would support a list of roles. See Section 7.3 for a | |||
list of values. Its corresponding element is <org:type> with a | list of values. Its corresponding element is <org:type>. | |||
"roleStatus" attribute. The values of role statuses are defined in | ||||
Section 3.5. | ||||
3.2.2. Role Identifier | 3.2.2. Role Status | |||
A role of an organization object would have its own statuses. Its | ||||
corresponding element is <org:status>. The values of role status are | ||||
defined in Section 3.5. | ||||
3.2.3. Role Identifier | ||||
A role MAY have a third party assigned identifier such as the IANA ID | A role MAY have a third party assigned identifier such as the IANA ID | |||
for registrars. Its corresponding element is <org:roleid>. | for registrars. Its corresponding element is <org:roleid>. | |||
3.2.3. Example of Organization Roles | Example of organization role identifier: | |||
Example of "Organization Roles" | ||||
S: <org:role> | <org:role> | |||
S: <org:type roleStatus="ok">registrar</org:type> | <org:type>registrar</org:type> | |||
S: <org:roleid>1362</org:roleid> | <org:status>ok</org:status> | |||
S: </org:role> | <org:status>linked</org:status> | |||
<org:roleid>1362</org:roleid> | ||||
</org:role> | ||||
3.3. Contact and Client Identifiers | 3.3. Contact and Client Identifiers | |||
All EPP contacts are identified by a server-unique identifier. | All EPP contacts are identified by a server-unique identifier. | |||
Contact identifiers are character strings with a specific minimum | Contact identifiers are character strings with a specific minimum | |||
length, a specified maximum length, and a specified format. Contact | length, a specified maximum length, and a specified format. Contact | |||
identifiers use the "clIDType" client identifier syntax described in | identifiers use the "clIDType" client identifier syntax described in | |||
[RFC5730]. | [RFC5730]. | |||
3.4. Organization Status Values | 3.4. Organization Status Values | |||
An organization object MUST always have at least one associated | An organization object MUST always have at least one associated | |||
status value. The default value is "ok". | status value. The default value is "ok". | |||
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". The "hold" and | ||||
"terminated" are server-managed when the organization has no parent | ||||
identifier [Section 3.6] and otherwise MAY be client-managed based on | ||||
server policy. | ||||
Status Value Descriptions: | Status Value Descriptions: | |||
o ok: This is the normal status value for an object that has no | o ok: This is the normal status value for an object that has no | |||
pending operations or prohibitions. This value is set and removed | pending operations or prohibitions. This value is set and removed | |||
by the server as other status values are added or removed. | by the server as other status values are added or removed. | |||
o hold: Organization transform commands and new links MUST be | o hold: Organization transform commands and new links MUST be | |||
rejected. | rejected. | |||
o terminated: The organization which has been terminated MUST NOT be | o terminated: The organization which has been terminated MUST NOT be | |||
skipping to change at page 7, line 10 ¶ | skipping to change at page 7, line 20 ¶ | |||
Loops SHOULD be prohibited. If organization A has B as parent | Loops SHOULD be prohibited. If organization A has B as parent | |||
identifier, organization B must not have organization A as parent | identifier, organization B must not have organization A as parent | |||
identifier. | identifier. | |||
3.7. URL | 3.7. URL | |||
The URL represents the organization web home page, as defined with | The URL represents the organization web home page, as defined with | |||
the <org:url> element. | the <org:url> element. | |||
3.8. | 3.8. Dates and Times | |||
Date and time attribute values MUST be represented in Universal | Date and time attribute values MUST be represented in Universal | |||
Coordinated Time (UTC) using the Gregorian calendar. The extended | Coordinated Time (UTC) using the Gregorian calendar. The extended | |||
date-time form using upper case "T" and "Z" characters defined in | date-time form using upper case "T" and "Z" characters defined in | |||
[W3C.REC-xmlschema-2-20041028] MUST be used to represent date-time | [W3C.REC-xmlschema-2-20041028] MUST be used to represent date-time | |||
values, as XML Schema does not support truncated date-time forms or | values, as XML Schema does not support truncated date-time forms or | |||
lower case "T" and "Z" characters. | lower case "T" and "Z" characters. | |||
4. EPP Command Mapping | 4. EPP Command Mapping | |||
A detailed description of the EPP syntax and semantics can be found | A detailed description of the EPP syntax and semantics can be found | |||
in the EPP core protocol specification [RFC5730]. The command | in the EPP core protocol specification [RFC5730]. The command | |||
mappings described here are specifically for use in provisioning and | mappings described here are specifically for use in provisioning and | |||
managing organization information via EPP. | managing organization information via EPP. | |||
4.1. EPP Query Commands | 4.1. EPP Query Commands | |||
EPP provides two commands to retrieve domain information: <check> to | EPP provides two commands to retrieve organization information: | |||
determine if an organization object can be provisioned within a | <check> to determine if an organization object can be provisioned | |||
repository, and <info> to retrieve detailed information associated | within a repository, and <info> to retrieve detailed information | |||
with an organization object. This document does not define a mapping | associated with an organization object. This document does not | |||
for the EPP <transfer> command to retrieve domain-object transfer | define a mapping for the EPP <transfer> command to retrieve | |||
status information.. | organization-object transfer status information.. | |||
4.1.1. EPP <check> Command | 4.1.1. EPP <check> Command | |||
The EPP <check> command is used to determine if an object can be | The EPP <check> command is used to determine if an object can be | |||
provisioned within a repository. It provides a hint that allows a | provisioned within a repository. It provides a hint that allows a | |||
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 | |||
skipping to change at page 10, line 30 ¶ | skipping to change at page 10, line 30 ¶ | |||
identifies the organization namespace. The <org:infData> element | identifies the organization namespace. The <org:infData> element | |||
contains the following child elements: | contains the following child elements: | |||
o A <org:id> element that contains the server-unique identifier of | o A <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 A <org:roid> element that contains the Repository Object | o A <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 contains the role type and | o One or more <org:role> elements that contains the role type, role | |||
optional role id of the organization. | status and optional role id of the organization. | |||
* A <org:type> element that contains the type of the | * A <org:type> element that contains the type of the | |||
organization, as defined in Section 3.2. A "roleStatus" | organization, as defined in Section 3.2. | |||
attribute is used to describe the status value of a role type. | ||||
* Zero or more <org:status> elements of a role. The values of | ||||
role status are defined 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.2. | in Section 3.2.3. | |||
o One or more <org:status> elements that contains the operational | o Zero or more <org:status> elements that contains 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 | o 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 One or two <org:postalInfo> elements that contain postal-address | o 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 UTF-8 that can | element content MUST be represented in a subset of UTF-8 that can | |||
be represented in the 7-bit US-ASCII character set. If a | be represented in the 7-bit US-ASCII character set. If a | |||
localized form (type="loc") is provided, element content MAY be | localized form (type="loc") is provided, element content MAY be | |||
represented in unrestricted UTF-8. The <org:postalInfo> element | represented in unrestricted UTF-8. The <org:postalInfo> element | |||
contains the following child elements: | contains the following child elements: | |||
skipping to change at page 13, line 17 ¶ | skipping to change at page 12, line 38 ¶ | |||
S: <response> | S: <response> | |||
S: <result code="1000"> | S: <result code="1000"> | |||
S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
S: </result> | S: </result> | |||
S: <resData> | S: <resData> | |||
S: <org:infData | S: <org:infData | |||
S: xmlns:org="urn:ietf:params:xml:ns:org-1.0"> | S: xmlns:org="urn:ietf:params:xml:ns:org-1.0"> | |||
S: <org:id>registrar1362</org:id> | S: <org:id>registrar1362</org:id> | |||
S: <org:roid>registrar1362-REP</org:roid> | S: <org:roid>registrar1362-REP</org:roid> | |||
S: <org:role> | S: <org:role> | |||
S: <org:type roleStatus="ok">registrar</org:type> | S: <org:type>registrar</org:type> | |||
S: <org:status>ok</org:status> | ||||
S: <org:status>linked</org:status> | ||||
S: <org:roleid>1362</org:roleid> | S: <org:roleid>1362</org:roleid> | |||
S: </org:role> | S: </org:role> | |||
S: <org:status>ok</org:status> | S: <org:status>ok</org:status> | |||
S: <org:postalInfo type="int"> | S: <org:postalInfo type="int"> | |||
S: <org:name>Example Registrar Inc.</org:name> | S: <org:name>Example Registrar Inc.</org:name> | |||
S: <org:addr> | S: <org:addr> | |||
S: <org:street>123 Example Dr.</org:street> | S: <org:street>123 Example Dr.</org:street> | |||
S: <org:street>Suite 100</org:street> | S: <org:street>Suite 100</org:street> | |||
S: <org:city>Dulles</org:city> | S: <org:city>Dulles</org:city> | |||
S: <org:sp>VA</org:sp> | S: <org:sp>VA</org:sp> | |||
skipping to change at page 14, line 19 ¶ | skipping to change at page 14, line 17 ¶ | |||
S: <response> | S: <response> | |||
S: <result code="1000"> | S: <result code="1000"> | |||
S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
S: </result> | S: </result> | |||
S: <resData> | S: <resData> | |||
S: <org:infData | S: <org:infData | |||
S: xmlns:org="urn:ietf:params:xml:ns:org-1.0"> | S: xmlns:org="urn:ietf:params:xml:ns:org-1.0"> | |||
S: <org:id>reseller1523</org:id> | S: <org:id>reseller1523</org:id> | |||
S: <org:roid>reseller1523-REP</org:roid> | S: <org:roid>reseller1523-REP</org:roid> | |||
S: <org:role> | S: <org:role> | |||
S: <org:type roleStatus="linked">reseller</org:type> | S: <org:type>reseller</org:type> | |||
S: <org:status>ok</org:status> | ||||
S: <org:status>linked</org:status> | ||||
S: </org:role> | S: </org:role> | |||
S: <org:status>ok</org:status> | S: <org:status>ok</org:status> | |||
S: <org:parentId>registrar1362</org:parentId> | S: <org:parentId>registrar1362</org:parentId> | |||
S: <org:postalInfo type="int"> | S: <org:postalInfo type="int"> | |||
S: <org:name>Example Reseller Inc.</org:name> | S: <org:name>Example Reseller Inc.</org:name> | |||
S: <org:addr> | S: <org:addr> | |||
S: <org:street>123 Example Dr.</org:street> | S: <org:street>123 Example Dr.</org:street> | |||
S: <org:street>Suite 100</org:street> | S: <org:street>Suite 100</org:street> | |||
S: <org:city>Dulles</org:city> | S: <org:city>Dulles</org:city> | |||
S: <org:sp>VA</org:sp> | S: <org:sp>VA</org:sp> | |||
skipping to change at page 15, line 14 ¶ | skipping to change at page 15, line 12 ¶ | |||
An EPP error response MUST be returned if an <info> command cannot be | An EPP error response MUST be returned if an <info> command cannot be | |||
processed for any reason. | processed for any reason. | |||
4.1.3. EPP <transfer> Command | 4.1.3. EPP <transfer> Command | |||
The transfer semantics does not apply to organization object. No EPP | The transfer semantics does not apply to organization object. No EPP | |||
<transfer> command is defined in this document. | <transfer> command is defined in this document. | |||
4.2. EPP Transform Commands | 4.2. EPP Transform Commands | |||
EPP provides four commands to transform organization object | EPP provides three commands to transform organization object | |||
information: <create> to create an instance of an organization | information: <create> to create an instance of an organization | |||
object, <delete> to delete an instance of an organization object, | object, <delete> to delete an instance of an organization object, and | |||
<transfer> to manage organization-object sponsorship changes, and | ||||
<update> to change information associated with an organization | <update> to change information associated with an organization | |||
object. This document does not define a mapping for the EPP | object. This document does not define a mapping for the EPP | |||
<transfer> and <renew> command. | <transfer> and <renew> command. | |||
Transform commands are typically processed and completed in real | Transform commands are typically processed and completed in real | |||
time. Server operators MAY receive and process transform commands | time. Server operators MAY receive and process transform commands | |||
but defer completing the requested action if human or third-party | but defer completing the requested action if human or third-party | |||
review is required before the requested action can be completed. In | review is required before the requested action can be completed. In | |||
such situations, the server MUST return a 1001 response code to the | such situations, the server MUST return a 1001 response code to the | |||
client to note that the command has been received and processed but | client to note that the command has been received and processed but | |||
that the requested action is pending. The server MUST also manage | that the requested action is pending. The server MUST also manage | |||
the status of the object that is the subject of the command to | the status of the object that is the subject of the command to | |||
reflect the initiation and completion of the requested action. Once | reflect the initiation and completion of the requested action. Once | |||
the action has been completed, all clients involved in the | the action has been completed, the client MUST be notified using a | |||
transaction MUST be notified using a service message that the action | service message that the action has been completed and that the | |||
has been completed and that the status of the object has changed. | status of the object has changed. Other notification methods MAY be | |||
Other notification methods MAY be used in addition to the required | used in addition to the required service message. | |||
service message. | ||||
Server operators SHOULD confirm that a client is authorized to | Server operators SHOULD confirm that a client is authorized to | |||
perform a transform command on a given object. Any attempt to | perform a transform command on a given object. Any attempt to | |||
transform an object by an unauthorized client MUST be rejected, and | transform an object by an unauthorized client MUST be rejected, and | |||
the server MUST return a 2201 response code to the client to note | the server MUST return a 2201 response code to the client to note | |||
that the client lacks privileges to execute the requested command. | that the client lacks privileges to execute the requested command. | |||
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 a | EPP command elements, the <create> command MUST contain a | |||
<org:create> element that identifies the organization namespace. The | <org:create> element that identifies the organization namespace. The | |||
<org:create> element contains the following child elements: | <org:create> element contains the following child elements: | |||
o A <org:id> element that contains the desired server-unique | o A <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 contains the role type and | o One or more <org:role> elements that contains the role type, role | |||
optional role id of the organization. | status and optional role id of the organization. | |||
* A <org:type> element that contains the type of the | * A <org:type> element that contains the type of the | |||
organization, as defined in Section 3.2. A "roleStatus" | organization, as defined in Section 3.2. | |||
attribute is used to describe the status value of a role type. | ||||
* Zero or more <org:status> elements of a role. The values of | ||||
role status are defined 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.2. | in Section 3.2.3. | |||
o A <org:status> element that contains the operational status of the | o Zero of more <org:status> element that contains the operational | |||
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 | o 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 One or two <org:postalInfo> elements that contain postal-address | o 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 UTF-8 that can | element content MUST be represented in a subset of UTF-8 that can | |||
be represented in the 7-bit US-ASCII character set. If a | be represented in the 7-bit US-ASCII character set. If a | |||
localized form (type="loc") is provided, element content MAY be | localized form (type="loc") is provided, element content MAY be | |||
represented in unrestricted UTF-8. The <org:postalInfo> element | represented in unrestricted UTF-8. The <org:postalInfo> element | |||
contains the following child elements: | contains the following child elements: | |||
skipping to change at page 18, line 13 ¶ | skipping to change at page 18, line 13 ¶ | |||
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:org-1.0"> | C: xmlns:org="urn:ietf:params:xml:ns:org-1.0"> | |||
C: <org:id>res1523</org:id> | C: <org:id>res1523</org:id> | |||
C: <org:role> | C: <org:role> | |||
C: <org:type roleStatus="ok">reseller</org:type> | C: <org:type>reseller</org:type> | |||
C: <org:type roleStatus="ok">privacyproxy</org:type> | C: <org:status>ok</org:type> | |||
C: </org:role> | C: </org:role> | |||
C: <org:status>ok</org:status> | ||||
C: <org:parentId>1523res</org:parentId> | C: <org:parentId>1523res</org:parentId> | |||
C: <org:postalInfo type="int"> | C: <org:postalInfo type="int"> | |||
C: <org:name>Example Organization Inc.</org:name> | C: <org:name>Example Organization Inc.</org:name> | |||
C: <org:addr> | C: <org:addr> | |||
C: <org:street>123 Example Dr.</org:street> | C: <org:street>123 Example Dr.</org:street> | |||
C: <org:street>Suite 100</org:street> | C: <org:street>Suite 100</org:street> | |||
C: <org:city>Dulles</org:city> | C: <org:city>Dulles</org:city> | |||
C: <org:sp>VA</org:sp> | C: <org:sp>VA</org:sp> | |||
C: <org:pc>20166-6503</org:pc> | C: <org:pc>20166-6503</org:pc> | |||
C: <org:cc>US</org:cc> | C: <org:cc>US</org:cc> | |||
skipping to change at page 21, line 37 ¶ | skipping to change at page 21, line 37 ¶ | |||
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 <org:add> | MAY be omitted if an <update> extension is present. The <org:add> | |||
and <org:rem> elements contain the following child element: | and <org:rem> elements contain the following child element: | |||
o Zero or more <org:contact> elements that contain the identifiers | o 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. | |||
A <org:chg> element contains the following OPTIONAL child elements. | o Zero or more <org:role> elements that contains the role type, role | |||
At least one child element MUST be present: | status and optional role id of the organization. | |||
o One or more <org:role> elements that contains the role type and | ||||
optional role id of the organization. | ||||
* A <org:type> element that contains the type of the | * A <org:type> element that contains the type of the | |||
organization, as defined in Section 3.2. A "roleStatus" | organization, as defined in Section 3.2. | |||
attribute is used to describe the status value of a role type. | ||||
* Zero or more <org:status> elements of a role. The values of | ||||
role status are defined 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.2. | in Section 3.2.3. | |||
o A <org:status> element that contains the operational status of the | o Zero or more <org:status> element that contains the operational | |||
organization. | status of the organization. | |||
A <org:chg> element contains the following OPTIONAL child elements. | ||||
At least one child element MUST be present: | ||||
o A <org:parentId> element that contains the identifier of the | o A <org:parentId> element that contains the identifier of the | |||
parent object. | parent object. | |||
o One or two <org:postalInfo> elements that contain postal-address | o One or 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 UTF-8 that can | element content MUST be represented in a subset of UTF-8 that can | |||
skipping to change at page 23, line 10 ¶ | skipping to change at page 24, line 5 ¶ | |||
telephone number. | telephone number. | |||
o A <org:email> element that contains the organization's email | o A <org:email> element that contains the organization's email | |||
address. | address. | |||
o A <org:url> element that contains the URL to the website of the | o A <org:url> element that contains the URL to the website of the | |||
organization. | organization. | |||
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 | |||
C: xmlns:org="urn:ietf:params:xml:ns:org-1.0"> | C: xmlns:org="urn:ietf:params:xml:ns:org-1.0"> | |||
C: <org:id>res1523</org:id> | C: <org:id>res1523</org:id> | |||
C: <org:add> | C: <org:add> | |||
C: <org:contact type="tech">sh8013</org:contact> | C: <org:contact type="tech">sh8013</org:contact> | |||
C: </org:add> | C: <org:role> | |||
C: <org:chg> | C: <org:type>privacyproxy</org:type> | |||
C: <org:role> | C: <org:status>clientLinkProhibited</org:status> | |||
C: <org:type roleStatus="linked">reseller</org:type> | C: </org:role> | |||
C: <org:type roleStatus="clientLinkProhibited">privacyproxy</org:type> | C: <org:status>clientLinkProhibited</org:status> | |||
C: </org:role> | C: </org:add> | |||
C: <org:status>ok</org:status> | C: <org:rem> | |||
C: <org:postalInfo type="int"> | C: <org:contact type="billing">sh8014</org:contact> | |||
C: <org:addr> | C: <org:role> | |||
C: <org:street>124 Example Dr.</org:street> | C: <org:type>reseller</org:type> | |||
C: <org:street>Suite 200</org:street> | C: <org:status>clientDeleteProhibited</org:status> | |||
C: <org:city>Dulles</org:city> | C: </org:role> | |||
C: <org:sp>VA</org:sp> | C: </org:rem> | |||
C: <org:pc>20166-6503</org:pc> | C: <org:chg> | |||
C: <org:cc>US</org:cc> | C: <org:postalInfo type="int"> | |||
C: </org:addr> | C: <org:addr> | |||
C: </org:postalInfo> | C: <org:street>124 Example Dr.</org:street> | |||
C: <org:voice>+1.7034444444</org:voice> | C: <org:street>Suite 200</org:street> | |||
C: <org:fax/> | C: <org:city>Dulles</org:city> | |||
C: </org:chg> | C: <org:sp>VA</org:sp> | |||
C: </org:update> | C: <org:pc>20166-6503</org:pc> | |||
C: </update> | C: <org:cc>US</org:cc> | |||
C: <clTRID>ABC-12345</clTRID> | C: </org:addr> | |||
C: </command> | C: </org:postalInfo> | |||
C:</epp> | C: <org:voice>+1.7034444444</org:voice> | |||
C: <org:fax/> | ||||
C: </org:chg> | ||||
C: </org:update> | ||||
C: </update> | ||||
C: <clTRID>ABC-12345</clTRID> | ||||
C: </command> | ||||
C:</epp> | ||||
When an <update> command has been processed successfully, a server | When an <update> command has been processed successfully, a server | |||
MUST respond with an EPP response with no <resData> element. | MUST respond with an EPP response with no <resData> element. | |||
Example <update> response: | Example <update> 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"> | |||
skipping to change at page 24, line 37 ¶ | skipping to change at page 25, line 37 ¶ | |||
are used to note the beginning and ending of the schema for URI | are used to note the beginning and ending of the schema for URI | |||
registration purposes. | registration purposes. | |||
BEGIN | BEGIN | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<schema targetNamespace="urn:ietf:params:xml:ns:org-1.0" | <schema targetNamespace="urn:ietf:params:xml:ns:org-1.0" | |||
xmlns:org="urn:ietf:params:xml:ns:org-1.0" | xmlns:org="urn:ietf:params:xml:ns:org-1.0" | |||
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" | xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" | |||
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" | xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" | |||
xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" | ||||
xmlns="http://www.w3.org/2001/XMLSchema" | xmlns="http://www.w3.org/2001/XMLSchema" | |||
elementFormDefault="qualified"> | elementFormDefault="qualified"> | |||
<!-- | <!-- | |||
Import common element types. | Import common element types. | |||
--> | --> | |||
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/> | <import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/> | |||
<import namespace="urn:ietf:params:xml:ns:epp-1.0"/> | <import namespace="urn:ietf:params:xml:ns:epp-1.0"/> | |||
<import namespace="urn:ietf:params:xml:ns:contact-1.0"/> | ||||
<import namespace="urn:ietf:params:xml:ns:domain-1.0"/> | ||||
<annotation> | <annotation> | |||
<documentation> | <documentation> | |||
Extensible Provisioning Protocol v1.0 | Extensible Provisioning Protocol v1.0 | |||
organization provisioning schema. | organization provisioning schema. | |||
</documentation> | </documentation> | |||
</annotation> | </annotation> | |||
<!-- | <!-- | |||
Child elements found in EPP commands. | Child elements found in EPP commands. | |||
--> | --> | |||
<element name="create" type="org:createType"/> | <element name="create" type="org:createType"/> | |||
<element name="delete" type="org:sIDType"/> | <element name="delete" type="org:sIDType"/> | |||
<element name="update" type="org:updateType"/> | <element name="update" type="org:updateType"/> | |||
<element name="check" type="org:mIDType"/> | <element name="check" type="org:mIDType"/> | |||
<element name="info" type="org:infoType"/> | <element name="info" type="org:infoType"/> | |||
<!-- | <!-- | |||
Utility types. | Utility types. | |||
--> | --> | |||
<simpleType name="statusType"> | <simpleType name="statusType"> | |||
<restriction base="token"> | <restriction base="token"> | |||
<enumeration value="ok"/> | <enumeration value="ok"/> | |||
<enumeration value="hold"/> | <enumeration value="hold"/> | |||
<enumeration value="terminated"/> | <enumeration value="terminated"/> | |||
<enumeration value="clientDeleteProhibited"/> | <enumeration value="clientDeleteProhibited"/> | |||
<enumeration value="clientUpdateProhibited"/> | <enumeration value="clientUpdateProhibited"/> | |||
<enumeration value="clientLinkProhibited"/> | <enumeration value="clientLinkProhibited"/> | |||
<enumeration value="linked"/> | <enumeration value="linked"/> | |||
<enumeration value="pendingCreate"/> | <enumeration value="pendingCreate"/> | |||
<enumeration value="pendingUpdate"/> | <enumeration value="pendingUpdate"/> | |||
<enumeration value="pendingDelete"/> | <enumeration value="pendingDelete"/> | |||
<enumeration value="serverDeleteProhibited"/> | <enumeration value="serverDeleteProhibited"/> | |||
<enumeration value="serverUpdateProhibited"/> | <enumeration value="serverUpdateProhibited"/> | |||
<enumeration value="serverLinkProhibited"/> | <enumeration value="serverLinkProhibited"/> | |||
</restriction> | </restriction> | |||
</simpleType> | </simpleType> | |||
<simpleType name="roleStatusType"> | <simpleType name="roleStatusType"> | |||
<restriction base="token"> | <restriction base="token"> | |||
<enumeration value="ok"/> | <enumeration value="ok"/> | |||
<enumeration value="clientLinkProhibited"/> | <enumeration value="clientLinkProhibited"/> | |||
<enumeration value="linked"/> | <enumeration value="linked"/> | |||
<enumeration value="serverLinkProhibited"/> | <enumeration value="serverLinkProhibited"/> | |||
</restriction> | </restriction> | |||
</simpleType> | </simpleType> | |||
<complexType name="roleType"> | <complexType name="roleType"> | |||
<sequence> | <element name="type" type="token"/> | |||
<element name="type" type="token"/> | <element name="status" type="org:roleStatusType" minOccurs="0" maxOccurs="3"/> | |||
<element name="roleid" type="positiveInteger" minOccurs="0"/> | <element name="roleid" type="token" minOccurs="0"/> | |||
</sequence> | </complexType> | |||
<attribute nmae="roleStatus" type="roleStatusType" default="ok"/> | ||||
</complexType> | ||||
<complexType name="postalInfoType"> | <complexType name="postalInfoType"> | |||
<sequence> | <sequence> | |||
<element name="name" | <element name="name" | |||
type="contact:postalLineType"/> | type="org:postalLineType"/> | |||
<element name="addr" | <element name="addr" | |||
type="contact:addrType"/> | type="org:addrType"/> | |||
</sequence> | </sequence> | |||
<attribute name="type" | <attribute name="type" | |||
type="contact:postalInfoEnumType" | type="org:postalInfoEnumType" | |||
use="required"/> | use="required"/> | |||
</complexType> | </complexType> | |||
<complexType name="contactType"> | <complexType name="contactType"> | |||
<simpleContent> | <simpleContent> | |||
<extension base="eppcom:clIDType"> | <extension base="eppcom:clIDType"> | |||
<attribute name="type" type="org:contactAttrType" use="required"/> | <attribute name="type" type="org:contactAttrType" use="required"/> | |||
<attribute name="typeName" | <attribute name="typeName" type="token"/> | |||
type="token"/> | </extension> | |||
</extension> | </simpleContent> | |||
</simpleContent> | </complexType> | |||
</complexType> | ||||
<simpleType name="contactAttrType"> | <simpleType name="contactAttrType"> | |||
<restriction base="token"> | <restriction base="token"> | |||
<enumeration value="admin"/> | <enumeration value="admin"/> | |||
<enumeration value="billing"/> | <enumeration value="billing"/> | |||
<enumeration value="tech"/> | <enumeration value="tech"/> | |||
<enumeration value="abuse"/> | <enumeration value="abuse"/> | |||
<enumeration value="custom"/> | <enumeration value="custom"/> | |||
</restriction> | </restriction> | |||
</simpleType> | </simpleType> | |||
<complexType name="e164Type"> | ||||
<simpleContent> | ||||
<extension base="org:e164StringType"> | ||||
<attribute name="x" type="token" /> | ||||
</extension> | ||||
</simpleContent> | ||||
</complexType> | ||||
<simpleType name="e164StringType"> | ||||
<restriction base="token"> | ||||
<pattern value="(\+[0-9]{1,3}\.[0-9]{1,14})?" /> | ||||
<maxLength value="17" /> | ||||
</restriction> | ||||
</simpleType> | ||||
<simpleType name="postalLineType"> | ||||
<restriction base="normalizedString"> | ||||
<minLength value="1" /> | ||||
<maxLength value="255" /> | ||||
</restriction> | ||||
</simpleType> | ||||
<simpleType name="optPostalLineType"> | ||||
<restriction base="normalizedString"> | ||||
<maxLength value="255" /> | ||||
</restriction> | ||||
</simpleType> | ||||
<simpleType name="pcType"> | ||||
<restriction base="token"> | ||||
<maxLength value="16" /> | ||||
</restriction> | ||||
</simpleType> | ||||
<simpleType name="ccType"> | ||||
<restriction base="token"> | ||||
<length value="2" /> | ||||
</restriction> | ||||
</simpleType> | ||||
<complexType name="addrType"> | ||||
<sequence> | ||||
<element name="street" type="org:optPostalLineType" | ||||
minOccurs="0" maxOccurs="3" /> | ||||
<element name="city" type="org:postalLineType" /> | ||||
<element name="sp" type="org:optPostalLineType" | ||||
minOccurs="0" /> | ||||
<element name="pc" type="org:pcType" | ||||
minOccurs="0" /> | ||||
<element name="cc" type="org:ccType" /> | ||||
</sequence> | ||||
</complexType> | ||||
<simpleType name="postalInfoEnumType"> | ||||
<restriction base="token"> | ||||
<enumeration value="loc" /> | ||||
<enumeration value="int" /> | ||||
</restriction> | ||||
</simpleType> | ||||
<!-- | <!-- | |||
Child element of commands that require only an identifier. | Child element of commands that require only an identifier. | |||
--> | --> | |||
<complexType name="sIDType"> | <complexType name="sIDType"> | |||
<sequence> | <sequence> | |||
<element name="id" | <element name="id" type="eppcom:clIDType"/> | |||
type="eppcom:clIDType"/> | ||||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<!-- | <!-- | |||
Child element of commands that accept multiple identifiers. | Child element of commands that accept multiple identifiers. | |||
--> | --> | |||
<complexType name="mIDType"> | <complexType name="mIDType"> | |||
<sequence> | <sequence> | |||
<element name="id" | <element name="id" | |||
type="eppcom:clIDType" maxOccurs="unbounded"/> | type="eppcom:clIDType" maxOccurs="unbounded"/> | |||
skipping to change at page 27, line 29 ¶ | skipping to change at page 29, line 33 ¶ | |||
</complexType> | </complexType> | |||
<!-- | <!-- | |||
Child elements of the <create> command. | Child elements of the <create> command. | |||
--> | --> | |||
<complexType name="createType"> | <complexType name="createType"> | |||
<sequence> | <sequence> | |||
<element name="id" | <element name="id" | |||
type="eppcom:clIDType"/> | type="eppcom:clIDType"/> | |||
<element name="role" | <element name="role" | |||
type="org:roleType"/> | type="org:roleType" maxOccurs="unbounded"/> | |||
<element name="status" | <element name="status" | |||
type="org:statusType" default="ok" maxOccurs="9"/> | type="org:statusType" minOccurs="0" maxOccurs="4"/> | |||
<element name="parentId" | <element name="parentId" | |||
type="eppcom:clIDType" minOccurs="0"/> | type="eppcom:clIDType" minOccurs="0"/> | |||
<element name="postalInfo" | <element name="postalInfo" | |||
type="org:postalInfoType" maxOccurs="2"/> | type="org:postalInfoType" minOccurs="0" maxOccurs="2"/> | |||
<element name="voice" | <element name="voice" | |||
type="contact:e164Type" minOccurs="0"/> | type="org:e164Type" minOccurs="0"/> | |||
<element name="fax" | <element name="fax" | |||
type="contact:e164Type" minOccurs="0"/> | type="org:e164Type" minOccurs="0"/> | |||
<element name="email" | <element name="email" | |||
type="eppcom:minTokenType"/> | type="eppcom:minTokenType" minOccurs="0"/> | |||
<element name="url" | <element name="url" | |||
type="anyURI" minOccurs="0"/> | type="anyURI" minOccurs="0"/> | |||
<element name="contact" | <element name="contact" | |||
type="org:contactType" | type="org:contactType" | |||
minOccurs="0" maxOccurs="5"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<!-- | <!-- | |||
Child elements of the <update> command. | Child elements of the <update> command. | |||
--> | --> | |||
<complexType name="updateType"> | <complexType name="updateType"> | |||
<sequence> | <sequence> | |||
<element name="id" | <element name="id" | |||
type="eppcom:clIDType"/> | type="eppcom:clIDType"/> | |||
<element name="add" | <element name="add" | |||
type="org:addRemType" minOccurs="0"/> | type="org:addRemType" minOccurs="0"/> | |||
<element name="rem" | <element name="rem" | |||
type="org:addRemType" minOccurs="0"/> | type="org:addRemType" minOccurs="0"/> | |||
<element name="chg" | <element name="chg" | |||
skipping to change at page 28, line 25 ¶ | skipping to change at page 30, line 27 ¶ | |||
type="org:chgType" minOccurs="0"/> | type="org:chgType" minOccurs="0"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<!-- | <!-- | |||
Data elements that can be added or removed. | Data elements that can be added or removed. | |||
--> | --> | |||
<complexType name="addRemType"> | <complexType name="addRemType"> | |||
<sequence> | <sequence> | |||
<element name="contact" | <element name="contact" | |||
type="domain:contactType" minOccurs="0"/> | type="org:contactType" minOccurs="0" maxOccurs="unbounded"/> | |||
<element name="role" type="org:roleType" | ||||
minOccurs="0" maxOccurs="unbounded"/> | ||||
<element name="status" type="org:statusType" | ||||
minOccurs="0" maxOccurs="9"/> | ||||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<!-- | <!-- | |||
Data elements that can be changed. | Data elements that can be changed. | |||
--> | --> | |||
<complexType name="chgType"> | <complexType name="chgType"> | |||
<sequence> | <sequence> | |||
<element name="status" | ||||
type="org:statusType"/> | ||||
<element name="parentId" | <element name="parentId" | |||
type="eppcom:clIDType" minOccurs="0"/> | type="eppcom:clIDType" minOccurs="0"/> | |||
<element name="postalInfo" | <element name="postalInfo" | |||
type="org:chgPostalInfoType" | type="org:chgPostalInfoType" | |||
minOccurs="0" maxOccurs="2"/> | minOccurs="0" maxOccurs="2"/> | |||
<element name="voice" | <element name="voice" | |||
type="contact:e164Type" minOccurs="0"/> | type="org:e164Type" minOccurs="0"/> | |||
<element name="fax" | <element name="fax" | |||
type="contact:e164Type" minOccurs="0"/> | type="org:e164Type" minOccurs="0"/> | |||
<element name="email" | <element name="email" | |||
type="eppcom:minTokenType" minOccurs="0"/> | type="eppcom:minTokenType" minOccurs="0"/> | |||
<element name="url" | <element name="url" | |||
type="anyURI" minOccurs="0"/> | type="anyURI" minOccurs="0"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<complexType name="chgPostalInfoType"> | <complexType name="chgPostalInfoType"> | |||
<sequence> | <sequence> | |||
<element name="name" | <element name="name" | |||
type="contact:postalLineType" minOccurs="0"/> | type="org:postalLineType" minOccurs="0"/> | |||
<element name="addr" | <element name="addr" | |||
type="contact:addrType" minOccurs="0"/> | type="org:addrType" minOccurs="0"/> | |||
</sequence> | </sequence> | |||
<attribute name="type" | <attribute name="type" | |||
type="contact:postalInfoEnumType" use="required"/> | type="org:postalInfoEnumType" use="required"/> | |||
</complexType> | </complexType> | |||
<!-- | <!-- | |||
Child response elements. | Child response elements. | |||
--> | --> | |||
<element name="chkData" type="contact:chkDataType"/> | <element name="chkData" type="org:chkDataType"/> | |||
<element name="creData" type="contact:creDataType"/> | <element name="creData" type="org:creDataType"/> | |||
<element name="infData" type="org:infDataType"/> | <element name="infData" type="org:infDataType"/> | |||
<!-- | <!-- | |||
<check> response elements. | ||||
--> | ||||
<complexType name="chkDataType"> | ||||
<sequence> | ||||
<element name="cd" type="org:checkType" | ||||
maxOccurs="unbounded" /> | ||||
</sequence> | ||||
</complexType> | ||||
<complexType name="checkType"> | ||||
<sequence> | ||||
<element name="id" type="org:checkIDType" /> | ||||
<element name="reason" type="eppcom:reasonType" | ||||
minOccurs="0" /> | ||||
</sequence> | ||||
</complexType> | ||||
<complexType name="checkIDType"> | ||||
<simpleContent> | ||||
<extension base="eppcom:clIDType"> | ||||
<attribute name="avail" type="boolean" | ||||
use="required" /> | ||||
</extension> | ||||
</simpleContent> | ||||
</complexType> | ||||
<!-- | ||||
<info> response elements. | <info> response elements. | |||
--> | --> | |||
<complexType name="infDataType"> | <complexType name="infDataType"> | |||
<sequence> | <sequence> | |||
<element name="id" | <element name="id" | |||
type="eppcom:clIDType"/> | type="eppcom:clIDType"/> | |||
<element name="roid" | <element name="roid" | |||
type="eppcom:roidType"/> | type="eppcom:roidType"/> | |||
<element name="role" | <element name="role" | |||
type="org:roleType"/> | type="org:roleType" maxOccurs="unbounded"/> | |||
<element name="status" | <element name="status" | |||
type="org:statusType"/> | type="org:statusType" maxOccurs="9"/> | |||
<element name="parentId" | <element name="parentId" | |||
type="eppcom:clIDType" minOccurs="0"/> | type="eppcom:clIDType" minOccurs="0"/> | |||
<element name="postalInfo" | <element name="postalInfo" | |||
type="org:postalInfoType" maxOccurs="2"/> | type="org:postalInfoType" minOccurs="0" maxOccurs="2"/> | |||
<element name="voice" | <element name="voice" | |||
type="contact:e164Type" minOccurs="0"/> | type="org:e164Type" minOccurs="0"/> | |||
<element name="fax" | <element name="fax" | |||
type="contact:e164Type" minOccurs="0"/> | type="org:e164Type" minOccurs="0"/> | |||
<element name="email" | <element name="email" | |||
type="eppcom:minTokenType"/> | type="eppcom:minTokenType" minOccurs="0"/> | |||
<element name="url" | <element name="url" | |||
type="anyURI" minOccurs="0"/> | type="anyURI" minOccurs="0"/> | |||
<element name="contact" | <element name="contact" | |||
type="domain:contactType" minOccurs="0" maxOccurs="3"/> | type="org:contactType" minOccurs="0" maxOccurs="unbounded"/> | |||
<element name="clID" | <element name="clID" | |||
type="eppcom:clIDType" minOccurs="0"/> | type="eppcom:clIDType" minOccurs="0"/> | |||
<element name="crID" | <element name="crID" | |||
type="eppcom:clIDType"/> | type="eppcom:clIDType"/> | |||
<element name="crDate" | <element name="crDate" | |||
type="dateTime"/> | type="dateTime"/> | |||
<element name="upID" | <element name="upID" | |||
type="eppcom:clIDType" minOccurs="0"/> | type="eppcom:clIDType" minOccurs="0"/> | |||
<element name="upDate" | <element name="upDate" | |||
type="dateTime" minOccurs="0"/> | type="dateTime" minOccurs="0"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<!-- | ||||
<create> response elements. | ||||
--> | ||||
<complexType name="creDataType"> | ||||
<sequence> | ||||
<element name="id" type="eppcom:clIDType" /> | ||||
<element name="crDate" type="dateTime" /> | ||||
</sequence> | ||||
</complexType> | ||||
<!-- | <!-- | |||
End of schema. | End of schema. | |||
--> | --> | |||
</schema> | </schema> | |||
END | END | |||
6. Internationalization Considerations | 6. Internationalization Considerations | |||
EPP is represented in XML, which provides native support for encoding | EPP is represented in XML, which provides native support for encoding | |||
skipping to change at page 30, line 50 ¶ | skipping to change at page 33, line 41 ¶ | |||
conforming to a registry mechanism described in [RFC3688]. IANA is | conforming to a registry mechanism described in [RFC3688]. IANA is | |||
requested to assignment the following URI. | requested to assignment the following URI. | |||
Registration request for the organization namespace: | Registration request for the organization namespace: | |||
o URI: urn:ietf:params:xml:ns:org-1.0 | o URI: urn:ietf:params:xml:ns:org-1.0 | |||
o Registrant Contact: See the "Author's Address" section of this | o Registrant Contact: See the "Author's Address" section of this | |||
document. | document. | |||
o XML: None. Namespace URIs do not represent an XML specification. | ||||
Registration request for the organization XML schema: | ||||
o URI: urn:ietf:params:xml:ns:org-1.0 | ||||
o Registrant Contact: See the "Author's Address" section of this | ||||
document. | ||||
o XML: See the "Formal Syntax" section of this document. | o XML: See the "Formal Syntax" section of this document. | |||
7.2. EPP Extension Registry | 7.2. EPP Extension Registry | |||
The EPP extension described in this document should be registered by | The EPP extension described in this document should be registered by | |||
the IANA in the EPP Extension Registry described in [RFC7451]. The | the IANA in the EPP Extension Registry described in [RFC7451]. The | |||
details of the registration are as follows: | details of the registration are as follows: | |||
Name of Extension: Organization Object Extension | Name of Extension: Organization Object Extension | |||
Document status: Standards Track | Document status: Standards Track | |||
Reference: (insert reference to RFC version of this document) | Reference: (insert reference to RFC version of this document) | |||
Registrant Name and Email Address: See the "Author's Address" section | Registrant Name and Email Address: IESG | |||
of this document. | ||||
TLDs: any | TLDs: any | |||
IPR Disclosure: none | IPR Disclosure: none | |||
Status: active | Status: active | |||
Notes: none | Notes: none | |||
7.3. Role Values Registry | 7.3. Role Values Registry | |||
The following values should be registered by the IANA in the "EPP | The following values should be registered by the IANA in the "EPP | |||
Organization Role Values" registry: | Organization Role Values" registry. The registration policy for this | |||
registry is "Expert Review" [RFC8126]. | ||||
Value: registrar | 7.3.1. Registration Template | |||
Type: role | Value: the string value being registered. | |||
Description: Brief description of the organization role values. | ||||
Registrant Name: For Standards Track RFCs, state "IESG". For others, | ||||
give the name of the responsible party. | ||||
Registrant Contact Information: an email address, postal address, or | ||||
some other information to be used to contact the registrant. | ||||
7.3.2. Initial Registry Contents | ||||
Value: registrar | ||||
Description: The entity object instance represents the authority | Description: The entity object instance represents the authority | |||
responsible for the registration in the registry. | responsible for the registration in the registry. | |||
Registrant Name: IESG | Registrant Name: IESG | |||
Registrant Contact Information: iesg@ietf.org | Registrant Contact Information: iesg@ietf.org | |||
Value: reseller | Value: reseller | |||
Type: role | ||||
Description: The entity object instance represents a third party | Description: The entity object instance represents a third party | |||
through which the registration was conducted (i.e., not the | through which the registration was conducted (i.e., not the | |||
registry or registrar). | registry or registrar). | |||
Registrant Name: IESG | Registrant Name: IESG | |||
Registrant Contact Information: iesg@ietf.org | Registrant Contact Information: iesg@ietf.org | |||
Value: privacyproxy | Value: privacyproxy | |||
Type: role | ||||
Description: The entity object instance represents a third-party who | Description: The entity object instance represents a third-party who | |||
could help to register a domain without exposing the registrants' | could help to register a domain without exposing the registrants' | |||
private information.. | private information.. | |||
Registrant Name: IESG | Registrant Name: IESG | |||
Registrant Contact Information: iesg@ietf.org | Registrant Contact Information: iesg@ietf.org | |||
8. Implementation Status | 8. Implementation Status | |||
skipping to change at page 32, line 41 ¶ | skipping to change at page 35, line 49 ¶ | |||
be, a catalog of available implementations or their features. | be, a catalog of available implementations or their features. | |||
Readers are advised to note that other implementations may exist. | Readers are advised to note that other implementations may exist. | |||
According to [RFC6982], "this will allow reviewers and working groups | According to [RFC6982], "this will allow reviewers and working groups | |||
to assign due consideration to documents that have the benefit of | to assign due consideration to documents that have the benefit of | |||
running code, which may serve as evidence of valuable experimentation | running code, which may serve as evidence of valuable experimentation | |||
and feedback that have made the implemented protocols more mature. | and feedback that have made the implemented protocols more mature. | |||
It is up to the individual working groups to use this information as | It is up to the individual working groups to use this information as | |||
they see fit". | they see fit". | |||
CNNIC is in the process of development research to update EPP | CNNIC and Net::DRI (Patrick Mevzek) are in the process of development | |||
organization mapping from reseller mapping. Verisign is also | research to update organization extension from reseller extension. | |||
planning to implement this document. | ||||
Dns Belgium is planning to implement it after the publication of this | ||||
document. | ||||
8.1. CNNIC Implementation | 8.1. CNNIC Implementation | |||
Organization: CNNIC | Organization: CNNIC | |||
Name: EPP Organization Mapping | Name: EPP Organization Mapping | |||
Description: CNNIC is trying to update EPP organization mapping from | Description: CNNIC is trying to update EPP organization mapping from | |||
previous reseller mapping according to this document. | previous reseller mapping according to this document. | |||
Level of maturity: Research. | Level of maturity: Research. | |||
Coverage: EPP organization mapping. | Coverage: EPP organization mapping. | |||
Contact: zhouguiqing@cnnic.cn | Contact: zhouguiqing@cnnic.cn | |||
8.2. Reseller Extension | 8.2. Reseller Extension | |||
skipping to change at page 33, line 16 ¶ | skipping to change at page 36, line 26 ¶ | |||
Level of maturity: Research. | Level of maturity: Research. | |||
Coverage: EPP organization mapping. | Coverage: EPP organization mapping. | |||
Contact: zhouguiqing@cnnic.cn | Contact: zhouguiqing@cnnic.cn | |||
8.2. Reseller Extension | 8.2. Reseller Extension | |||
This document was updated from draft-ietf-regext-reseller. CNNIC, | This document was updated from draft-ietf-regext-reseller. CNNIC, | |||
Verisign and Net::DRI (Patrick Mevzek) have already implemented the | VeriSign and Net::DRI (Patrick Mevzek) have already implemented the | |||
reseller mapping. | reseller mapping. | |||
9. Security Considerations | 9. Security Considerations | |||
The object mapping extension described in this document does not | The object mapping extension described in this document does not | |||
provide any other security services or introduce any additional | provide any other security services or introduce any additional | |||
considerations beyond those described by [RFC5730] or those caused by | considerations beyond those described by [RFC5730] or those caused by | |||
the protocol layers used by EPP. The security considerations | the protocol layers used by EPP. The security considerations | |||
described in these other specifications apply to this specification | described in these other specifications apply to this specification | |||
as well. | as well. | |||
skipping to change at page 34, line 14 ¶ | skipping to change at page 37, line 26 ¶ | |||
[RFC6982] Sheffer, Y. and A. Farrel, "Improving Awareness of Running | [RFC6982] Sheffer, Y. and A. Farrel, "Improving Awareness of Running | |||
Code: The Implementation Status Section", RFC 6982, | Code: The Implementation Status Section", RFC 6982, | |||
DOI 10.17487/RFC6982, July 2013, | DOI 10.17487/RFC6982, July 2013, | |||
<https://www.rfc-editor.org/info/rfc6982>. | <https://www.rfc-editor.org/info/rfc6982>. | |||
[RFC7451] Hollenbeck, S., "Extension Registry for the Extensible | [RFC7451] Hollenbeck, S., "Extension Registry for the Extensible | |||
Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451, | Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451, | |||
February 2015, <https://www.rfc-editor.org/info/rfc7451>. | February 2015, <https://www.rfc-editor.org/info/rfc7451>. | |||
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | ||||
Writing an IANA Considerations Section in RFCs", BCP 26, | ||||
RFC 8126, DOI 10.17487/RFC8126, June 2017, | ||||
<https://www.rfc-editor.org/info/rfc8126>. | ||||
[W3C.REC-xml-20040204] | [W3C.REC-xml-20040204] | |||
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 (Third | F. Yergeau, ""Extensible Markup Language (XML) 1.0 (Third | |||
Edition)", World Wide Web Consortium FirstEdition REC-xml- | Edition)", World Wide Web Consortium FirstEdition REC-xml- | |||
20040204", February 2004, | 20040204", February 2004, | |||
<http://www.w3.org/TR/2004/REC-xml-20040204>. | <http://www.w3.org/TR/2004/REC-xml-20040204>. | |||
[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 | ""XML Schema Part 1: Structures Second Edition", World | |||
skipping to change at page 35, line 44 ¶ | skipping to change at page 39, line 15 ¶ | |||
Reseller object or entity object with multiple roles? | Reseller object or entity object with multiple roles? | |||
Organization WG document-00: Change to a generic organization object | Organization WG document-00: Change to a generic organization object | |||
mapping. | mapping. | |||
Organization WG document-01: Added "Implementation Status" section. | Organization WG document-01: Added "Implementation Status" section. | |||
Organization WG document-02: Accepted some of the feedbacks on the | Organization WG document-02: Accepted some of the feedbacks on the | |||
mailing list. | mailing list. | |||
Organization WG document-03: | ||||
* Updated section 3.2, changed the structure of organization | ||||
role. | ||||
* Updated section 4.2.5 for the "add", "rem" and "chg" example. | ||||
* Updated section 5 of formal syntax. | ||||
* Updated section 7.2 for the registration template and initial | ||||
values. | ||||
* Updated section 8 of implementation status. | ||||
Authors' Addresses | Authors' Addresses | |||
Linlin Zhou | Linlin Zhou | |||
CNNIC | CNNIC | |||
4 South 4th Street, Zhongguancun, Haidian District | 4 South 4th Street, Zhongguancun, Haidian District | |||
Beijing, Beijing 100190 | Beijing, Beijing 100190 | |||
China | China | |||
Phone: +86 10 5881 2677 | Phone: +86 10 5881 2677 | |||
Email: zhoulinlin@cnnic.cn | Email: zhoulinlin@cnnic.cn | |||
Ning Kong | Ning Kong | |||
End of changes. 87 change blocks. | ||||
217 lines changed or deleted | 375 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |