draft-ietf-regext-epp-fees-18.txt | draft-ietf-regext-epp-fees-19.txt | |||
---|---|---|---|---|
Registration Protocols Extensions R. Carney | Registration Protocols Extensions R. Carney | |||
Internet-Draft GoDaddy Inc. | Internet-Draft GoDaddy Inc. | |||
Intended status: Standards Track G. Brown | Intended status: Standards Track G. Brown | |||
Expires: March 11, 2020 CentralNic Group plc | Expires: April 13, 2020 CentralNic Group plc | |||
J. Frakes | J. Frakes | |||
September 8, 2019 | October 11, 2019 | |||
Registry Fee Extension for the Extensible Provisioning Protocol (EPP) | Registry Fee Extension for the Extensible Provisioning Protocol (EPP) | |||
draft-ietf-regext-epp-fees-18 | draft-ietf-regext-epp-fees-19 | |||
Abstract | Abstract | |||
Given the expansion of the DNS namespace, and the proliferation of | Given the expansion of the DNS namespace, and the proliferation of | |||
novel business models, it is desirable to provide a method for | novel business models, it is desirable to provide a method for | |||
Extensible Provisioning Protocol (EPP) clients to query EPP servers | Extensible Provisioning Protocol (EPP) clients to query EPP servers | |||
for the fees and credits and provide expected fees and credits for | for the fees and credits and provide expected fees and credits for | |||
certain commands and objects. This document describes an EPP | certain commands and objects. This document describes an EPP | |||
extension mapping for registry fees. | extension mapping for registry fees. | |||
skipping to change at page 1, line 37 ¶ | skipping to change at page 1, line 37 ¶ | |||
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 March 11, 2020. | This Internet-Draft will expire on April 13, 2020. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 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 24 ¶ | skipping to change at page 2, line 24 ¶ | |||
3.1. Client Commands . . . . . . . . . . . . . . . . . . . . . 4 | 3.1. Client Commands . . . . . . . . . . . . . . . . . . . . . 4 | |||
3.2. Currency Codes . . . . . . . . . . . . . . . . . . . . . 5 | 3.2. Currency Codes . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.3. Validity Periods . . . . . . . . . . . . . . . . . . . . 5 | 3.3. Validity Periods . . . . . . . . . . . . . . . . . . . . 5 | |||
3.4. Fees and Credits . . . . . . . . . . . . . . . . . . . . 6 | 3.4. Fees and Credits . . . . . . . . . . . . . . . . . . . . 6 | |||
3.4.1. Refunds . . . . . . . . . . . . . . . . . . . . . . . 7 | 3.4.1. Refunds . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
3.4.2. Grace Periods . . . . . . . . . . . . . . . . . . . . 7 | 3.4.2. Grace Periods . . . . . . . . . . . . . . . . . . . . 7 | |||
3.4.3. Correlation between Refundability and Grace Periods . 7 | 3.4.3. Correlation between Refundability and Grace Periods . 7 | |||
3.4.4. Applicability . . . . . . . . . . . . . . . . . . . . 7 | 3.4.4. Applicability . . . . . . . . . . . . . . . . . . . . 7 | |||
3.5. Account Balance . . . . . . . . . . . . . . . . . . . . . 8 | 3.5. Account Balance . . . . . . . . . . . . . . . . . . . . . 8 | |||
3.6. Credit Limit . . . . . . . . . . . . . . . . . . . . . . 8 | 3.6. Credit Limit . . . . . . . . . . . . . . . . . . . . . . 8 | |||
3.7. Classification of Objects . . . . . . . . . . . . . . . . 8 | 3.7. Classification of Objects . . . . . . . . . . . . . . . . 9 | |||
3.8. Phase and Subphase Attributes . . . . . . . . . . . . . . 9 | 3.8. Phase and Subphase Attributes . . . . . . . . . . . . . . 9 | |||
3.9. Reason . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 3.9. Reason . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
4. Server Handling of Fee Information . . . . . . . . . . . . . 11 | 4. Server Handling of Fee Information . . . . . . . . . . . . . 11 | |||
5. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 12 | 5. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 12 | |||
5.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 12 | 5.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 12 | |||
5.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 12 | 5.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 12 | |||
5.1.2. EPP Transfer Query Command . . . . . . . . . . . . . 16 | 5.1.2. EPP Transfer Query Command . . . . . . . . . . . . . 16 | |||
5.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 18 | 5.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 18 | |||
5.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 18 | 5.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 18 | |||
5.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 20 | 5.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 20 | |||
skipping to change at page 2, line 48 ¶ | skipping to change at page 2, line 48 ¶ | |||
6. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 27 | 6. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
6.1. Fee Extension Schema . . . . . . . . . . . . . . . . . . 27 | 6.1. Fee Extension Schema . . . . . . . . . . . . . . . . . . 27 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 32 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 32 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32 | |||
8.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 32 | 8.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 32 | |||
8.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 32 | 8.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 32 | |||
9. Implementation Status . . . . . . . . . . . . . . . . . . . . 33 | 9. Implementation Status . . . . . . . . . . . . . . . . . . . . 33 | |||
9.1. RegistryEngine EPP Service . . . . . . . . . . . . . . . 33 | 9.1. RegistryEngine EPP Service . . . . . . . . . . . . . . . 33 | |||
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 34 | 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 34 | |||
11. Change History . . . . . . . . . . . . . . . . . . . . . . . 34 | 11. Change History . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
11.1. Change from 17 to 18 . . . . . . . . . . . . . . . . . . 34 | 11.1. Change from 18 to 19 . . . . . . . . . . . . . . . . . . 34 | |||
11.2. Change from 16 to 17 . . . . . . . . . . . . . . . . . . 34 | 11.2. Change from 17 to 18 . . . . . . . . . . . . . . . . . . 34 | |||
11.3. Change from 15 to 16 . . . . . . . . . . . . . . . . . . 34 | 11.3. Change from 16 to 17 . . . . . . . . . . . . . . . . . . 34 | |||
11.4. Change from 14 to 15 . . . . . . . . . . . . . . . . . . 35 | 11.4. Change from 15 to 16 . . . . . . . . . . . . . . . . . . 35 | |||
11.5. Change from 13 to 14 . . . . . . . . . . . . . . . . . . 35 | 11.5. Change from 14 to 15 . . . . . . . . . . . . . . . . . . 35 | |||
11.6. Change from 12 to 13 . . . . . . . . . . . . . . . . . . 35 | 11.6. Change from 13 to 14 . . . . . . . . . . . . . . . . . . 35 | |||
11.7. Change from 11 to 12 . . . . . . . . . . . . . . . . . . 35 | 11.7. Change from 12 to 13 . . . . . . . . . . . . . . . . . . 35 | |||
11.8. Change from 10 to 11 . . . . . . . . . . . . . . . . . . 35 | 11.8. Change from 11 to 12 . . . . . . . . . . . . . . . . . . 35 | |||
11.9. Change from 09 to 10 . . . . . . . . . . . . . . . . . . 35 | 11.9. Change from 10 to 11 . . . . . . . . . . . . . . . . . . 35 | |||
11.10. Change from 08 to 09 . . . . . . . . . . . . . . . . . . 35 | 11.10. Change from 09 to 10 . . . . . . . . . . . . . . . . . . 35 | |||
11.11. Change from 07 to 08 . . . . . . . . . . . . . . . . . . 36 | 11.11. Change from 08 to 09 . . . . . . . . . . . . . . . . . . 35 | |||
11.12. Change from 06 to 07 . . . . . . . . . . . . . . . . . . 36 | 11.12. Change from 07 to 08 . . . . . . . . . . . . . . . . . . 36 | |||
11.13. Change from 05 to 06 . . . . . . . . . . . . . . . . . . 36 | 11.13. Change from 06 to 07 . . . . . . . . . . . . . . . . . . 36 | |||
11.14. Change from 04 to 05 . . . . . . . . . . . . . . . . . . 36 | 11.14. Change from 05 to 06 . . . . . . . . . . . . . . . . . . 36 | |||
11.15. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 36 | 11.15. Change from 04 to 05 . . . . . . . . . . . . . . . . . . 36 | |||
11.16. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 36 | 11.16. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 36 | |||
11.17. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 37 | 11.17. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 37 | |||
11.18. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 37 | 11.18. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 37 | |||
11.19. Change from draft-brown-00 to draft-ietf-regext-fees-00 37 | 11.19. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 37 | |||
11.20. Change from draft-brown-00 to draft-ietf-regext-fees-00 37 | ||||
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 37 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
12.1. Normative References . . . . . . . . . . . . . . . . . . 37 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 37 | |||
12.2. Informative References . . . . . . . . . . . . . . . . . 38 | 12.2. Informative References . . . . . . . . . . . . . . . . . 38 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 38 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 38 | |||
1. Introduction | 1. Introduction | |||
Historically, domain name registries have applied a simple fee | Historically, domain name registries have applied a simple fee | |||
structure for billable transactions, namely a basic unit price | structure for billable transactions, namely a basic unit price | |||
applied to domain <create>, <renew>, <transfer> and RGP [RFC3915] | applied to domain <create>, <renew>, <transfer> and RGP [RFC3915] | |||
skipping to change at page 5, line 12 ¶ | skipping to change at page 5, line 18 ¶ | |||
o "create" indicating a <create> command as defined in [RFC5730]; | o "create" indicating a <create> command as defined in [RFC5730]; | |||
o "delete" indicating a <delete> command as defined in [RFC5730]; | o "delete" indicating a <delete> command as defined in [RFC5730]; | |||
o "renew" indicating a <renew> command as defined in [RFC5730]; | o "renew" indicating a <renew> command as defined in [RFC5730]; | |||
o "update" indicating a <update> command as defined in [RFC5730]; | o "update" indicating a <update> command as defined in [RFC5730]; | |||
o "transfer" indicating a <transfer> command as defined in | o "transfer" indicating a <transfer> command as defined in | |||
[RFC5730]; | [RFC5730]; | |||
o If the server supports the Registry Grace Period Mapping | o If the server supports the Registry Grace Period Mapping | |||
[RFC3915], then the server MUST also support the "restore" value | [RFC3915], then the server MUST also support the "restore" value | |||
as defined in [RFC3915]; | as defined in [RFC3915]; | |||
o "custom" indicating a custom command that uses the "customName" | o "custom" indicating a custom command that MUST set the | |||
attribute to define the custom operation. | "customName" attribute with custom command name. The possible set | |||
of custom command name values is up to server policy. | ||||
The <fee:command> element MAY have an OPTIONAL "phase" attribute | The <fee:command> element MAY have an OPTIONAL "phase" attribute | |||
specifying a launch phase as described in [RFC8334]. It may also | specifying a launch phase as described in [RFC8334]. It may also | |||
contain an OPTIONAL "subphase" attribute identifying the custom or | contain an OPTIONAL "subphase" attribute identifying the custom or | |||
sub-phase as described in [RFC8334]. | sub-phase as described in [RFC8334]. | |||
3.2. Currency Codes | 3.2. Currency Codes | |||
The <fee:currency> element is used to indicate which currency fees | The <fee:currency> element is used to indicate which currency fees | |||
are charged in. This value of this element MUST be a three-character | are charged in. This value of this element MUST be a three-character | |||
skipping to change at page 5, line 44 ¶ | skipping to change at page 5, line 51 ¶ | |||
and server via an out-of-band channel. However, the <fee:currency> | and server via an out-of-band channel. However, the <fee:currency> | |||
element MUST be present in responses. | element MUST be present in responses. | |||
Servers SHOULD NOT perform a currency conversion if a client uses an | Servers SHOULD NOT perform a currency conversion if a client uses an | |||
incorrect currency code. Servers SHOULD return a 2004 "Parameter | incorrect currency code. Servers SHOULD return a 2004 "Parameter | |||
value range" error instead. | value range" error instead. | |||
3.3. Validity Periods | 3.3. Validity Periods | |||
When querying for fee information using the <check> command, the | When querying for fee information using the <check> command, the | |||
<fee:period> element is used to indicate the units to be added to the | <fee:period> element is used to indicate the period measured in years | |||
registration period of objects by the <create>, <renew> and | or months, with the appropriate units specified using the "unit" | |||
<transfer> commands. This element is derived from the | attribute to be added to the registration period of objects by the | |||
<domain:period> element described in [RFC5731]. | <create>, <renew> and <transfer> commands. This element is derived | |||
from the <domain:period> element described in [RFC5731]. | ||||
The <fee:period> element is OPTIONAL in <check> commands, if omitted, | The <fee:period> element is OPTIONAL in <check> commands, if omitted, | |||
the server MUST determine the fee(s) using the server default period. | the server MUST determine the fee(s) using the server default period. | |||
The <fee:period> element MUST be present in <check> responses. | The <fee:period> element MUST be present in <check> responses. | |||
3.4. Fees and Credits | 3.4. Fees and Credits | |||
Servers which implement this extension will include elements in | Servers which implement this extension will include elements in | |||
responses which provide information about the fees and/or credits | responses which provide information about the fees and/or credits | |||
associated with a given billable transaction. A fee will result in | associated with a given billable transaction. A fee will result in | |||
subtracting from the Account Balance (described in Section 3.5) and a | subtracting from the Account Balance (described in Section 3.5) and a | |||
credit will result in adding to the Account Balance (described in | credit will result in adding to the Account Balance (described in | |||
Section 3.5). | Section 3.5). | |||
The <fee:fee> and <fee:credit> elements are used to provide this | The <fee:fee> and <fee:credit> elements are used to provide this | |||
information. The presence of a <fee:fee> element in a response | information. The presence of a <fee:fee> element in a response | |||
indicates a debit against the client's account balance; a | indicates a debit against the client's account balance; a | |||
<fee:credit> element indicates a credit. A <fee:fee> element MUST | <fee:credit> element indicates a credit. A <fee:fee> element MUST | |||
have a non-negative value. A <fee:credit> element MUST have a | have a zero or greater (non-negative) value. A <fee:credit> element | |||
negative value. | MUST have a negative value. | |||
A server MAY respond with multiple <fee:fee> and <fee:credit> | A server MAY respond with multiple <fee:fee> and <fee:credit> | |||
elements in the same response. In such cases, the net fee or credit | elements in the same response. In such cases, the net fee or credit | |||
applicable to the transaction is the arithmetic sum of the values of | applicable to the transaction is the arithmetic sum of the values of | |||
each of the <fee:fee> and/or <fee:credit> elements. This amount | each of the <fee:fee> and/or <fee:credit> elements. This amount | |||
applies to the total additional validity period applied to the object | applies to the total additional validity period applied to the object | |||
(where applicable) rather than to any incremental unit. | (where applicable). | |||
The following attributes are defined for the <fee:fee> element. | The following attributes are defined for the <fee:fee> element. | |||
These are described in detail below: | These are described in detail below: | |||
description: an OPTIONAL attribute which provides a human-readable | description: an OPTIONAL attribute which provides a human-readable | |||
description of the fee. Servers should provide documentation on the | description of the fee. Servers should provide documentation on the | |||
possible values of this attribute, and their meanings. An OPTIONAL | possible values of this attribute, and their meanings. An OPTIONAL | |||
"lang" attribute MAY be present to identify the language of the | "lang" attribute MAY be present, per the language structure in | |||
returned text and has a default value of "en" (English). | [RFC5646], to identify the language of the returned text and has a | |||
default value of "en" (English). If the "description" attribute is | ||||
not present, the "lang" attribute can be ignored. | ||||
refundable: an OPTIONAL boolean attribute indicating whether the fee | refundable: an OPTIONAL boolean attribute indicating whether the fee | |||
is refundable if the object is deleted. | is refundable if the object is deleted. | |||
grace-period: an OPTIONAL attribute which provides the time period | grace-period: an OPTIONAL attribute which provides the time period | |||
during which the fee is refundable. | during which the fee is refundable. | |||
applied: an OPTIONAL attribute indicating when the fee will be | applied: an OPTIONAL attribute indicating when the fee will be | |||
deducted from the client's account. | deducted from the client's account. | |||
skipping to change at page 10, line 22 ¶ | skipping to change at page 10, line 27 ¶ | |||
If the client <fee:command> contains a subphase attribute (or phase/ | If the client <fee:command> contains a subphase attribute (or phase/ | |||
subphase combination) not supported by server the server MUST respond | subphase combination) not supported by server the server MUST respond | |||
with a 2004 "Parameter value range" error. | with a 2004 "Parameter value range" error. | |||
3.9. Reason | 3.9. Reason | |||
The <fee:reason> element is used to provide server specific text in | The <fee:reason> element is used to provide server specific text in | |||
an effort to better explain why a <check> command did not complete as | an effort to better explain why a <check> command did not complete as | |||
the client expected. An OPTIONAL "lang" attribute MAY be present to | the client expected. An OPTIONAL "lang" attribute MAY be present to | |||
identify the language of the returned text and has a default value of | identify the language, per the language structure in [RFC5646], of | |||
"en" (English). | the returned text and has a default value of "en" (English). | |||
The <fee:reason> element can be used within the server response | The <fee:reason> element can be used within the server response | |||
<fee:command> element or within the <fee:cd> element. | <fee:command> element or within the <fee:cd> element. See section | |||
5.1.1 for details on the <fee:cd> "check data" element. | ||||
If the server cannot calculate the relevant fees, because the object, | If the server cannot calculate the relevant fees, because the object, | |||
command, currency, period, class or some combination is invalid per | command, currency, period, class or some combination is invalid per | |||
server policy, the server has two ways of handling error processing | server policy, the server has two ways of handling error processing | |||
of <fee:command> element(s): | of <fee:command> element(s): | |||
1. Fast-fail - The server, upon error identification, MAY stop | 1. Fast-fail - The server, upon error identification, MAY stop | |||
processing <fee:command> elements and return to the client a | processing <fee:command> elements and return to the client a | |||
<fee:cd> containing the <fee:objID> and a <fee:reason> element | <fee:cd> containing the <fee:objID> and a <fee:reason> element | |||
detailing the reason for failure. | detailing the reason for failure. | |||
skipping to change at page 11, line 32 ¶ | skipping to change at page 11, line 36 ¶ | |||
commands. Servers must provide clear documentation to clients about | commands. Servers must provide clear documentation to clients about | |||
the circumstances in which this extension must be used. | the circumstances in which this extension must be used. | |||
The server MUST return avail="0" in its response to a <check> command | The server MUST return avail="0" in its response to a <check> command | |||
for any object in the <check> command that does not include the | for any object in the <check> command that does not include the | |||
<fee:check> extension for which the server would likewise fail a | <fee:check> extension for which the server would likewise fail a | |||
domain <create> command when no <fee> extension is provided for that | domain <create> command when no <fee> extension is provided for that | |||
same object. | same object. | |||
If a server receives a <check> command from a client, which results | If a server receives a <check> command from a client, which results | |||
in no possible fee combination but where a fee is required, the | in no possible fee combination, the server MUST set the "avail" | |||
server MUST set the "avail" attribute of the <fee:cd> element to | attribute of the <fee:cd> element to false (0) and provide a | |||
false and provide a <fee:reason>. | <fee:reason>. | |||
If a server receives a <check> command from a client, which results | If a server receives a <check> command from a client, which results | |||
in an ambiguous result (i.e. multiple possible fee combinations) the | in an ambiguous result (i.e. multiple possible fee combinations) the | |||
server MUST reject the command with a 2003 "Required parameter | server MUST reject the command with a 2003 "Required parameter | |||
missing" error. | missing" error. | |||
If a server receives a command from a client, which does not include | If a server receives a command from a client, which does not include | |||
the fee extension data elements required by the server for that | the fee extension data elements required by the server for that | |||
command, then the server MUST respond with a 2003 "Required parameter | command, then the server MUST respond with a 2003 "Required parameter | |||
missing" error. | missing" error. | |||
If the currency or total fee provided by the client is less than the | If the total fee provided by the client is less than the server's own | |||
server's own calculation of the fee for that command, then the server | calculation of the fee or the server determines the currency is | |||
MUST reject the command with a 2004 "Parameter value range" error. | inappropriate for that command, then the server MUST reject the | |||
command with a 2004 "Parameter value range" error. | ||||
5. EPP Command Mapping | 5. 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 [RFC5730]. | in [RFC5730]. | |||
5.1. EPP Query Commands | 5.1. EPP Query Commands | |||
This extension does not add any elements to the EPP <poll> or <info> | This extension does not add any elements to the EPP <poll> or <info> | |||
commands or responses. | commands or responses. | |||
skipping to change at page 12, line 27 ¶ | skipping to change at page 12, line 32 ¶ | |||
This extension defines a new command called the Fee Check Command | This extension defines a new command called the Fee Check Command | |||
that defines additional elements for the EPP <check> command to | that defines additional elements for the EPP <check> command to | |||
provide fee information along with the availability information of | provide fee information along with the availability information of | |||
the EPP <check> command. | the EPP <check> command. | |||
The command MAY contain an <extension> element which MAY contain a | The command MAY contain an <extension> element which MAY contain a | |||
<fee:check> element. The <fee:check> element MAY contain one | <fee:check> element. The <fee:check> element MAY contain one | |||
<fee:currency> element and MUST contain one or more <fee:command> | <fee:currency> element and MUST contain one or more <fee:command> | |||
elements. | elements. | |||
The <fee:command> element(s) contain(s) a "name" attribute (see | The <fee:command> element(s) MUST contain(s) a "name" attribute (see | |||
Section 3.1), an OPTIONAL "phase" attribute, and an OPTIONAL | Section 3.1), an OPTIONAL "phase" attribute, and an OPTIONAL | |||
"subphase" attribute (see Section 3.8). The <fee:command> element(s) | "subphase" attribute (see Section 3.8). The <fee:command> element(s) | |||
MAY have the following child elements: | MAY have the following child elements: | |||
o An OPTIONAL <fee:period> element (as described in Section 3.3). | o An OPTIONAL <fee:period> element (as described in Section 3.3). | |||
Example <check> command: | Example <check> command: | |||
C: <?xml version="1.0" encoding="utf-8" standalone="no"?> | C: <?xml version="1.0" encoding="utf-8" standalone="no"?> | |||
C: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | C: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
skipping to change at page 13, line 37 ¶ | skipping to change at page 13, line 37 ¶ | |||
C: </fee:check> | C: </fee:check> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C: </epp> | C: </epp> | |||
When the server receives a <check> command that includes the | When the server receives a <check> command that includes the | |||
extension elements described above, its response MUST contain an | extension elements described above, its response MUST contain an | |||
<extension> element, which MUST contain a child <fee:chkData> | <extension> element, which MUST contain a child <fee:chkData> | |||
element. The <fee:chkData> element MUST contain a <fee:currency> | element. The <fee:chkData> element MUST contain a <fee:currency> | |||
element and a <fee:cd> for each element referenced in the client | element and a <fee:cd> element for each object referenced in the | |||
<check> command. | client <check> command. | |||
Each <fee:cd> element MUST contain the following child elements: | Each <fee:cd> (check data) element MUST contain the following child | |||
elements: | ||||
o A <fee:objID> element, which MUST match an element referenced in | o A <fee:objID> element, which MUST match an element referenced in | |||
the client <check> command. | the client <check> command. | |||
o An OPTIONAL <fee:class> element (as described in Section 3.7). | o An OPTIONAL <fee:class> element (as described in Section 3.7). | |||
o A <fee:command> element matching each <fee:command> (unless the | o A <fee:command> element matching each <fee:command> (unless the | |||
"avail" attribute of the <fee:cd> if false) that appeared in the | "avail" attribute of the <fee:cd> if false) that appeared in the | |||
corresponding <fee:check> of the client command. This element MAY | corresponding <fee:check> of the client command. This element MAY | |||
have the OPTIONAL "standard" attribute, with a default value of | have the OPTIONAL "standard" attribute, with a default value of | |||
"0" (or "false"), which indicates whether the fee matches the fee | "0" (or "false"), which indicates whether the fee matches the fee | |||
of the "standard" classification (see section 3.7). This element | of the "standard" classification (see section 3.7). This element | |||
MAY have the OPTIONAL "phase" and "subphase" attributes, which | MAY have the OPTIONAL "phase" and "subphase" attributes, which | |||
SHOULD match the same attributes in the corresponding | will match the same attributes in the corresponding <fee:command> | |||
<fee:command> element of the client command if sent by the client. | element of the client command if sent by the client. | |||
The <fee:cd> element also has an OPTIONAL "avail" attribute which is | The <fee:cd> element also has an OPTIONAL "avail" attribute which is | |||
a boolean. If the value of this attribute evaluates to false, this | a boolean. If the value of this attribute evaluates to false, this | |||
indicates that the server cannot calculate the relevant fees, because | indicates that the server cannot calculate the relevant fees, because | |||
the object, command, currency, period, class or some combination is | the object, command, currency, period, class or some combination is | |||
invalid per server policy. If "avail" is false then the <fee:cd> or | invalid per server policy. If "avail" is false then the <fee:cd> or | |||
the <fee:command> element MUST contain a <fee:reason> element (as | the <fee:command> element MUST contain a <fee:reason> element (as | |||
described in Section 3.9) and the server MAY eliminate some or all of | described in Section 3.9) and the server MAY eliminate some or all of | |||
the <fee:command> element(s). | the <fee:command> element(s). | |||
The <fee:command> element(s) MAY have the following child elements: | The <fee:command> element(s) MAY have the following child elements: | |||
o An OPTIONAL <fee:period> element (as described in Section 3.3), | o An OPTIONAL <fee:period> element (as described in Section 3.3), | |||
which contains the same unit that appeared in the <fee:period> | which contains the same unit, if present, that appeared in the | |||
element of the command. If the value of the preceding | <fee:period> element of the command. If the value of the parent | |||
<fee:command> element is "restore", this element MUST NOT be | <fee:command> element is "restore", this element MUST NOT be | |||
included, otherwise it MUST be included. If no <fee:period> | included, otherwise it MUST be included. If no <fee:period> | |||
appeared in the client command (and the command is not "restore") | appeared in the client command (and the command is not "restore") | |||
then the server MUST return its default period value. | then the server MUST return its default period value. | |||
o Zero or more <fee:fee> elements (as described in Section 3.4). | o Zero or more <fee:fee> elements (as described in Section 3.4). | |||
o Zero or more <fee:credit> elements (as described in Section 3.4). | o Zero or more <fee:credit> elements (as described in Section 3.4). | |||
o An OPTIONAL <fee:reason> element (as described in Section 3.9). | o An OPTIONAL <fee:reason> element (as described in Section 3.9). | |||
If the "avail" attribute of the <fee:cd> element is true and if no | If the "avail" attribute of the <fee:cd> element is true (1) and if | |||
<fee:fee> elements are present in a <fee:command> element, this | no <fee:fee> elements are present in a <fee:command> element, this | |||
indicates that no fee will be assessed by the server for this | indicates that no fee will be assessed by the server for this | |||
command. | command. | |||
If the "avail" attribute is true, then the <fee:command> element MUST | If the "avail" attribute of the <fee:cd> element is true (1), then | |||
NOT contain a <fee:reason> element. | the <fee:command> element MUST NOT contain a <fee:reason> element. | |||
Example <check> response: | Example <check> response: | |||
S: <?xml version="1.0" encoding="utf-8" standalone="no"?> | S: <?xml version="1.0" encoding="utf-8" standalone="no"?> | |||
S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
S: <response> | S: <response> | |||
S: <result code="1000"> | S: <result code="1000"> | |||
S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
S: </result> | S: </result> | |||
S: <resData> | S: <resData> | |||
skipping to change at page 18, line 19 ¶ | skipping to change at page 18, line 19 ¶ | |||
S: <response> | S: <response> | |||
S: <result code="1001"> | S: <result code="1001"> | |||
S: <msg>Command completed successfully; action pending</msg> | S: <msg>Command completed successfully; action pending</msg> | |||
S: </result> | S: </result> | |||
S: <resData> | S: <resData> | |||
S: <domain:trnData | S: <domain:trnData | |||
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
S: <domain:name>example.com</domain:name> | S: <domain:name>example.com</domain:name> | |||
S: <domain:trStatus>pending</domain:trStatus> | S: <domain:trStatus>pending</domain:trStatus> | |||
S: <domain:reID>ClientX</domain:reID> | S: <domain:reID>ClientX</domain:reID> | |||
S: <domain:reDate>2000-06-08T22:00:00.0Z</domain:reDate> | S: <domain:reDate>2019-06-08T22:00:00.0Z</domain:reDate> | |||
S: <domain:acID>ClientY</domain:acID> | S: <domain:acID>ClientY</domain:acID> | |||
S: <domain:acDate>2000-06-13T22:00:00.0Z</domain:acDate> | S: <domain:acDate>2019-06-13T22:00:00.0Z</domain:acDate> | |||
S: <domain:exDate>2002-09-08T22:00:00.0Z</domain:exDate> | S: <domain:exDate>2021-09-08T22:00:00.0Z</domain:exDate> | |||
S: </domain:trnData> | S: </domain:trnData> | |||
S: </resData> | S: </resData> | |||
S: <extension> | S: <extension> | |||
S: <fee:trnData xmlns:fee="urn:ietf:params:xml:ns:epp:fee-1.0"> | S: <fee:trnData xmlns:fee="urn:ietf:params:xml:ns:epp:fee-1.0"> | |||
S: <fee:currency>USD</fee:currency> | S: <fee:currency>USD</fee:currency> | |||
S: <fee:period unit="y">1</fee:period> | S: <fee:period unit="y">1</fee:period> | |||
S: <fee:fee>5.00</fee:fee> | S: <fee:fee>5.00</fee:fee> | |||
S: </fee:trnData> | S: </fee:trnData> | |||
S: </extension> | S: </extension> | |||
S: <trID> | S: <trID> | |||
skipping to change at page 19, line 5 ¶ | skipping to change at page 19, line 5 ¶ | |||
response, when the extension is included in the <login> command | response, when the extension is included in the <login> command | |||
service extensions. | service extensions. | |||
When submitting a <create> command to the server, the client MAY | When submitting a <create> command to the server, the client MAY | |||
include in the <extension> element a <fee:create> element which | include in the <extension> element a <fee:create> element which | |||
includes the following child elements: | includes the following child elements: | |||
o An OPTIONAL <fee:currency> element (as described in Section 3.2); | o An OPTIONAL <fee:currency> element (as described in Section 3.2); | |||
o One or more <fee:fee> elements (as described in Section 3.4). | o One or more <fee:fee> elements (as described in Section 3.4). | |||
The server MUST fail the <create> command if the <fee:fee> provided | ||||
by the client is less than the server fee. | ||||
When the <create> command has been processed successfully, and the | When the <create> command has been processed successfully, and the | |||
client included the extension in the <login> command service | client included the extension in the <login> command service | |||
extensions, and a fee was assessed by the server for the transaction, | extensions, and a fee was assessed by the server for the transaction, | |||
the server MUST include in the <extension> section of the EPP | the server MUST include in the <extension> section of the EPP | |||
response a <fee:creData> element, which contains the following child | response a <fee:creData> element, which contains the following child | |||
elements: | elements: | |||
o A <fee:currency> element (as described in Section 3.2); | o A <fee:currency> element (as described in Section 3.2); | |||
o Zero or more <fee:fee> elements (as described in Section 3.4); | o Zero or more <fee:fee> elements (as described in Section 3.4); | |||
o Zero or more <fee:credit> elements (as described in Section 3.4); | o Zero or more <fee:credit> elements (as described in Section 3.4); | |||
skipping to change at page 20, line 16 ¶ | skipping to change at page 20, line 16 ¶ | |||
S: <?xml version="1.0" encoding="utf-8" standalone="no"?> | S: <?xml version="1.0" encoding="utf-8" standalone="no"?> | |||
S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
S: <response> | S: <response> | |||
S: <result code="1000"> | S: <result code="1000"> | |||
S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
S: </result> | S: </result> | |||
S: <resData> | S: <resData> | |||
S: <domain:creData | S: <domain:creData | |||
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
S: <domain:name>example.com</domain:name> | S: <domain:name>example.com</domain:name> | |||
S: <domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate> | S: <domain:crDate>2019-04-03T22:00:00.0Z</domain:crDate> | |||
S: <domain:exDate>2001-04-03T22:00:00.0Z</domain:exDate> | S: <domain:exDate>2021-04-03T22:00:00.0Z</domain:exDate> | |||
S: </domain:creData> | S: </domain:creData> | |||
S: </resData> | S: </resData> | |||
S: <extension> | S: <extension> | |||
S: <fee:creData xmlns:fee="urn:ietf:params:xml:ns:epp:fee-1.0"> | S: <fee:creData xmlns:fee="urn:ietf:params:xml:ns:epp:fee-1.0"> | |||
S: <fee:currency>USD</fee:currency> | S: <fee:currency>USD</fee:currency> | |||
S: <fee:fee | S: <fee:fee | |||
S: description="Registration Fee" | S: description="Registration Fee" | |||
S: lang="en" | S: lang="en" | |||
S: refundable="1" | S: refundable="1" | |||
S: grace-period="P5D">5.00</fee:fee> | S: grace-period="P5D">5.00</fee:fee> | |||
skipping to change at page 22, line 23 ¶ | skipping to change at page 22, line 23 ¶ | |||
Example <renew> command: | Example <renew> 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: <renew> | C: <renew> | |||
C: <domain:renew | C: <domain:renew | |||
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
C: <domain:name>example.com</domain:name> | C: <domain:name>example.com</domain:name> | |||
C: <domain:curExpDate>2000-04-03</domain:curExpDate> | C: <domain:curExpDate>2019-04-03</domain:curExpDate> | |||
C: <domain:period unit="y">5</domain:period> | C: <domain:period unit="y">5</domain:period> | |||
C: </domain:renew> | C: </domain:renew> | |||
C: </renew> | C: </renew> | |||
C: <extension> | C: <extension> | |||
C: <fee:renew xmlns:fee="urn:ietf:params:xml:ns:epp:fee-1.0"> | C: <fee:renew xmlns:fee="urn:ietf:params:xml:ns:epp:fee-1.0"> | |||
C: <fee:currency>USD</fee:currency> | C: <fee:currency>USD</fee:currency> | |||
C: <fee:fee>5.00</fee:fee> | C: <fee:fee>5.00</fee:fee> | |||
C: </fee:renew> | C: </fee:renew> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
skipping to change at page 23, line 16 ¶ | skipping to change at page 23, line 16 ¶ | |||
S: <?xml version="1.0" encoding="utf-8" standalone="no"?> | S: <?xml version="1.0" encoding="utf-8" standalone="no"?> | |||
S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
S: <response> | S: <response> | |||
S: <result code="1000"> | S: <result code="1000"> | |||
S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
S: </result> | S: </result> | |||
S: <resData> | S: <resData> | |||
S: <domain:renData | S: <domain:renData | |||
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
S: <domain:name>example.com</domain:name> | S: <domain:name>example.com</domain:name> | |||
S: <domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate> | S: <domain:exDate>2024-04-03T22:00:00.0Z</domain:exDate> | |||
S: </domain:renData> | S: </domain:renData> | |||
S: </resData> | S: </resData> | |||
S: <extension> | S: <extension> | |||
S: <fee:renData xmlns:fee="urn:ietf:params:xml:ns:epp:fee-1.0"> | S: <fee:renData xmlns:fee="urn:ietf:params:xml:ns:epp:fee-1.0"> | |||
S: <fee:currency>USD</fee:currency> | S: <fee:currency>USD</fee:currency> | |||
S: <fee:fee | S: <fee:fee | |||
S: refundable="1" | S: refundable="1" | |||
S: grace-period="P5D">5.00</fee:fee> | S: grace-period="P5D">5.00</fee:fee> | |||
S: <fee:balance>1000.00</fee:balance> | S: <fee:balance>1000.00</fee:balance> | |||
S: </fee:renData> | S: </fee:renData> | |||
skipping to change at page 25, line 18 ¶ | skipping to change at page 25, line 18 ¶ | |||
S: <response> | S: <response> | |||
S: <result code="1001"> | S: <result code="1001"> | |||
S: <msg>Command completed successfully; action pending</msg> | S: <msg>Command completed successfully; action pending</msg> | |||
S: </result> | S: </result> | |||
S: <resData> | S: <resData> | |||
S: <domain:trnData | S: <domain:trnData | |||
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
S: <domain:name>example.com</domain:name> | S: <domain:name>example.com</domain:name> | |||
S: <domain:trStatus>pending</domain:trStatus> | S: <domain:trStatus>pending</domain:trStatus> | |||
S: <domain:reID>ClientX</domain:reID> | S: <domain:reID>ClientX</domain:reID> | |||
S: <domain:reDate>2000-06-08T22:00:00.0Z</domain:reDate> | S: <domain:reDate>2019-06-08T22:00:00.0Z</domain:reDate> | |||
S: <domain:acID>ClientY</domain:acID> | S: <domain:acID>ClientY</domain:acID> | |||
S: <domain:acDate>2000-06-13T22:00:00.0Z</domain:acDate> | S: <domain:acDate>2019-06-13T22:00:00.0Z</domain:acDate> | |||
S: <domain:exDate>2002-09-08T22:00:00.0Z</domain:exDate> | S: <domain:exDate>2021-09-08T22:00:00.0Z</domain:exDate> | |||
S: </domain:trnData> | S: </domain:trnData> | |||
S: </resData> | S: </resData> | |||
S: <extension> | S: <extension> | |||
S: <fee:trnData xmlns:fee="urn:ietf:params:xml:ns:epp:fee-1.0"> | S: <fee:trnData xmlns:fee="urn:ietf:params:xml:ns:epp:fee-1.0"> | |||
S: <fee:currency>USD</fee:currency> | S: <fee:currency>USD</fee:currency> | |||
S: <fee:fee | S: <fee:fee | |||
S: refundable="1" | S: refundable="1" | |||
S: grace-period="P5D">5.00</fee:fee> | S: grace-period="P5D">5.00</fee:fee> | |||
S: </fee:trnData> | S: </fee:trnData> | |||
S: </extension> | S: </extension> | |||
skipping to change at page 30, line 12 ¶ | skipping to change at page 30, line 12 ¶ | |||
<pattern value="[A-Z]{3}" /> | <pattern value="[A-Z]{3}" /> | |||
</restriction> | </restriction> | |||
</simpleType> | </simpleType> | |||
<complexType name="commandType"> | <complexType name="commandType"> | |||
<sequence> | <sequence> | |||
<element name="period" type="domain:periodType" | <element name="period" type="domain:periodType" | |||
minOccurs="0" maxOccurs="1" /> | minOccurs="0" maxOccurs="1" /> | |||
</sequence> | </sequence> | |||
<attribute name="name" type="fee:commandEnum"/> | <attribute name="name" type="fee:commandEnum" use="required"/> | |||
<attribute name="customName" type="token"/> | <attribute name="customName" type="token"/> | |||
<attribute name="phase" type="token" /> | <attribute name="phase" type="token" /> | |||
<attribute name="subphase" type="token" /> | <attribute name="subphase" type="token" /> | |||
</complexType> | </complexType> | |||
<complexType name="commandDataType"> | <complexType name="commandDataType"> | |||
<complexContent> | <complexContent> | |||
<extension base="fee:commandType"> | <extension base="fee:commandType"> | |||
<sequence> | <sequence> | |||
<element name="fee" type="fee:feeType" | <element name="fee" type="fee:feeType" | |||
skipping to change at page 32, line 18 ¶ | skipping to change at page 32, line 18 ¶ | |||
7. Security Considerations | 7. Security Considerations | |||
The mapping extensions described in this document do not provide any | The mapping extensions described in this document do not provide any | |||
security services beyond those described by EPP [RFC5730], the EPP | security services beyond those described by EPP [RFC5730], the EPP | |||
domain name mapping [RFC5731], and protocol layers used by EPP. The | domain name mapping [RFC5731], and protocol layers used by EPP. The | |||
security considerations described in these other specifications apply | security considerations described in these other specifications apply | |||
to this specification as well. This extension passes financial | to this specification as well. This extension passes financial | |||
information using the EPP protocol, so confidentiality and integrity | information using the EPP protocol, so confidentiality and integrity | |||
protection must be provided by the transport mechanism. All | protection must be provided by the transport mechanism. All | |||
transports compliant with [RFC5730] provide the needed level of | transports compliant with [RFC5730] provide the needed level of | |||
confidentiality and integrity protections. | confidentiality and integrity protections. The server will only | |||
provide information, including financial information, that is | ||||
relevant to the authenticated client. | ||||
8. IANA Considerations | 8. IANA Considerations | |||
8.1. XML Namespace | 8.1. XML Namespace | |||
This document uses URNs to describe XML namespaces and XML schemas | This document uses URNs to describe XML namespaces and XML schemas | |||
conforming to a registry mechanism described in [RFC3688]. | conforming to a registry mechanism described in [RFC3688]. | |||
Registration request for the fee namespace: | Registration request for the fee namespace: | |||
skipping to change at page 34, line 35 ¶ | skipping to change at page 34, line 35 ¶ | |||
o Seth Goldman of Google | o Seth Goldman of Google | |||
o Klaus Malorny and Michael Bauland of Knipp | o Klaus Malorny and Michael Bauland of Knipp | |||
o Jody Kolker, Joe Snitker and Kevin Allendorf of Go Daddy | o Jody Kolker, Joe Snitker and Kevin Allendorf of Go Daddy | |||
o Michael Holloway of Com Laude | o Michael Holloway of Com Laude | |||
o Santosh Kalsangrah of Impetus Infotech | o Santosh Kalsangrah of Impetus Infotech | |||
o Alex Mayrhofer of Nic.at | o Alex Mayrhofer of Nic.at | |||
o Thomas Corte of Knipp Medien und Kommunikation GmbH | o Thomas Corte of Knipp Medien und Kommunikation GmbH | |||
11. Change History | 11. Change History | |||
11.1. Change from 17 to 18 | 11.1. Change from 18 to 19 | |||
Updated per IESG review, all updates (except for one schema change) | ||||
were just textual for clarity and correctness. The schema change was | ||||
to require the name attribute of the commandType element. | ||||
11.2. Change from 17 to 18 | ||||
Corrected erroneous edit left in place in previous revision (17), | Corrected erroneous edit left in place in previous revision (17), | |||
reverted text back to original text (revision 16) in section 3.4. | reverted text back to original text (revision 16) in section 3.4. | |||
11.2. Change from 16 to 17 | 11.3. Change from 16 to 17 | |||
Updated per AD review, all updates were just textual for clarity and | Updated per AD review, all updates were just textual for clarity and | |||
correctness. | correctness. | |||
11.3. Change from 15 to 16 | 11.4. Change from 15 to 16 | |||
Updated per AD review and list comments: several grammar corrections; | Updated per AD review and list comments: several grammar corrections; | |||
clarification text added to section 3.4.3 and 3.5; and a schema | clarification text added to section 3.4.3 and 3.5; and a schema | |||
update for consistency by providing a "lang" attribute to the | update for consistency by providing a "lang" attribute to the | |||
<fee:fee> and <fee:credit> "description" attribute detailed in | <fee:fee> and <fee:credit> "description" attribute detailed in | |||
section 3.4. | section 3.4. | |||
11.4. Change from 14 to 15 | 11.5. Change from 14 to 15 | |||
Updated schema, moving the "standard" attribute of the | Updated schema, moving the "standard" attribute of the | |||
"commandDataType" inside the <extension> block. | "commandDataType" inside the <extension> block. | |||
11.5. Change from 13 to 14 | 11.6. Change from 13 to 14 | |||
Moved RFC 7451 reference from Normative to Informative section. | Moved RFC 7451 reference from Normative to Informative section. | |||
11.6. Change from 12 to 13 | 11.7. Change from 12 to 13 | |||
Updated XML namespace and schema registration to be "epp" scoped - | Updated XML namespace and schema registration to be "epp" scoped - | |||
global replace of XML namespace from urn:ietf:params:xml:ns:fee-1.0 | global replace of XML namespace from urn:ietf:params:xml:ns:fee-1.0 | |||
to urn:ietf:params:xml:ns:epp:fee-1.0 and the XML schema registration | to urn:ietf:params:xml:ns:epp:fee-1.0 and the XML schema registration | |||
from urn:ietf:params:xml:schema:fee-1.0 to | from urn:ietf:params:xml:schema:fee-1.0 to | |||
urn:ietf:params:xml:schema:epp:fee-1.0. | urn:ietf:params:xml:schema:epp:fee-1.0. | |||
11.7. Change from 11 to 12 | 11.8. Change from 11 to 12 | |||
Updated references to current version of documents and moved the | Updated references to current version of documents and moved the | |||
"standard" attribute from the check command (commandType) to the | "standard" attribute from the check command (commandType) to the | |||
check response (commandDataType). | check response (commandDataType). | |||
11.8. Change from 10 to 11 | 11.9. Change from 10 to 11 | |||
Updated document per Working Group Last Call comments. Made minor | Updated document per Working Group Last Call comments. Made minor | |||
textual changes throughout for enhanced clarity per WGLC comments. | textual changes throughout for enhanced clarity per WGLC comments. | |||
11.9. Change from 09 to 10 | 11.10. Change from 09 to 10 | |||
Updated document per Working Group Last Call comments. Updated | Updated document per Working Group Last Call comments. Updated | |||
schema to version 1.0 in anticipation of standardization, no changes | schema to version 1.0 in anticipation of standardization, no changes | |||
were made to the latest, 0.25, schema. Made minor textual changes | were made to the latest, 0.25, schema. Made minor textual changes | |||
throughout for enhanced clarity per WGLC comments. | throughout for enhanced clarity per WGLC comments. | |||
11.10. Change from 08 to 09 | 11.11. Change from 08 to 09 | |||
Updated scheme to version 0.25 to allow tighter checking on | Updated scheme to version 0.25 to allow tighter checking on | |||
<fee:command> by splitting the client and server definitions, moved | <fee:command> by splitting the client and server definitions, moved | |||
the class element from the command to the object level and added an | the class element from the command to the object level and added an | |||
optional standard attribute to the command element. Also updated | optional standard attribute to the command element. Also updated | |||
section 3.1 for clarity on name attribute; updated section 3.9 for | section 3.1 for clarity on name attribute; updated section 3.9 for | |||
clarity on uses of <fee:reason>; removed second paragraph in section | clarity on uses of <fee:reason>; removed second paragraph in section | |||
5.2.1 as it was duplicative of second to last paragraph in 4.0; and | 5.2.1 as it was duplicative of second to last paragraph in 4.0; and | |||
updated section 5.1.1 to add section references. | updated section 5.1.1 to add section references. | |||
11.11. Change from 07 to 08 | 11.12. Change from 07 to 08 | |||
Updated section 3.8 and 5.1.1 to provide clarity on server processing | Updated section 3.8 and 5.1.1 to provide clarity on server processing | |||
and response of various scenarios (i.e. "quiet" period processing). | and response of various scenarios (i.e. "quiet" period processing). | |||
11.12. Change from 06 to 07 | 11.13. Change from 06 to 07 | |||
Updated section 3.8 and 4.0 to provide clarity on server processing | Updated section 3.8 and 4.0 to provide clarity on server processing | |||
and response of various scenarios. | and response of various scenarios. | |||
11.13. Change from 05 to 06 | 11.14. Change from 05 to 06 | |||
Updated scheme to version 0.23 to allow the return of no | Updated scheme to version 0.23 to allow the return of no | |||
<fee:command> element(s) if an error situation occurs. Edited | <fee:command> element(s) if an error situation occurs. Edited | |||
section 3.8 extensively after input from interim meeting and REGEXT | section 3.8 extensively after input from interim meeting and REGEXT | |||
F2F meeting at IETF-99. Added normative reference for draft-ietf- | F2F meeting at IETF-99. Added normative reference for draft-ietf- | |||
eppext-launchphase. | eppext-launchphase. | |||
11.14. Change from 04 to 05 | 11.15. Change from 04 to 05 | |||
Updated scheme to version 0.21 to support the lang attribute for the | Updated scheme to version 0.21 to support the lang attribute for the | |||
reason element of the objectCDType and the commandType types as well | reason element of the objectCDType and the commandType types as well | |||
as to add the update command to the commandEnum type. Updated | as to add the update command to the commandEnum type. Updated | |||
section 3.1 to include language for the custom command. Added | section 3.1 to include language for the custom command. Added | |||
section 3.9 to provide a description of the <fee:reason> element. | section 3.9 to provide a description of the <fee:reason> element. | |||
Fixed typos and added clarification text on when client fee is less | Fixed typos and added clarification text on when client fee is less | |||
than server fee in section 4. Additionally, I added description | than server fee in section 4. Additionally, I added description | |||
pointers to appropriate Section 3 definitions for element clarity | pointers to appropriate Section 3 definitions for element clarity | |||
throughout the document. | throughout the document. | |||
11.15. Change from 03 to 04 | 11.16. Change from 03 to 04 | |||
Updated scheme to version 0.19 to correct typos and to replace the | Updated scheme to version 0.19 to correct typos and to replace the | |||
commandTypeValue type with the commandEnum type and customName | commandTypeValue type with the commandEnum type and customName | |||
attribute for stricter validation. Updated various text for grammar | attribute for stricter validation. Updated various text for grammar | |||
and clarity. Added text to section 4 clarifying the <check> response | and clarity. Added text to section 4 clarifying the <check> response | |||
when the client provided no fee extension but the server was | when the client provided no fee extension but the server was | |||
expecting the extension. | expecting the extension. | |||
11.16. Change from 02 to 03 | 11.17. Change from 02 to 03 | |||
Updated scheme to version 0.17 to simplify the check command syntax. | Updated scheme to version 0.17 to simplify the check command syntax. | |||
Moved fee avail to objectCDType to allow fast failing on error | Moved fee avail to objectCDType to allow fast failing on error | |||
situations. Removed the objectCheckType as it was no longer being | situations. Removed the objectCheckType as it was no longer being | |||
used. Updated examples to reflect these scheme changes. Added | used. Updated examples to reflect these scheme changes. Added | |||
language for server failing a <create> if the <fee:fee> passed by the | language for server failing a <create> if the <fee:fee> passed by the | |||
client is less than the server fee. | client is less than the server fee. | |||
11.17. Change from 01 to 02 | 11.18. Change from 01 to 02 | |||
Updated scheme to version 0.15 to fix errors in CommandType, | Updated scheme to version 0.15 to fix errors in CommandType, | |||
objectCDType, transformCommandType and transformResultType | objectCDType, transformCommandType and transformResultType | |||
definitions. | definitions. | |||
11.18. Change from 00 to 01 | 11.19. Change from 00 to 01 | |||
Added Roger Carney as author to finish draft. Moved Formal Syntax | Added Roger Carney as author to finish draft. Moved Formal Syntax | |||
section to main level numbering. Various grammar, typos, and | section to main level numbering. Various grammar, typos, and | |||
administrative edits for clarity. Removed default value for the | administrative edits for clarity. Removed default value for the | |||
"applied" attribute of <fee:fee> so that it can truly be optional. | "applied" attribute of <fee:fee> so that it can truly be optional. | |||
Added support for the <delete> command to return a <fee:fee> element | Added support for the <delete> command to return a <fee:fee> element | |||
as well. Modified default response on the <check> command for the | as well. Modified default response on the <check> command for the | |||
optional <fee:period> when it was not provided in the command, | optional <fee:period> when it was not provided in the command, | |||
leaving it to the server to provide the default period value. | leaving it to the server to provide the default period value. | |||
Extensive edits were done to the <check> command, the <check> | Extensive edits were done to the <check> command, the <check> | |||
response and to the fee extension schema (checkType, objectCheckType, | response and to the fee extension schema (checkType, objectCheckType, | |||
objectIdentifierType, objectCDType, commandType) to support | objectIdentifierType, objectCDType, commandType) to support | |||
requesting and returning multiple transformation fees in a single | requesting and returning multiple transformation fees in a single | |||
call. Added section on Phase/Subphase to provide more context on the | call. Added section on Phase/Subphase to provide more context on the | |||
uses. | uses. | |||
11.19. Change from draft-brown-00 to draft-ietf-regext-fees-00 | 11.20. Change from draft-brown-00 to draft-ietf-regext-fees-00 | |||
Updated to be REGEXT WG document. | Updated to be REGEXT WG document. | |||
12. References | 12. References | |||
12.1. Normative References | 12.1. Normative References | |||
[ISO4217:2015] | [ISO4217:2015] | |||
International Organization for Standardization, "Codes for | International Organization for Standardization, "Codes for | |||
the representation of currencies", August 2015, | the representation of currencies", August 2015, | |||
End of changes. 51 change blocks. | ||||
90 lines changed or deleted | 103 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |