draft-ietf-regext-epp-registry-maintenance-12.txt   draft-ietf-regext-epp-registry-maintenance-13.txt 
Internet Engineering Task Force (IETF) T. Sattler Internet Engineering Task Force (IETF) T. Sattler
Internet-Draft Internet-Draft
Intended status: Standards Track R. Carney Intended status: Standards Track R. Carney
Expires: June 30, 2021 J. Kolker Expires: October 14, 2021 J. Kolker
GoDaddy Inc. GoDaddy Inc.
March 27, 2021 April 15, 2021
Registry Maintenance Notifications for the Registry Maintenance Notifications for the
Extensible Provisioning Protocol (EPP) Extensible Provisioning Protocol (EPP)
draft-ietf-regext-epp-registry-maintenance-12 draft-ietf-regext-epp-registry-maintenance-13
Abstract Abstract
This document describes an Extensible Provision Protocol (EPP) This document describes an Extensible Provision Protocol (EPP)
mapping for registry's maintenance notifications. mapping for registry's maintenance notifications.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 June 30, 2021. This Internet-Draft will expire on October 14, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2021 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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
skipping to change at page 2, line 21 skipping to change at page 2, line 21
3.2. Dates and Times . . . . . . . . . . . . . . . . . . . . . 4 3.2. Dates and Times . . . . . . . . . . . . . . . . . . . . . 4
3.3. Maintenance Elements . . . . . . . . . . . . . . . . . . 4 3.3. Maintenance Elements . . . . . . . . . . . . . . . . . . 4
4. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 6 4. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 6
4.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 6 4.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 6
4.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 7 4.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 7
4.1.2. EPP <transfer> Command . . . . . . . . . . . . . . . 7 4.1.2. EPP <transfer> Command . . . . . . . . . . . . . . . 7
4.1.3. EPP <info> Command . . . . . . . . . . . . . . . . . 7 4.1.3. EPP <info> Command . . . . . . . . . . . . . . . . . 7
4.1.3.1. Info Maintenance Item . . . . . . . . . . . . . . . 7 4.1.3.1. Info Maintenance Item . . . . . . . . . . . . . . . 7
4.1.3.2. Info Maintenance List . . . . . . . . . . . . . . . 8 4.1.3.2. Info Maintenance List . . . . . . . . . . . . . . . 8
4.1.4. EPP <poll> Command . . . . . . . . . . . . . . . . . 10 4.1.4. EPP <poll> Command . . . . . . . . . . . . . . . . . 10
4.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 11 4.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 12
4.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 12 4.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 12
4.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 12 4.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 12
4.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 12 4.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 12
4.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 12 4.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 12
4.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 12 4.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 12
5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 12 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 12
5.1. Registry Maintenance EPP Mapping Schema . . . . . . . . . 12 5.1. Registry Maintenance EPP Mapping Schema . . . . . . . . . 12
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
6.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 17 6.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 17
6.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 17 6.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 17
7. Security Considerations . . . . . . . . . . . . . . . . . . . 18 7. Security Considerations . . . . . . . . . . . . . . . . . . . 18
8. Implementation Status . . . . . . . . . . . . . . . . . . . . 18 8. Implementation Status . . . . . . . . . . . . . . . . . . . . 18
8.1. GoDaddy Registry . . . . . . . . . . . . . . . . . . . . 18 8.1. GoDaddy Registry . . . . . . . . . . . . . . . . . . . . 18
8.2. TANGO Registry Services . . . . . . . . . . . . . . . . . 18
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 19
9.1. Normative References . . . . . . . . . . . . . . . . . . 19 9.1. Normative References . . . . . . . . . . . . . . . . . . 19
9.2. Informative References . . . . . . . . . . . . . . . . . 20 9.2. Informative References . . . . . . . . . . . . . . . . . 20
Appendix A. Change History . . . . . . . . . . . . . . . . . . . 20 Appendix A. Change History . . . . . . . . . . . . . . . . . . . 20
A.1. Change from draft-sattler-epp-poll-maintenance-response to A.1. Change from draft-sattler-epp-poll-maintenance-response to
draft-sattler-epp-registry-maintenance . . . . . . . . . 20 draft-sattler-epp-registry-maintenance . . . . . . . . . 20
A.2. Change from draft-sattler-epp-registry-maintenance to A.2. Change from draft-sattler-epp-registry-maintenance to
draft-ietf-regext-epp-registry-maintenance . . . . . . . 20 draft-ietf-regext-epp-registry-maintenance . . . . . . . 20
A.3. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 20 A.3. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 21
A.4. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 20 A.4. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 21
A.5. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 20 A.5. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 21
A.6. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 20 A.6. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 21
A.7. Change from 04 to 05 . . . . . . . . . . . . . . . . . . 20 A.7. Change from 04 to 05 . . . . . . . . . . . . . . . . . . 21
A.8. Change from 05 to 06 . . . . . . . . . . . . . . . . . . 20 A.8. Change from 05 to 06 . . . . . . . . . . . . . . . . . . 21
A.9. Change from 06 to 07 . . . . . . . . . . . . . . . . . . 21 A.9. Change from 06 to 07 . . . . . . . . . . . . . . . . . . 21
A.10. Change from 07 to 08 . . . . . . . . . . . . . . . . . . 21 A.10. Change from 07 to 08 . . . . . . . . . . . . . . . . . . 21
A.11. Change from 08 to 09 . . . . . . . . . . . . . . . . . . 21 A.11. Change from 08 to 09 . . . . . . . . . . . . . . . . . . 21
A.12. Change from 09 to 10 . . . . . . . . . . . . . . . . . . 21 A.12. Change from 09 to 10 . . . . . . . . . . . . . . . . . . 21
A.13. Change from 10 to 11 . . . . . . . . . . . . . . . . . . 21 A.13. Change from 10 to 11 . . . . . . . . . . . . . . . . . . 22
A.14. Change from 11 to 12 . . . . . . . . . . . . . . . . . . 21 A.14. Change from 11 to 12 . . . . . . . . . . . . . . . . . . 22
A.15. Change from 12 to 13 . . . . . . . . . . . . . . . . . . 22
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 22 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 22
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22
1. Introduction 1. Introduction
Registries usually conduct maintenances and inform registrars in Registries usually conduct maintenances and inform registrars in
different ways. Given the DNS namespace expansion, it is now different ways. Given the DNS namespace expansion, it is now
desirable to provide methods for EPP servers to notify EPP clients desirable to provide methods for EPP servers to notify EPP clients
and EPP clients to query EPP servers for upcoming maintenances. and EPP clients can query EPP servers for upcoming maintenances.
This document describes an extension mapping for version 1.0 of the This document describes an extension mapping for version 1.0 of the
Extensible Provision Protocol [RFC5730]. This mapping provides a Extensible Provision Protocol [RFC5730]. This mapping provides a
mechanism by which EPP servers may notify and EPP clients to query mechanism by which EPP servers may notify and EPP clients to query
upcoming maintenances. upcoming maintenances.
1.1. Terminology and Definitions 1.1. Terminology and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
skipping to change at page 4, line 40 skipping to change at page 4, line 40
<maint:id> <maint:id>
The server unique identifier for the maintenance with the OPTIONAL The server unique identifier for the maintenance with the OPTIONAL
"name" attribute that includes a human-readable name of the "name" attribute that includes a human-readable name of the
maintenance. The server unique identifier SHALL NOT be changed if maintenance. The server unique identifier SHALL NOT be changed if
the maintenance is updated or deleted. When the "name" attribute the maintenance is updated or deleted. When the "name" attribute
is set, the OPTIONAL "lang" attribute MAY be present to identify is set, the OPTIONAL "lang" attribute MAY be present to identify
the language if the negotiated value is something other than the the language if the negotiated value is something other than the
default value of "en" (English). default value of "en" (English).
<maint:type> <maint:type>
The OPTIONAL type of the maintenance that has the possible set of Zero or more OPTIONAL types of the maintenance that has the
values defined by server policy. possible set of values defined by server policy, such as
"Routine Maintenance", "Software Update", "Software Upgrade", or
"Extended Outage".
<maint:pollType> <maint:pollType>
The OPTIONAL <maint:pollType> element for a Registry Maintenance The OPTIONAL <maint:pollType> element for a Registry Maintenance
Notification poll message; values MUST either be "create", Notification poll message; values MUST either be "create",
"update", "delete", "courtesy", or "end". For the "create" and "update", "delete", "courtesy", or "end". For the "create" and
"update" types, the server includes the state of the maintenance "update" types, the server includes the state of the maintenance
after the create or update. For the "delete" type, the server after the create or update. For the "delete" type, the server
includes the state of the maintenance prior to the delete. The includes the state of the maintenance prior to the delete. The
"courtesy" provides a reminder of a maintenance and the "end" "courtesy" provides a reminder of a maintenance and the "end"
provides a notification of the end of the maintenance without provides a notification of the end of the maintenance without
skipping to change at page 5, line 18 skipping to change at page 5, line 18
<maint:system> <maint:system>
The <maint:system> element contains the following child The <maint:system> element contains the following child
elements: elements:
<maint:name> <maint:name>
The name of the affected system, such as "EPP", "WHOIS", The name of the affected system, such as "EPP", "WHOIS",
"DNS", "Portal", etc. "DNS", "Portal", etc.
<maint:host> <maint:host>
The affected maintained system contains the hostname, which The OPTIONAL affected maintained system's hostname, which
SHALL be an A-label according to [RFC5891]. SHALL be an A-label according to [RFC5891].
<maint:impact> <maint:impact>
The impact level; the values MUST either be "full" or The impact level; the values MUST either be "full",
"partial". If access is intermittently unavailable, it is "partial", or "none". If access is intermittently
"partial". If access is completely unavailable it, is unavailable, it is "partial". If access is completely
"full". unavailable, it is "full". If access is not affected, it is
"none".
<maint:environment> <maint:environment>
The type of the affected system; the attribute "type" is The type of the affected system; the attribute "type" is
REQUIRED and MUST either be "production", "ote", "staging", REQUIRED and MUST either be "production", "ote", "staging",
"dev" or "custom". For extensibility, the <maint:environment> "dev" or "custom". For extensibility, the <maint:environment>
element includes the OPTIONAL "name" attribute that can define element includes the OPTIONAL "name" attribute that can define
the name of the custom environment when the <maint:environment> the name of the custom environment when the <maint:environment>
element "type" attribute has the "custom" value. For example, element "type" attribute has the "custom" value. For example,
for the custom "marketing" environment, the <maint:environment> for the custom "marketing" environment, the <maint:environment>
element should be: element should be:
skipping to change at page 5, line 51 skipping to change at page 5, line 52
<maint:end> <maint:end>
The date and time of the end of the maintenance. The The date and time of the end of the maintenance. The
<maint:end> element MUST be equal to or greater than the <maint:end> element MUST be equal to or greater than the
<maint:start> element. <maint:start> element.
<maint:reason> <maint:reason>
The reason behind the maintenance; the values MUST either be The reason behind the maintenance; the values MUST either be
"planned" or "emergency". "planned" or "emergency".
<maint:detail> <maint:detail>
The OPTIONAL URI to detailed maintenance description. The OPTIONAL URI to detailed maintenance description, formatted
according to [RFC8820].
<maint:description> <maint:description>
The OPTIONAL free-form description of the maintenance without Zero or more OPTIONAL free-form descriptions of the maintenance
having to create and traverse an external resource defined by without having to create and traverse an external resource
the <maint:detail> element. The OPTIONAL "lang" attribute MAY defined by the <maint:detail> element. The OPTIONAL "lang"
be present to identify the language if the negotiated value is attribute MAY be present to identify the language if the
something other then the default value of "en" (English). The negotiated value is something other then the default value of
OPTIONAL "type" attribute MAY be present to identify the "en" (English). The OPTIONAL "type" attribute MAY be present to
format of the description. It MUST either be "plain" for plain identify the format of the description. It MUST either be
text or "html" HTML text that is defined in [W3C-HTML5] and "plain" for plain text or "html" HTML text that is defined in
XML-escaped, with a default value of "plain". [W3C-HTML5] and XML-escaped, with a default value of "plain".
<maint:tlds> <maint:tlds>
The OPTIONAL <maint:tlds> element contains one or more The OPTIONAL <maint:tlds> element contains one or more
<maint:tld> child elements. If the <maint:tlds> is not present, <maint:tld> child elements. If the <maint:tlds> is not present,
the entire system is affected. the entire system is affected.
<maint:tld> <maint:tld>
The affected top-level domain or registry zone, which SHALL The affected top-level domain or registry zone, which SHALL
be an A-label according to [RFC5891]. be an A-label according to [RFC5891].
skipping to change at page 8, line 17 skipping to change at page 8, 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: <maint:infData S: <maint:infData
S: xmlns:maint="urn:ietf:params:xml:ns:epp:maintenance-0.3"> S: xmlns:maint="urn:ietf:params:xml:ns:epp:maintenance-0.3">
S: <maint:item> S: <maint:item>
S: <maint:id>2e6df9b0-4092-4491-bcc8-9fb2166dcee6 S: <maint:id>2e6df9b0-4092-4491-bcc8-9fb2166dcee6
S: </maint:id> S: </maint:id>
S: <maint:type lang="en">Routine Maintenance</maint:type>
S: <maint:systems> S: <maint:systems>
S: <maint:system> S: <maint:system>
S: <maint:name>EPP</maint:name> S: <maint:name>EPP</maint:name>
S: <maint:host>epp.registry.example S: <maint:host>epp.registry.example
S: </maint:host> S: </maint:host>
S: <maint:impact>full</maint:impact> S: <maint:impact>full</maint:impact>
S: </maint:system> S: </maint:system>
S: </maint:systems> S: </maint:systems>
S: <maint:environment type="production"/> S: <maint:environment type="production"/>
S: <maint:start>2020-12-30T06:00:00Z</maint:start> S: <maint:start>2021-12-30T06:00:00Z</maint:start>
S: <maint:end>2020-12-30T14:25:57Z</maint:end> S: <maint:end>2021-12-30T14:25:57Z</maint:end>
S: <maint:reason>planned</maint:reason> S: <maint:reason>planned</maint:reason>
S: <maint:detail> S: <maint:detail>
S: https://www.registry.example/notice?123 S: https://www.registry.example/notice?123
S: </maint:detail> S: </maint:detail>
S: <maint:description lang="en">free text S: <maint:description lang="en">free-text
S: </maint:description>
S: <maint:description lang="de">Freitext
S: </maint:description> S: </maint:description>
S: <maint:tlds> S: <maint:tlds>
S: <maint:tld>example</maint:tld> S: <maint:tld>example</maint:tld>
S: <maint:tld>test</maint:tld> S: <maint:tld>test</maint:tld>
S: </maint:tlds> S: </maint:tlds>
S: <maint:intervention> S: <maint:intervention>
S: <maint:connection>false</maint:connection> S: <maint:connection>false</maint:connection>
S: <maint:implementation>false</maint:implementation> S: <maint:implementation>false</maint:implementation>
S: </maint:intervention> S: </maint:intervention>
S: <maint:crDate>2020-09-08T22:10:00Z</maint:crDate> S: <maint:crDate>2021-09-08T22:10:00Z</maint:crDate>
S: </maint:item> S: </maint:item>
S: </maint:infData> S: </maint:infData>
S: </resData> S: </resData>
S: <trID> S: <trID>
S: <clTRID>ABC-12345</clTRID> S: <clTRID>ABC-12345</clTRID>
S: <svTRID>54321-XYZ</svTRID> S: <svTRID>54321-XYZ</svTRID>
S: </trID> S: </trID>
S: </response> S: </response>
S:</epp> S:</epp>
skipping to change at page 10, line 4 skipping to change at page 10, line 6
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: <maint:infData S: <maint:infData
S: xmlns:maint="urn:ietf:params:xml:ns:epp:maintenance-0.3"> S: xmlns:maint="urn:ietf:params:xml:ns:epp:maintenance-0.3">
S: <maint:list> S: <maint:list>
S: <maint:listItem> S: <maint:listItem>
S: <maint:id>2e6df9b0-4092-4491-bcc8-9fb2166dcee6 S: <maint:id>2e6df9b0-4092-4491-bcc8-9fb2166dcee6
S: </maint:id> S: </maint:id>
S: <maint:start>2020-12-30T06:00:00Z</maint:start> S: <maint:start>2021-12-30T06:00:00Z</maint:start>
S: <maint:end>2020-12-30T07:00:00Z</maint:end> S: <maint:end>2021-12-30T07:00:00Z</maint:end>
S: <maint:crDate>2020-09-08T22:10:00Z</maint:crDate> S: <maint:crDate>2021-09-08T22:10:00Z</maint:crDate>
S: </maint:listItem> S: </maint:listItem>
S: <maint:listItem> S: <maint:listItem>
S: <maint:id>91e9dabf-c4e9-4c19-a56c-78e3e89c2e2f S: <maint:id>91e9dabf-c4e9-4c19-a56c-78e3e89c2e2f
S: </maint:id> S: </maint:id>
S: <maint:start>2021-02-15T04:30:00Z</maint:start> S: <maint:start>2021-12-15T04:30:00Z</maint:start>
S: <maint:end>2021-02-15T05:30:00Z</maint:end> S: <maint:end>2021-12-15T05:30:00Z</maint:end>
S: <maint:crDate>2020-09-08T22:11:00Z</maint:crDate> S: <maint:crDate>2021-09-08T22:11:00Z</maint:crDate>
S: <maint:upDate>2020-10-17T15:00:00Z</maint:upDate> S: <maint:upDate>2021-10-17T15:00:00Z</maint:upDate>
S: </maint:listItem> S: </maint:listItem>
S: </maint:list> S: </maint:list>
S: </maint:infData> S: </maint:infData>
S: </resData> S: </resData>
S: <trID> S: <trID>
S: <clTRID>ABC-12345</clTRID> S: <clTRID>ABC-12345</clTRID>
S: <svTRID>54321-XYZ</svTRID> S: <svTRID>54321-XYZ</svTRID>
S: </trID> S: </trID>
S: </response> S: </response>
S:</epp> S:</epp>
4.1.4. EPP <poll> Command 4.1.4. EPP <poll> Command
The EPP <poll> command and response is defined in Section 2.9.2.3 of The EPP <poll> command and response is defined in Section 2.9.2.3 of
[RFC5730]. The Registry Maintenance Notification is included in the [RFC5730]. The Registry Maintenance Notification is included in the
EPP <poll> response of [RFC5730]. EPP <poll> response of [RFC5730].
For the Registry Maintenance Notification, there are three types of For the Registry Maintenance Notification, there are five types of
poll messages, defined by the <maint:pollType> element in Section poll messages, defined by the <maint:pollType> element in Section
3.3. A poll message applies when a maintenance is created, updated, 3.3. A poll message applies when a maintenance is created, updated or
or deleted. In the case of a Registry Maintenance specific message, deleted. A courtesy poll message can be sent as a reminder of
a <maint:infData> element will be included within the <resData> an impending maintenance. An end poll message can be sent when the
element of the standard <poll> response. The <maint:infData> element maintenance is completed. In the case of a Registry Maintenance
contains the <maint:item> element defined in Section 3.3. specific message, a <maint:infData> element will be included within
the <resData> element of the standard <poll> response. The
<maint:infData> element contains the <maint:item> element defined in
Section 3.3.
Example <poll> command: Example <poll> 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: <poll op="req"/> C: <poll op="req"/>
C: <clTRID>ABC-12345</clTRID> C: <clTRID>ABC-12345</clTRID>
C: </command> C: </command>
C:</epp> C:</epp>
skipping to change at page 10, line 49 skipping to change at page 11, line 4
Example <poll> command: Example <poll> 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: <poll op="req"/> C: <poll op="req"/>
C: <clTRID>ABC-12345</clTRID> C: <clTRID>ABC-12345</clTRID>
C: </command> C: </command>
C:</epp> C:</epp>
Example <poll> response: Example <poll> 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="1301"> S: <result code="1301">
S: <msg>Command completed successfully; ack to dequeue</msg> S: <msg>Command completed successfully; ack to dequeue</msg>
S: </result> S: </result>
S: <msgQ count="1" id="12345"> S: <msgQ count="1" id="12345">
S: <qDate>2020-10-08T22:10:00Z</qDate> S: <qDate>2021-10-08T22:10:00Z</qDate>
S: <msg lang="en">Registry Maintenance Notification</msg> S: <msg lang="en">Registry Maintenance Notification</msg>
S: </msgQ> S: </msgQ>
S: <resData> S: <resData>
S: <maint:infData S: <maint:infData
S: xmlns:maint="urn:ietf:params:xml:ns:epp:maintenance-0.3"> S: xmlns:maint="urn:ietf:params:xml:ns:epp:maintenance-0.3">
S: <maint:item> S: <maint:item>
S: <maint:id>2e6df9b0-4092-4491-bcc8-9fb2166dcee6</maint:id> S: <maint:id>2e6df9b0-4092-4491-bcc8-9fb2166dcee6</maint:id>
S: <maint:pollType>create</maint:pollType> S: <maint:pollType>create</maint:pollType>
S: <maint:systems> S: <maint:systems>
S: <maint:system> S: <maint:system>
S: <maint:name>EPP</maint:name> S: <maint:name>EPP</maint:name>
S: <maint:host>epp.registry.example S: <maint:host>epp.registry.example
S: </maint:host> S: </maint:host>
S: <maint:impact>full</maint:impact> S: <maint:impact>full</maint:impact>
S: </maint:system> S: </maint:system>
S: </maint:systems> S: </maint:systems>
S: <maint:environment type="production"/> S: <maint:environment type="production"/>
S: <maint:start>2020-12-30T06:00:00Z</maint:start> S: <maint:start>2021-12-30T06:00:00Z</maint:start>
S: <maint:end>2020-12-30T14:25:57Z</maint:end> S: <maint:end>2021-12-30T14:25:57Z</maint:end>
S: <maint:reason>planned</maint:reason> S: <maint:reason>planned</maint:reason>
S: <maint:detail> S: <maint:detail>
S: https://www.registry.example/notice?123 S: https://www.registry.example/notice?123
S: </maint:detail> S: </maint:detail>
S: <maint:tlds> S: <maint:tlds>
S: <maint:tld>example</maint:tld> S: <maint:tld>example</maint:tld>
S: <maint:tld>test</maint:tld> S: <maint:tld>test</maint:tld>
S: </maint:tlds> S: </maint:tlds>
S: <maint:intervention> S: <maint:intervention>
S: <maint:connection>false</maint:connection> S: <maint:connection>false</maint:connection>
S: <maint:implementation>false</maint:implementation> S: <maint:implementation>false</maint:implementation>
S: </maint:intervention> S: </maint:intervention>
S: <maint:crDate>2020-10-08T22:10:00Z</maint:crDate> S: <maint:crDate>2021-10-08T22:10:00Z</maint:crDate>
S: </maint:item> S: </maint:item>
S: </maint:infData> S: </maint:infData>
S: </resData> S: </resData>
S: <trID> S: <trID>
S: <clTRID>ABC-12345</clTRID> S: <clTRID>ABC-12345</clTRID>
S: <svTRID>54321-XYZ</svTRID> S: <svTRID>54321-XYZ</svTRID>
S: </trID> S: </trID>
S: </response> S: </response>
S:</epp> S:</epp>
skipping to change at page 14, line 22 skipping to change at page 14, line 31
<element name="crDate" type="dateTime"/> <element name="crDate" type="dateTime"/>
<element name="upDate" type="dateTime" minOccurs="0"/> <element name="upDate" type="dateTime" minOccurs="0"/>
</sequence> </sequence>
</complexType> </complexType>
<!-- <!--
Attributes associated with the maintenance info response Attributes associated with the maintenance info response
--> -->
<complexType name="maintDataType"> <complexType name="maintDataType">
<sequence> <sequence>
<element name="id" type="maint:idType"/> <element name="id" type="maint:idType"/>
<element name="type" type="maint:typeType" minOccurs="0"/> <element name="type" type="maint:typeType" minOccurs="0"
maxOccurs="unbounded"/>
<element name="pollType" type="maint:pollType" minOccurs="0"/> <element name="pollType" type="maint:pollType" minOccurs="0"/>
<element name="systems" type="maint:systemsType"/> <element name="systems" type="maint:systemsType"/>
<element name="environment" type="maint:envType"/> <element name="environment" type="maint:envType"/>
<element name="start" type="dateTime"/> <element name="start" type="dateTime"/>
<element name="end" type="dateTime"/> <element name="end" type="dateTime"/>
<element name="reason" type="maint:reasonEnum"/> <element name="reason" type="maint:reasonEnum"/>
<element name="detail" type="anyURI" minOccurs="0"/> <element name="detail" type="anyURI" minOccurs="0"/>
<element name="description" type="maint:descriptionType" <element name="description" type="maint:descriptionType"
minOccurs="0"/> minOccurs="0" maxOccurs="unbounded"/>
<element name="tlds" type="maint:tldsType" minOccurs="0"/> <element name="tlds" type="maint:tldsType" minOccurs="0"/>
<element name="intervention" type="maint:interventionType" <element name="intervention" type="maint:interventionType"
minOccurs="0"/> minOccurs="0"/>
<element name="crDate" type="dateTime"/> <element name="crDate" type="dateTime"/>
<element name="upDate" type="dateTime" minOccurs="0"/> <element name="upDate" type="dateTime" minOccurs="0"/>
</sequence> </sequence>
</complexType> </complexType>
<!-- <!--
systems element systems element
--> -->
skipping to change at page 15, line 21 skipping to change at page 15, line 21
<enumeration value="delete"/> <enumeration value="delete"/>
<enumeration value="courtesy"/> <enumeration value="courtesy"/>
<enumeration value="end"/> <enumeration value="end"/>
</restriction> </restriction>
</simpleType> </simpleType>
<!-- <!--
Enumerated list of impacts Enumerated list of impacts
--> -->
<simpleType name="impactEnum"> <simpleType name="impactEnum">
<restriction base="token"> <restriction base="token">
<enumeration value="none"/>
<enumeration value="partial"/> <enumeration value="partial"/>
<enumeration value="full"/> <enumeration value="full"/>
</restriction> </restriction>
</simpleType> </simpleType>
<!-- <!--
description element description element
--> -->
<complexType name="descriptionType"> <complexType name="descriptionType">
<simpleContent> <simpleContent>
<extension base="string"> <extension base="string">
skipping to change at page 16, line 10 skipping to change at page 16, line 10
<attribute name="lang" type="language" default="en"/> <attribute name="lang" type="language" default="en"/>
</extension> </extension>
</simpleContent> </simpleContent>
</complexType> </complexType>
<!-- <!--
system element system element
--> -->
<complexType name="systemType"> <complexType name="systemType">
<sequence> <sequence>
<element name="name" type="token"/> <element name="name" type="token"/>
<element name="host" type="eppcom:labelType"/> <element name="host" type="eppcom:labelType" minOccurs="0"/>
<element name="impact" type="maint:impactEnum"/> <element name="impact" type="maint:impactEnum"/>
</sequence> </sequence>
</complexType> </complexType>
<!-- <!--
Enumerated list of environments Enumerated list of environments
--> -->
<simpleType name="envEnum"> <simpleType name="envEnum">
<restriction base="token"> <restriction base="token">
<enumeration value="production"/> <enumeration value="production"/>
<enumeration value="ote"/> <enumeration value="ote"/>
skipping to change at page 19, line 20 skipping to change at page 19, line 20
Coverage: All aspects of the protocol according to the draft version Coverage: All aspects of the protocol according to the draft version
2 are implemented with further updates to come. 2 are implemented with further updates to come.
Licensing: Proprietary Licensing: Proprietary
Contact: quoc@registry.godaddy Contact: quoc@registry.godaddy
URL: https://registry.godaddy URL: https://registry.godaddy
8.2. TANGO Registry Services
Name: TANGO Registry Services
Description: TANGO Registry Services provides maintenance
notifications to their registrars.
Level of maturity: Beta
Coverage: All aspects of the protocol according to the draft version
12 are implemented with further updates to come.
Licensing: Proprietary
Contact: Michael.Bauland@knipp.de
URL: https://tango-rs.com
9. References 9. References
9.1. Normative References 9.1. Normative References
[I.D.draft-ietf-regext-unhandled-namespaces] [I.D.draft-ietf-regext-unhandled-namespaces]
Gould, J. and Casanova, M., "Extensible Provisioning Gould, J. and Casanova, M., "Extensible Provisioning
Protocol (EPP) Unhandled Namespaces", Protocol (EPP) Unhandled Namespaces",
<https://datatracker.ietf.org/doc/draft-ietf-regext- <https://datatracker.ietf.org/doc/draft-ietf-regext-
unhandled-namespaces/> (work in progress), February 2021. unhandled-namespaces/> (work in progress), February 2021.
skipping to change at page 20, line 14 skipping to change at page 20, line 36
[RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running
Code: The Implementation Status Section", BCP 205, Code: The Implementation Status Section", BCP 205,
RFC 7942, DOI 10.17487/RFC7942, July 2016, RFC 7942, DOI 10.17487/RFC7942, July 2016,
<https://www.rfc-editor.org/info/rfc7942>. <https://www.rfc-editor.org/info/rfc7942>.
[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>.
[RFC8820] Nottingham, M., "URI Design and Ownership", BCP 190, RFC
8820, DOI 10.17487/RFC8820, June 2020,
<https://www.rfc-editor.org/info/rfc8820>.
9.2. Informative References 9.2. Informative References
[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>.
Appendix A. Change History Appendix A. Change History
A.1. Change from draft-sattler-epp-poll-maintenance-response to A.1. Change from draft-sattler-epp-poll-maintenance-response to
draft-sattler-epp-registry-maintenance draft-sattler-epp-registry-maintenance
skipping to change at page 22, line 5 skipping to change at page 22, line 13
to pollType. to pollType.
A.13. Change from 10 to 11 A.13. Change from 10 to 11
Editoral changes. Added mime type to description. Editoral changes. Added mime type to description.
A.14. Change from 11 to 12 A.14. Change from 11 to 12
Editoral changes. Changed XML namespace from 0.2 to 0.3. Editoral changes. Changed XML namespace from 0.2 to 0.3.
A.15. Change from 12 to 13
Editoral changes. Added TANGO Registry Services to Section 8. Added
Michael Bauland to acknowledgments. Added "none" to <maint:impact>.
Acknowledgments Acknowledgments
The authors wish to thank the following persons for their feedback The authors wish to thank the following persons for their feedback
and suggestions: James Gould, Patrick Mevzek, Quoc-Anh Pham, Raymond and suggestions: James Gould, Michael Bauland, Patrick Mevzek,
Zylstra, Christopher Martens, Anthony Eden, Neal McPherson, Craig Quoc-Anh Pham, Raymond Zylstra, Christopher Martens, Anthony Eden,
Marchant, and Andreas Huber. Neal McPherson, Craig Marchant, and Andreas Huber.
Authors' Addresses Authors' Addresses
Tobias Sattler Tobias Sattler
Email: tobias.sattler@me.com Email: tobias.sattler@me.com
URI: https://tobiassattler.com URI: https://tobiassattler.com
Roger Carney Roger Carney
GoDaddy Inc. GoDaddy Inc.
 End of changes. 34 change blocks. 
59 lines changed or deleted 99 lines changed or added

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