draft-ietf-regext-epp-fees-09.txt | draft-ietf-regext-epp-fees-10.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: July 23, 2018 CentralNic Group plc | Expires: September 6, 2018 CentralNic Group plc | |||
J. Frakes | J. Frakes | |||
January 19, 2018 | March 5, 2018 | |||
Registry Fee Extension for the Extensible Provisioning Protocol (EPP) | Registry Fee Extension for the Extensible Provisioning Protocol (EPP) | |||
draft-ietf-regext-epp-fees-09 | draft-ietf-regext-epp-fees-10 | |||
Abstract | Abstract | |||
This document describes an Extensible Provisioning Protocol (EPP) | This document describes an Extensible Provisioning Protocol (EPP) | |||
extension mapping for registry fees. | extension mapping for registry fees. | |||
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. | |||
skipping to change at page 1, line 33 ¶ | skipping to change at page 1, line 33 ¶ | |||
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 July 23, 2018. | This Internet-Draft will expire on September 6, 2018. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 2, line 14 ¶ | skipping to change at page 2, line 14 ¶ | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
1.1. Conventions Used in This Document . . . . . . . . . . . . 3 | 1.1. Conventions Used in This Document . . . . . . . . . . . . 3 | |||
2. Migrating to Newer Versions of This Extension . . . . . . . . 4 | 2. Migrating to Newer Versions of This Extension . . . . . . . . 4 | |||
3. Extension Elements . . . . . . . . . . . . . . . . . . . . . 4 | 3. Extension Elements . . . . . . . . . . . . . . . . . . . . . 4 | |||
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 . . . . . . . . . . . . . . . . . . . . 5 | |||
3.4.1. Refunds . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.4.1. Refunds . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
3.4.2. Grace Periods . . . . . . . . . . . . . . . . . . . . 7 | 3.4.2. Grace Periods . . . . . . . . . . . . . . . . . . . . 6 | |||
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 . . . . . . . . . . . . . . . . . . . . . 7 | 3.5. Account Balance . . . . . . . . . . . . . . . . . . . . . 7 | |||
3.6. Credit Limit . . . . . . . . . . . . . . . . . . . . . . 8 | 3.6. Credit Limit . . . . . . . . . . . . . . . . . . . . . . 8 | |||
3.7. Classification of Objects . . . . . . . . . . . . . . . . 8 | 3.7. Classification of Objects . . . . . . . . . . . . . . . . 8 | |||
3.8. Phase and Subphase Attributes . . . . . . . . . . . . . . 8 | 3.8. Phase and Subphase Attributes . . . . . . . . . . . . . . 8 | |||
3.9. Reason . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 3.9. Reason . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
4. Server Handling of Fee Information . . . . . . . . . . . . . 11 | 4. Server Handling of Fee Information . . . . . . . . . . . . . 10 | |||
5. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 11 | 5. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 11 | |||
5.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 11 | 5.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 11 | |||
5.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 11 | 5.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 11 | |||
5.1.1.1. Server Handling of Elements . . . . . . . . . . . 15 | 5.1.2. EPP Transfer Query Command . . . . . . . . . . . . . 15 | |||
5.1.2. EPP Transfer Query Command . . . . . . . . . . . . . 16 | ||||
5.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 17 | 5.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 17 | |||
5.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 17 | 5.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 17 | |||
5.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 19 | 5.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 19 | |||
5.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 20 | 5.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 20 | |||
5.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 22 | 5.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 22 | |||
5.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 24 | 5.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 24 | |||
6. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 26 | 6. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
6.1. Fee Extension Schema . . . . . . . . . . . . . . . . . . 26 | 6.1. Fee Extension Schema . . . . . . . . . . . . . . . . . . 26 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 30 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 31 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31 | |||
8.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 31 | 8.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 31 | |||
8.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 31 | 8.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 32 | |||
9. Implemntation Status . . . . . . . . . . . . . . . . . . . . 31 | 9. Implementation Status . . . . . . . . . . . . . . . . . . . . 32 | |||
9.1. RegistryEngine EPP Service . . . . . . . . . . . . . . . 32 | 9.1. RegistryEngine EPP Service . . . . . . . . . . . . . . . 33 | |||
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 32 | 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 33 | |||
11. Change History . . . . . . . . . . . . . . . . . . . . . . . 33 | 11. Change History . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
11.1. Change from 08 to 09 . . . . . . . . . . . . . . . . . . 33 | 11.1. Change from 09 to 10 . . . . . . . . . . . . . . . . . . 34 | |||
11.2. Change from 07 to 08 . . . . . . . . . . . . . . . . . . 33 | 11.2. Change from 08 to 09 . . . . . . . . . . . . . . . . . . 34 | |||
11.3. Change from 06 to 07 . . . . . . . . . . . . . . . . . . 33 | 11.3. Change from 07 to 08 . . . . . . . . . . . . . . . . . . 34 | |||
11.4. Change from 05 to 06 . . . . . . . . . . . . . . . . . . 33 | 11.4. Change from 06 to 07 . . . . . . . . . . . . . . . . . . 34 | |||
11.5. Change from 04 to 05 . . . . . . . . . . . . . . . . . . 33 | 11.5. Change from 05 to 06 . . . . . . . . . . . . . . . . . . 34 | |||
11.6. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 34 | 11.6. Change from 04 to 05 . . . . . . . . . . . . . . . . . . 34 | |||
11.7. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 34 | 11.7. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 35 | |||
11.8. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 34 | 11.8. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 35 | |||
11.9. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 34 | 11.9. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 35 | |||
11.10. Change from draft-brown-00 to draft-ietf-regext-fees-00 35 | 11.10. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 35 | |||
12. Normative References . . . . . . . . . . . . . . . . . . . . 35 | 11.11. Change from draft-brown-00 to draft-ietf-regext-fees-00 36 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35 | 12. Normative References . . . . . . . . . . . . . . . . . . . . 36 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36 | ||||
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] | |||
restore commands. Given the relatively small number of EPP servers | restore commands. Given the relatively small number of EPP servers | |||
to which EPP clients have been required to connect, it has generally | to which EPP clients have been required to connect, it has generally | |||
been the case that client operators have been able to obtain details | been the case that client operators have been able to obtain details | |||
of these fees out-of-band by contacting the server operators. | of these fees out-of-band by contacting the server operators. | |||
skipping to change at page 3, line 43 ¶ | skipping to change at page 3, line 43 ¶ | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
XML is case sensitive. Unless stated otherwise, XML specifications | XML is case sensitive. Unless stated otherwise, XML specifications | |||
and examples provided in this document MUST be interpreted in the | and examples provided in this document MUST be interpreted in the | |||
character case presented in order to develop a conforming | character case presented in order to develop a conforming | |||
implementation. | implementation. | |||
"fee" is used as an abbreviation for "urn:ietf:params:xml:ns:fee- | "fee" is used as an abbreviation for "urn:ietf:params:xml:ns:fee- | |||
0.25". The XML namespace prefix "fee" is used, but implementations | 1.0". The XML namespace prefix "fee" is used, but implementations | |||
MUST NOT depend on it and instead employ a proper namespace-aware XML | MUST NOT depend on it and instead employ a proper namespace-aware XML | |||
parser and serializer to interpret and output the XML documents. | parser and serializer to interpret and output the XML documents. | |||
In examples, "C:" represents lines sent by a protocol client and "S:" | In examples, "C:" represents lines sent by a protocol client and "S:" | |||
represents lines returned by a protocol server. Indentation and | represents lines returned by a protocol server. Indentation and | |||
white space in examples are provided only to illustrate element | white space in examples are provided only to illustrate element | |||
relationships and are not a REQUIRED feature of this protocol. | relationships and are not a REQUIRED feature of this protocol. | |||
(Note to RFC Editor: remove the following paragraph before | ||||
publication as an RFC.) | ||||
The XML namespace prefix above contains a version number, | ||||
specifically "0.25". This version number will increment with | ||||
successive versions of this document, and will reach 1.0 if and when | ||||
this document is published as an RFC. This permits clients to | ||||
distinguish which version of the extension a server has implemented. | ||||
2. Migrating to Newer Versions of This Extension | 2. Migrating to Newer Versions of This Extension | |||
(Note to RFC Editor: remove this section before publication as an | (Note to RFC Editor: remove this section before publication as an | |||
RFC.) | RFC.) | |||
Servers which implement this extension SHOULD provide a way for | Servers which implement this extension SHOULD provide a way for | |||
clients to progressively update their implementations when a new | clients to progressively update their implementations when a new | |||
version of the extension is deployed. | version of the extension is deployed. | |||
Servers SHOULD (for a temporary migration period) provide support for | Servers SHOULD (for a temporary migration period) provide support for | |||
skipping to change at page 5, line 9 ¶ | skipping to change at page 4, line 49 ¶ | |||
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 uses the "customName" | |||
attribute to define the custom operation. | attribute to define the custom operation. | |||
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 [draft-ietf-eppext- | specifying a launch phase as described in [RFC8334]. It may also | |||
launchphase]. It may also contain an OPTIONAL "subphase" attribute | contain an OPTIONAL "subphase" attribute identifying the custom or | |||
identifying the custom or sub-phase as described in [draft-ietf- | sub-phase as described in [RFC8334]. | |||
eppext-launchphase]. | ||||
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 | |||
currency code from [ISO4217]. | currency code from [ISO4217]. | |||
Note that ISO 4217 provides the special "XXX" code, which MAY be used | Note that ISO 4217 provides the special "XXX" code, which MAY be used | |||
if the server uses a non-currency based system for assessing fees, | if the server uses a non-currency based system for assessing fees, | |||
such as a system of credits. | such as a system of credits. | |||
The use of <fee:currency> elements in client commands is OPTIONAL: if | The use of <fee:currency> elements in client commands is OPTIONAL: if | |||
a <fee:currency> element is not present in a command, the server MUST | a <fee:currency> element is not present in a command, the server MUST | |||
determine the currency based on the client's account settings which | determine the currency based on the server default currency or based | |||
MUST be agreed by the client and server via an out-of-band channel. | on the client's account settings which are agreed to by the client | |||
However, the <fee:currency> element MUST be present in responses. | and server via an out-of-band channel. However, the <fee:currency> | |||
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 units to be added to the | |||
registration period of objects by the <create>, <renew> and | registration period of objects by the <create>, <renew> and | |||
skipping to change at page 6, line 49 ¶ | skipping to change at page 6, line 38 ¶ | |||
deducted from the client's account. | deducted from the client's account. | |||
The <fee:credit> element can take a "description" attribute as | The <fee:credit> element can take a "description" attribute as | |||
described above. No other attributes are defined for this element. | described above. No other attributes are defined for this element. | |||
3.4.1. Refunds | 3.4.1. Refunds | |||
<fee:fee> elements MAY have an OPTIONAL "refundable" attribute which | <fee:fee> elements MAY have an OPTIONAL "refundable" attribute which | |||
takes a boolean value. Fees may be refunded under certain | takes a boolean value. Fees may be refunded under certain | |||
circumstances, such as when a domain application is rejected (as | circumstances, such as when a domain application is rejected (as | |||
described in [draft-ietf-eppext-launchphase]) or when an object is | described in [RFC8334]) or when an object is deleted during the | |||
deleted during the relevant Grace Period (see below). | relevant Grace Period (see below). | |||
If the "refundable" attribute is omitted, then clients SHOULD NOT | If the "refundable" attribute is omitted, then clients SHOULD NOT | |||
make any assumption about the refundability of the fee. | make any assumption about the refundability of the fee. | |||
3.4.2. Grace Periods | 3.4.2. Grace Periods | |||
[RFC3915] describes a system of "grace periods", which are time | [RFC3915] describes a system of "grace periods", which are time | |||
periods following a billable transaction during which, if an object | periods following a billable transaction during which, if an object | |||
is deleted, the client receives a refund. | is deleted, the client receives a refund. | |||
The "grace-period" attribute MAY be used to indicate the relevant | The "grace-period" attribute MAY be used to indicate the relevant | |||
grace period for a fee. If a server implements the Registry Grace | grace period for a fee. If a server implements the Registry Grace | |||
Period extension, it MUST specify the grace period for all relevant | Period extension [RFC3915], it MUST specify the grace period for all | |||
transactions. | relevant transactions. | |||
If the "grace-period" attribute is omitted, then clients SHOULD NOT | If the "grace-period" attribute is omitted, then clients SHOULD NOT | |||
make any assumption about the grace period of the fee. | make any assumption about the grace period of the fee. | |||
3.4.3. Correlation between Refundability and Grace Periods | 3.4.3. Correlation between Refundability and Grace Periods | |||
If a <fee:fee> element has a "grace-period" attribute then it MUST | If a <fee:fee> element has a "grace-period" attribute then it MUST | |||
also be refundable. If the "refundable" attribute of a <fee:fee> | also be refundable. If the "refundable" attribute of a <fee:fee> | |||
element is false then it MUST NOT have a "grace-period" attribute. | element is false then it MUST NOT have a "grace-period" attribute. | |||
skipping to change at page 7, line 50 ¶ | skipping to change at page 7, line 38 ¶ | |||
3.5. Account Balance | 3.5. Account Balance | |||
The <fee:balance> element is an OPTIONAL element which MAY be | The <fee:balance> element is an OPTIONAL element which MAY be | |||
included in server responses to transform commands. If present, it | included in server responses to transform commands. If present, it | |||
can be used by the client to determine the remaining credit at the | can be used by the client to determine the remaining credit at the | |||
server. | server. | |||
Whether or not the <fee:balance> is included in responses is a matter | Whether or not the <fee:balance> is included in responses is a matter | |||
of server policy. However, if a server chooses to offer support for | of server policy. However, if a server chooses to offer support for | |||
this element, it MUST be included in responses to all "transform" or | this element, it MUST be included in responses to all "transform" or | |||
billable commands (ie <create>, <renew>, <update>, <delete>, | billable commands (e.g. <create>, <renew>, <update>, <delete>, | |||
<transfer op="request">). | <transfer op="request">). | |||
The value of the <fee:balance> MAY be negative. A negative balance | The value of the <fee:balance> MAY be negative. A negative balance | |||
indicates that the server has extended a line of credit to the client | indicates that the server has extended a line of credit to the client | |||
(see below). | (see below). | |||
If a server includes a <fee:balance> element in response to transform | If a server includes a <fee:balance> element in response to transform | |||
commands, the value of the element MUST reflect the client's account | commands, the value of the element MUST reflect the client's account | |||
balance after any fees or credits associated with that command have | balance after any fees or credits associated with that command have | |||
been applied. | been applied. | |||
skipping to change at page 8, line 27 ¶ | skipping to change at page 8, line 18 ¶ | |||
<fee:balance> with a negative value, then the server has extended a | <fee:balance> with a negative value, then the server has extended a | |||
line of credit to the client. A server MAY also include a | line of credit to the client. A server MAY also include a | |||
<fee:creditLimit> element in responses which indicates the maximum | <fee:creditLimit> element in responses which indicates the maximum | |||
credit available to a client. A server MAY reject certain | credit available to a client. A server MAY reject certain | |||
transactions if the absolute value of the <fee:balance> is equal to | transactions if the absolute value of the <fee:balance> is equal to | |||
or exceeds the value of the <fee:creditLimit> element. | or exceeds the value of the <fee:creditLimit> element. | |||
Whether or not the <fee:creditLimit> is included in responses is a | Whether or not the <fee:creditLimit> is included in responses is a | |||
matter of server policy. However, if a server chooses to offer | matter of server policy. However, if a server chooses to offer | |||
support for this element, it MUST be included in responses to all | support for this element, it MUST be included in responses to all | |||
"transform" commands (ie <create>, <renew>, <update>, <delete>, | "transform" commands (e.g. <create>, <renew>, <update>, <delete>, | |||
<transfer op="request">). | <transfer op="request">). | |||
3.7. Classification of Objects | 3.7. Classification of Objects | |||
Objects may be assigned to a particular class, category, or tier, | Objects may be assigned to a particular class, category, or tier, | |||
each of which has a particular fee or set of fees associated with it. | each of which has a particular fee or set of fees associated with it. | |||
The <fee:class> element, which MAY appear in <check> and transform | The <fee:class> element, which MAY appear in <check> and transform | |||
responses, is used to indicate the classification of an object. | responses, is used to indicate the classification of an object. | |||
If a server makes use of this element, it should provide clients with | If a server makes use of this element, it should provide clients with | |||
skipping to change at page 8, line 50 ¶ | skipping to change at page 8, line 41 ¶ | |||
list. | list. | |||
Servers which make use of this element MUST use a <fee:class> element | Servers which make use of this element MUST use a <fee:class> element | |||
with the value "standard" for all objects that are subject to the | with the value "standard" for all objects that are subject to the | |||
standard or default fee. | standard or default fee. | |||
3.8. Phase and Subphase Attributes | 3.8. Phase and Subphase Attributes | |||
The <fee:command> element has two attributes, phase and subphase, | The <fee:command> element has two attributes, phase and subphase, | |||
that provide additional information related to a specific launch | that provide additional information related to a specific launch | |||
phase as described in [draft-ietf-eppext-launchphase]. These | phase as described in [RFC8334]. These attributes are used as | |||
attributes are used as filters that should refine the server | filters that should refine the server processing. | |||
processing. | ||||
If the client <fee:command> contains a server supported combination | If the client <fee:command> contains a server supported combination | |||
of phase/subphase the server MUST return fee data (including the | of phase/subphase the server MUST return fee data (including the | |||
phase/subphase attribute(s)) for the specific combination. | phase/subphase attribute(s)) for the specific combination. | |||
If the client <fee:command> contains no phase/subphase attributes and | If the client <fee:command> contains no phase/subphase attributes and | |||
the server has only one active phase/subphase combination the server | the server has only one active phase/subphase combination the server | |||
MUST return data (including the phase/subphase attribute(s)) of the | MUST return data (including the phase/subphase attribute(s)) of the | |||
currently active phase/subphase. | currently active phase/subphase. | |||
skipping to change at page 9, line 40 ¶ | skipping to change at page 9, line 31 ¶ | |||
If the client <fee:command> contains a phase attribute with no | If the client <fee:command> contains a phase attribute with no | |||
subphase and the server has more than one active subphase combination | subphase and the server has more than one active subphase combination | |||
of this phase, the server MUST respond with a 2003 "Required | of this phase, the server MUST respond with a 2003 "Required | |||
parameter missing" error. | parameter missing" error. | |||
If the client <fee:command> contains a subphase with no phase | If the client <fee:command> contains a subphase with no phase | |||
attribute the server MUST respond with a 2003 "Required parameter | attribute the server MUST respond with a 2003 "Required parameter | |||
missing" error. | missing" error. | |||
If the client <fee:command> contains a phase attribute not defined in | If the client <fee:command> contains a phase attribute not defined in | |||
[draft-ietf-eppext-launchphase] or not supported by server the server | [RFC8334] or not supported by server the server MUST respond with a | |||
MUST respond with a 2004 "Parameter value range" error. | 2004 "Parameter value range" error. | |||
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 of the returned text and has a default value of | |||
"en" English. | "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. | |||
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 | |||
skipping to change at page 11, line 16 ¶ | skipping to change at page 10, line 48 ¶ | |||
Depending on server policy, a client MAY be required to include the | Depending on server policy, a client MAY be required to include the | |||
extension elements described in this document for certain transform | extension elements described in this document for certain transform | |||
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 domain name in the <check> command that does not include the | for any domain name 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 domain name. | same domain object. | |||
If a server receives a <check> command from a client which results in | If a server receives a <check> command from a client, which results | |||
no possible fee combination but where a fee is required, the server | in no possible fee combination but where a fee is required, the | |||
MUST set the "avail" attribute of the <fee:cd> element to false and | server MUST set the "avail" attribute of the <fee:cd> element to | |||
provide a <fee:reason>. | false and provide a <fee:reason>. | |||
If a server receives a <check> command from a client which results in | If a server receives a <check> command from a client, which results | |||
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 currency or total fee provided by the client is less than the | |||
server's own calculation of the fee for that command, then the server | server's own calculation of the fee for that command, then the server | |||
MUST reject the command with a 2004 "Parameter value range" error. | MUST reject the command with a 2004 "Parameter value range" error. | |||
5. EPP Command Mapping | 5. EPP Command Mapping | |||
skipping to change at page 12, line 11 ¶ | skipping to change at page 11, line 44 ¶ | |||
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) contain(s) a "name" attribute (see | |||
Section 3.1), an OPTIONAL "phase" attribute, and an OPTIONAL | Section 3.1), an OPTIONAL "standard" attribute with a default value | |||
of false (0), 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"> | |||
C: <command> | C: <command> | |||
C: <check> | C: <check> | |||
C: <domain:check | C: <domain:check | |||
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:name>example.net</domain:name> | C: <domain:name>example.net</domain:name> | |||
C: <domain:name>example.xyz</domain:name> | C: <domain:name>example.xyz</domain:name> | |||
C: </domain:check> | C: </domain:check> | |||
C: </check> | C: </check> | |||
C: <extension> | C: <extension> | |||
C: <fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.25"> | C: <fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-1.0"> | |||
C: <fee:currency>USD</fee:currency> | C: <fee:currency>USD</fee:currency> | |||
C: <fee:command name="create"> | C: <fee:command name="create"> | |||
C: <fee:period unit="y">2</fee:period> | C: <fee:period unit="y">2</fee:period> | |||
C: </fee:command> | C: </fee:command> | |||
C: <fee:command name="renew"/> | C: <fee:command name="renew"/> | |||
C: <fee:command name="transfer"/> | C: <fee:command name="transfer"/> | |||
C: <fee:command name="restore"/> | C: <fee:command name="restore"/> | |||
C: </fee:check> | C: </fee:check> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
skipping to change at page 14, line 20 ¶ | skipping to change at page 14, line 10 ¶ | |||
S: <domain:cd> | S: <domain:cd> | |||
S: <domain:name avail="1">example.net</domain:name> | S: <domain:name avail="1">example.net</domain:name> | |||
S: </domain:cd> | S: </domain:cd> | |||
S: <domain:cd> | S: <domain:cd> | |||
S: <domain:name avail="1">example.xyz</domain:name> | S: <domain:name avail="1">example.xyz</domain:name> | |||
S: </domain:cd> | S: </domain:cd> | |||
S: </domain:chkData> | S: </domain:chkData> | |||
S: </resData> | S: </resData> | |||
S: <extension> | S: <extension> | |||
S: <fee:chkData | S: <fee:chkData | |||
S: xmlns:fee="urn:ietf:params:xml:ns:fee-0.25"> | S: xmlns:fee="urn:ietf:params:xml:ns:fee-1.0"> | |||
S: <fee:currency>USD</fee:currency> | S: <fee:currency>USD</fee:currency> | |||
S: <fee:cd avail="1"> | S: <fee:cd avail="1"> | |||
S: <fee:objID>example.com</fee:objID> | S: <fee:objID>example.com</fee:objID> | |||
S: <fee:class>Premium</fee:class> | ||||
S: <fee:command name="create"> | S: <fee:command name="create"> | |||
S: <fee:period unit="y">2</fee:period> | S: <fee:period unit="y">2</fee:period> | |||
S: <fee:fee | S: <fee:fee | |||
S: description="Registration Fee" | S: description="Registration Fee" | |||
S: refundable="1" | S: refundable="1" | |||
S: grace-period="P5D">10.00</fee:fee> | S: grace-period="P5D">10.00</fee:fee> | |||
S: </fee:command> | S: </fee:command> | |||
S: <fee:command name="renew"> | S: <fee:command name="renew"> | |||
S: <fee:period unit="y">1</fee:period> | S: <fee:period unit="y">1</fee:period> | |||
S: <fee:fee | S: <fee:fee | |||
skipping to change at page 15, line 47 ¶ | skipping to change at page 15, line 38 ¶ | |||
S: </fee:cd> | S: </fee:cd> | |||
S: </fee:chkData> | S: </fee:chkData> | |||
S: </extension> | S: </extension> | |||
S: <trID> | S: <trID> | |||
S: <clTRID>ABC-12345</clTRID> | S: <clTRID>ABC-12345</clTRID> | |||
S: <svTRID>54322-XYZ</svTRID> | S: <svTRID>54322-XYZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S: </epp> | S: </epp> | |||
5.1.1.1. Server Handling of Elements | ||||
Clients MAY include a <fee:class> in the <fee:cd> element. There are | ||||
two ways in which servers may handle this element: | ||||
1. If the server supports the concept of tiers or classes of | ||||
objects, then the value of this element MUST be validated. If | ||||
incorrect for the specified object, the "avail" attribute of the | ||||
corresponding <fee:cd> element MUST be false. | ||||
2. If the server supports different "types" of object registrations | ||||
(such as a "blocking" registration which does not resolve, or | ||||
where a registry provides a value-added service that requires an | ||||
opt-out to disable), then, as with the first model, the server | ||||
MUST validate the value of the element. If the value is | ||||
incorrect, the "avail" attribute of the corresponding <fee:cd> | ||||
element MUST be false, and a <fee:reason> element (as described | ||||
in Section 3.9) MUST be provided. | ||||
Server operators must provide clear documentation to client operators | ||||
which of the above models it supports. | ||||
5.1.2. EPP Transfer Query Command | 5.1.2. EPP Transfer Query Command | |||
This extension does not add any elements to the EPP <transfer> query | This extension does not add any elements to the EPP <transfer> query | |||
command, but does include elements in the response, when the | command, but does include elements in the response, when the | |||
extension has been selected during a <login> command. | extension is included in the <login> command service extensions. | |||
When the <transfer> query command has been processed successfully, | When the <transfer> query command has been processed successfully, | |||
the client selected the extension when it logged in, and the client | the client included the extension in the <login> command service | |||
is authorized by the server to view information about the transfer, | extensions, and the client is authorized by the server to view | |||
the server MAY include in the <extension> section of the EPP response | information about the transfer, the server MAY include in the | |||
a <fee:trnData> element, which contains the following child elements: | <extension> section of the EPP response a <fee:trnData> element, | |||
which contains the following child elements: | ||||
o A <fee:currency> element (as described in Section 3.2). | o A <fee:currency> element (as described in Section 3.2). | |||
o A <fee:period> element (as described in Section 3.3). | o A <fee:period> element (as described in Section 3.3). | |||
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) | |||
containing the fees that will be charged to the gaining client. | containing the fees that will be charged to the gaining client. | |||
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) | |||
containing the credits that will be refunded to the losing client. | containing the credits that will be refunded to the losing client. | |||
Servers SHOULD omit <fee:credit> when returning a response to the | Servers SHOULD omit <fee:credit> when returning a response to the | |||
gaining client, and omit <fee:fee> elements when returning a response | gaining client, and omit <fee:fee> elements when returning a response | |||
to the losing client. | to the losing client. | |||
skipping to change at page 17, line 26 ¶ | skipping to change at page 16, line 39 ¶ | |||
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>2000-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>2000-06-13T22:00:00.0Z</domain:acDate> | |||
S: <domain:exDate>2002-09-08T22:00:00.0Z</domain:exDate> | S: <domain:exDate>2002-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:fee-0.25"> | S: <fee:trnData xmlns:fee="urn:ietf:params:xml:ns: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> | |||
S: <clTRID>ABC-12345</clTRID> | S: <clTRID>ABC-12345</clTRID> | |||
S: <svTRID>54322-XYZ</svTRID> | S: <svTRID>54322-XYZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S: </epp> | S: </epp> | |||
5.2. EPP Transform Commands | 5.2. EPP Transform Commands | |||
5.2.1. EPP <create> Command | 5.2.1. EPP <create> Command | |||
This extension adds elements to both the EPP <create> command and | This extension adds elements to both the EPP <create> command and | |||
response, when the extension has been selected during a <login> | response, when the extension is included in the <login> command | |||
command. | 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 | The server MUST fail the <create> command if the <fee:fee> provided | |||
by the client is less than the server fee. | 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 selected the extension when it logged in, and a fee was | client included the extension in the <login> command service | |||
assessed by the server for the transaction, the server MUST include | extensions, and a fee was assessed by the server for the transaction, | |||
in the <extension> section of the EPP response a <fee:creData> | the server MUST include in the <extension> section of the EPP | |||
element, which contains the following child elements: | response a <fee:creData> element, which contains the following child | |||
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); | |||
o An OPTIONAL <fee:balance> element (as described in Section 3.5); | o An OPTIONAL <fee:balance> element (as described in Section 3.5); | |||
o An OPTIONAL <fee:creditLimit> element (as described in | o An OPTIONAL <fee:creditLimit> element (as described in | |||
Section 3.6). | Section 3.6). | |||
Example <create> command: | Example <create> command: | |||
skipping to change at page 18, line 44 ¶ | skipping to change at page 18, line 28 ¶ | |||
C: </domain:ns> | C: </domain:ns> | |||
C: <domain:registrant>jd1234</domain:registrant> | C: <domain:registrant>jd1234</domain:registrant> | |||
C: <domain:contact type="admin">sh8013</domain:contact> | C: <domain:contact type="admin">sh8013</domain:contact> | |||
C: <domain:contact type="tech">sh8013</domain:contact> | C: <domain:contact type="tech">sh8013</domain:contact> | |||
C: <domain:authInfo> | C: <domain:authInfo> | |||
C: <domain:pw>2fooBAR</domain:pw> | C: <domain:pw>2fooBAR</domain:pw> | |||
C: </domain:authInfo> | C: </domain:authInfo> | |||
C: </domain:create> | C: </domain:create> | |||
C: </create> | C: </create> | |||
C: <extension> | C: <extension> | |||
C: <fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.25"> | C: <fee:create xmlns:fee="urn:ietf:params:xml:ns: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:create> | C: </fee:create> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C: </epp> | C: </epp> | |||
Example <create> response: | Example <create> response: | |||
S: <?xml version="1.0" encoding="utf-8" standalone="no"?> | S: <?xml version="1.0" encoding="utf-8" standalone="no"?> | |||
skipping to change at page 19, line 21 ¶ | skipping to change at page 19, line 21 ¶ | |||
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>1999-04-03T22:00:00.0Z</domain:crDate> | |||
S: <domain:exDate>2001-04-03T22:00:00.0Z</domain:exDate> | S: <domain:exDate>2001-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:fee-0.25"> | S: <fee:creData xmlns:fee="urn:ietf:params:xml:ns: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: refundable="1" | S: refundable="1" | |||
S: grace-period="P5D">5.00</fee:fee> | S: grace-period="P5D">5.00</fee:fee> | |||
S: <fee:balance>-5.00</fee:balance> | S: <fee:balance>-5.00</fee:balance> | |||
S: <fee:creditLimit>1000.00</fee:creditLimit> | S: <fee:creditLimit>1000.00</fee:creditLimit> | |||
S: </fee:creData> | S: </fee:creData> | |||
S: </extension> | S: </extension> | |||
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> | |||
5.2.2. EPP <delete> Command | 5.2.2. EPP <delete> Command | |||
This extension does not add any elements to the EPP <delete> command, | This extension does not add any elements to the EPP <delete> command, | |||
but does include elements in the response, when the extension has | but does include elements in the response, when the extension is | |||
been selected during the <login> command. | included in the <login> command service extensions. | |||
When the <delete> command has been processed successfully, and the | When the <delete> command has been processed successfully, and the | |||
client selected the extension when it logged in, the server MAY | client included the extension in the <login> command service | |||
include in the <extension> section of the EPP response a | extensions, the server MAY include in the <extension> section of the | |||
<fee:delData> element, which contains the following child elements: | EPP response a <fee:delData> element, which contains the following | |||
child 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); | |||
o An OPTIONAL <fee:balance> element (as described in Section 3.5); | o An OPTIONAL <fee:balance> element (as described in Section 3.5); | |||
o An OPTIONAL <fee:creditLimit> element (as described in | o An OPTIONAL <fee:creditLimit> element (as described in | |||
Section 3.6). | Section 3.6). | |||
Example <delete> response: | Example <delete> 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: <extension> | S: <extension> | |||
S: <fee:delData | S: <fee:delData | |||
S: xmlns:fee="urn:ietf:params:xml:ns:fee-0.25"> | S: xmlns:fee="urn:ietf:params:xml:ns:fee-1.0"> | |||
S: <fee:currency>USD</fee:currency> | S: <fee:currency>USD</fee:currency> | |||
S: <fee:credit description="AGP Credit">-5.00</fee:credit> | S: <fee:credit description="AGP Credit">-5.00</fee:credit> | |||
S: <fee:balance>1005.00</fee:balance> | S: <fee:balance>1005.00</fee:balance> | |||
S: </fee:delData> | S: </fee:delData> | |||
S: </extension> | S: </extension> | |||
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> | |||
5.2.3. EPP <renew> Command | 5.2.3. EPP <renew> Command | |||
This extension adds elements to both the EPP <renew> command and | This extension adds elements to both the EPP <renew> command and | |||
response, when the extension has been selected during a <login> | response, when the extension is included in the <login> command | |||
command. | service extensions. | |||
When submitting a <renew> command to the server, the client MAY | When submitting a <renew> command to the server, the client MAY | |||
include in the <extension> element a <fee:renew> element which | include in the <extension> element a <fee:renew> 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). | |||
When the <renew> command has been processed successfully, and the | When the <renew> command has been processed successfully, and the | |||
client selected the extension when it logged in, the server MAY | client included the extension in the <login> command service | |||
include in the <extension> section of the EPP response a | extensions, the server MAY include in the <extension> section of the | |||
<fee:renData> element, which contains the following child elements: | EPP response a <fee:renData> element, which contains the following | |||
child 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); | |||
o An OPTIONAL <fee:balance> element (as described in Section 3.5); | o An OPTIONAL <fee:balance> element (as described in Section 3.5); | |||
o An OPTIONAL <fee:creditLimit> element (as described in | o An OPTIONAL <fee:creditLimit> element (as described in | |||
Section 3.6). | Section 3.6). | |||
Example <renew> command: | Example <renew> command: | |||
skipping to change at page 21, line 22 ¶ | skipping to change at page 21, line 24 ¶ | |||
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>2000-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:fee-0.25"> | C: <fee:renew xmlns:fee="urn:ietf:params:xml:ns: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> | |||
C: </command> | C: </command> | |||
C: </epp> | C: </epp> | |||
Example <renew> response: | Example <renew> response: | |||
S: <?xml version="1.0" encoding="utf-8" standalone="no"?> | S: <?xml version="1.0" encoding="utf-8" standalone="no"?> | |||
skipping to change at page 22, line 20 ¶ | skipping to change at page 22, line 20 ¶ | |||
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>2005-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:fee-0.25"> | S: <fee:renData xmlns:fee="urn:ietf:params:xml:ns: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> | |||
S: </extension> | S: </extension> | |||
S: <trID> | S: <trID> | |||
S: <clTRID>ABC-12345</clTRID> | S: <clTRID>ABC-12345</clTRID> | |||
S: <svTRID>54322-XYZ</svTRID> | S: <svTRID>54322-XYZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S: </epp> | S: </epp> | |||
5.2.4. EPP <transfer> Command | 5.2.4. EPP <transfer> Command | |||
This extension adds elements to both the EPP <transfer> command and | This extension adds elements to both the EPP <transfer> command and | |||
response, when the value of the "op" attribute of the <transfer> | response, when the value of the "op" attribute of the <transfer> | |||
command element is "request", and the extension has been selected | command element is "request", and the extension is included in the | |||
during the <login> command. | <login> command service extensions. | |||
When submitting a <transfer> command to the server, the client MAY | When submitting a <transfer> command to the server, the client MAY | |||
include in the <extension> element a <fee:transfer> element which | include in the <extension> element a <fee:transfer> 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). | |||
When the <transfer> command has been processed successfully, and the | When the <transfer> command has been processed successfully, and the | |||
client selected the extension when it logged in, the server MAY | client included the extension in the <login> command service | |||
include in the <extension> section of the EPP response a | extensions, the server MAY include in the <extension> section of the | |||
<fee:trnData> element, which contains the following child elements: | EPP response a <fee:trnData> element, which contains the following | |||
child 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); | |||
o An OPTIONAL <fee:balance> element (as described in Section 3.5); | o An OPTIONAL <fee:balance> element (as described in Section 3.5); | |||
o An OPTIONAL <fee:creditLimit> element (as described in | o An OPTIONAL <fee:creditLimit> element (as described in | |||
Section 3.6). | Section 3.6). | |||
Example <transfer> command: | Example <transfer> command: | |||
skipping to change at page 23, line 30 ¶ | skipping to change at page 23, line 30 ¶ | |||
C: <domain:transfer | C: <domain:transfer | |||
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:period unit="y">1</domain:period> | C: <domain:period unit="y">1</domain:period> | |||
C: <domain:authInfo> | C: <domain:authInfo> | |||
C: <domain:pw roid="JD1234-REP">2fooBAR</domain:pw> | C: <domain:pw roid="JD1234-REP">2fooBAR</domain:pw> | |||
C: </domain:authInfo> | C: </domain:authInfo> | |||
C: </domain:transfer> | C: </domain:transfer> | |||
C: </transfer> | C: </transfer> | |||
C: <extension> | C: <extension> | |||
C: <fee:transfer xmlns:fee="urn:ietf:params:xml:ns:fee-0.25"> | C: <fee:transfer xmlns:fee="urn:ietf:params:xml:ns: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:transfer> | C: </fee:transfer> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C: </epp> | C: </epp> | |||
Example <transfer> response: | Example <transfer> response: | |||
S: <?xml version="1.0" encoding="utf-8" standalone="no"?> | S: <?xml version="1.0" encoding="utf-8" standalone="no"?> | |||
skipping to change at page 24, line 25 ¶ | skipping to change at page 24, line 25 ¶ | |||
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>2000-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>2000-06-13T22:00:00.0Z</domain:acDate> | |||
S: <domain:exDate>2002-09-08T22:00:00.0Z</domain:exDate> | S: <domain:exDate>2002-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:fee-0.25"> | S: <fee:trnData xmlns:fee="urn:ietf:params:xml:ns: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> | |||
S: <trID> | S: <trID> | |||
S: <clTRID>ABC-12345</clTRID> | S: <clTRID>ABC-12345</clTRID> | |||
S: <svTRID>54322-XYZ</svTRID> | S: <svTRID>54322-XYZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S: </epp> | S: </epp> | |||
5.2.5. EPP <update> Command | 5.2.5. EPP <update> Command | |||
This extension adds elements to both the EPP <update> command and | This extension adds elements to both the EPP <update> command and | |||
response, when the extension has been selected during the <login> | response, when the extension is included in the <login> command | |||
command. | service extensions. | |||
When submitting a <update> command to the server, the client MAY | When submitting a <update> command to the server, the client MAY | |||
include in the <extension> element a <fee:update> element which | include in the <extension> element a <fee:update> 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). | |||
When the <update> command has been processed successfully, and the | When the <update> command has been processed successfully, and the | |||
client selected the extension when it logged in, the server MAY | client included the extension in the <login> command service | |||
include in the <extension> section of the EPP response a | extensions, the server MAY include in the <extension> section of the | |||
<fee:updData> element, which contains the following child elements: | EPP response a <fee:updData> element, which contains the following | |||
child 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); | |||
o An OPTIONAL <fee:balance> element (as described in Section 3.5); | o An OPTIONAL <fee:balance> element (as described in Section 3.5); | |||
o An OPTIONAL <fee:creditLimit> element (as described in | o An OPTIONAL <fee:creditLimit> element (as described in | |||
Section 3.6). | Section 3.6). | |||
Example <update> command: | Example <update> command: | |||
skipping to change at page 25, line 32 ¶ | skipping to change at page 25, line 33 ¶ | |||
C: <update> | C: <update> | |||
C: <domain:update | C: <domain:update | |||
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:chg> | C: <domain:chg> | |||
C: <domain:registrant>sh8013</domain:registrant> | C: <domain:registrant>sh8013</domain:registrant> | |||
C: </domain:chg> | C: </domain:chg> | |||
C: </domain:update> | C: </domain:update> | |||
C: </update> | C: </update> | |||
C: <extension> | C: <extension> | |||
C: <fee:update xmlns:fee="urn:ietf:params:xml:ns:fee-0.25"> | C: <fee:update xmlns:fee="urn:ietf:params:xml:ns: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:update> | C: </fee:update> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C: </epp> | C: </epp> | |||
Example <update> response: | Example <update> response: | |||
S: <?xml version="1.0" encoding="utf-8" standalone="no"?> | S: <?xml version="1.0" encoding="utf-8" standalone="no"?> | |||
S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
S: <response> | S: <response> | |||
S: <result code="1000"> | S: <result code="1000"> | |||
S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
S: </result> | S: </result> | |||
S: <extension> | S: <extension> | |||
S: <fee:updData xmlns:fee="urn:ietf:params:xml:ns:fee-0.25"> | S: <fee:updData xmlns:fee="urn:ietf:params:xml:ns:fee-1.0"> | |||
S: <fee:currency>USD</fee:currency> | S: <fee:currency>USD</fee:currency> | |||
S: <fee:fee>5.00</fee:fee> | S: <fee:fee>5.00</fee:fee> | |||
S: </fee:updData> | S: </fee:updData> | |||
S: </extension> | S: </extension> | |||
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 26, line 37 ¶ | skipping to change at page 26, line 37 ¶ | |||
One schema is presented here that is the EPP Fee Extension schema. | One schema is presented here that is the EPP Fee Extension schema. | |||
The formal syntax presented here is a complete schema representation | The formal syntax presented here is a complete schema representation | |||
of the object mapping suitable for automated validation of EPP XML | of the object mapping suitable for automated validation of EPP XML | |||
instances. The BEGIN and END tags are not part of the schema; they | instances. The BEGIN and END tags are not part of the schema; they | |||
are used to note the beginning and ending of the schema for URI | are used to note the beginning and ending of the schema for URI | |||
registration purposes. | registration purposes. | |||
6.1. Fee Extension Schema | 6.1. Fee Extension Schema | |||
Copyright (c) 2018 IETF Trust and the persons identified as authors | ||||
of the code. All rights reserved. | ||||
Redistribution and use in source and binary forms, with or without | ||||
modification, are permitted provided that the following conditions | ||||
are met: | ||||
o Redistributions of source code must retain the above copyright | ||||
notice, this list of conditions and the following disclaimer. | ||||
o Redistributions in binary form must reproduce the above copyright | ||||
notice, this list of conditions and the following disclaimer in | ||||
the documentation and/or other materials provided with the | ||||
distribution. | ||||
o Neither the name of Internet Society, IETF or IETF Trust, nor the | ||||
names of specific contributors, may be used to endorse or promote | ||||
products derived from this software without specific prior written | ||||
permission. | ||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
BEGIN | BEGIN | |||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | |||
<schema xmlns="http://www.w3.org/2001/XMLSchema" | <schema xmlns="http://www.w3.org/2001/XMLSchema" | |||
xmlns:fee="urn:ietf:params:xml:ns:fee-0.25" | xmlns:fee="urn:ietf:params:xml:ns:fee-1.0" | |||
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" | xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" | |||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" | xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" | |||
targetNamespace="urn:ietf:params:xml:ns:fee-0.25" | targetNamespace="urn:ietf:params:xml:ns:fee-1.0" | |||
elementFormDefault="qualified"> | elementFormDefault="qualified"> | |||
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0" /> | <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" /> | |||
<import namespace="urn:ietf:params:xml:ns:domain-1.0" /> | <import namespace="urn:ietf:params:xml:ns:domain-1.0" /> | |||
<annotation> | <annotation> | |||
<documentation> | <documentation> | |||
Extensible Provisioning Protocol v1.0 Fee Extension | Extensible Provisioning Protocol v1.0 Fee Extension | |||
</documentation> | </documentation> | |||
</annotation> | </annotation> | |||
<!-- Child elements found in EPP commands and responses --> | <!-- Child elements found in EPP commands and responses --> | |||
<element name="check" type="fee:checkType" /> | <element name="check" type="fee:checkType" /> | |||
<element name="chkData" type="fee:chkDataType" /> | <element name="chkData" type="fee:chkDataType" /> | |||
<element name="create" type="fee:transformCommandType" /> | <element name="create" type="fee:transformCommandType" /> | |||
<element name="creData" type="fee:transformResultType" /> | <element name="creData" type="fee:transformResultType" /> | |||
<element name="renew" type="fee:transformCommandType" /> | <element name="renew" type="fee:transformCommandType" /> | |||
<element name="renData" type="fee:transformResultType" /> | <element name="renData" type="fee:transformResultType" /> | |||
skipping to change at page 31, line 12 ¶ | skipping to change at page 31, line 43 ¶ | |||
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. | to this specification as well. | |||
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]. The | conforming to a registry mechanism described in [RFC3688]. | |||
following URI assignment is requested of IANA: | ||||
URI: ietf:params:xml:ns:fee-0.25 | Registration request for the fee namespace: | |||
Registrant Contact: See the "Author's Address" section of this | URI: urn:ietf:params:xml:ns:fee-1.0 | |||
document. | ||||
Registrant Contact: IESG. | ||||
XML: None. Namespace URIs do not represent an XML specification. | ||||
Registration request for the fee schema: | ||||
URI: urn:ietf:params:xml:schema:fee-1.0 | ||||
Registrant Contact: IESG. | ||||
XML: See the "Formal Syntax" section of this document. | XML: See the "Formal Syntax" section of this document. | |||
8.2. EPP Extension Registry | 8.2. EPP Extension Registry | |||
The EPP extension described in this document should be registered by | The EPP extension described in this document should be registered by | |||
the IANA in the EPP Extension Registry described in [RFC7451]. The | the IANA in the EPP Extension Registry described in [RFC7451]. The | |||
details of the registration are as follows: | details of the registration are as follows: | |||
Name of Extension: EPP Fee Extension | Name of Extension: Registry Fee Extension for the Extensible | |||
Provisioning Protocol (EPP) | ||||
Document status: Standards Track | Document status: Standards Track | |||
Reference: (insert reference to RFC version of this document) | Reference: (insert reference to RFC version of this document) | |||
Registrant Name and Email Address: See the "Author's Address" section | Registrant Name and Email Address: IESG, <iesg@ietf.org>. | |||
of this document. | ||||
TLDs: any | TLDs: any | |||
IPR Disclosure: none | IPR Disclosure: none | |||
Status: active | Status: active | |||
Notes: none | Notes: none | |||
9. Implemntation Status | 9. Implementation Status | |||
Note to RFC Editor: Please remove this section and the reference to | Note to RFC Editor: Please remove this section and the reference to | |||
[RFC6982] before publication. | [RFC6982] before publication. | |||
This section records the status of known implementations of the | This section records the status of known implementations of the | |||
protocol defined by this specification at the time of posting of this | protocol defined by this specification at the time of posting of this | |||
Internet-Draft, and is based on a proposal described in [RFC6982]. | Internet-Draft, and is based on a proposal described in [RFC6982]. | |||
The description of implementations in this section is intended to | The description of implementations in this section is intended to | |||
assist the IETF in its decision processes in progressing drafts to | assist the IETF in its decision processes in progressing drafts to | |||
RFCs. Please note that the listing of any individual implementation | RFCs. Please note that the listing of any individual implementation | |||
skipping to change at page 33, line 14 ¶ | skipping to change at page 34, line 7 ¶ | |||
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 08 to 09 | 11.1. Change from 09 to 10 | |||
Updated document per Working Group Last Call comments. Updated | ||||
schema to version 1.0 in anticipation of standardization, no changes | ||||
were made to the latest, 0.25, schema. Made minor textual changes | ||||
throughout for enhanced clarity per WGLC comments. | ||||
11.2. 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.2. Change from 07 to 08 | 11.3. 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.3. Change from 06 to 07 | 11.4. 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.4. Change from 05 to 06 | 11.5. 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.5. Change from 04 to 05 | 11.6. 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.6. Change from 03 to 04 | 11.7. 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.7. Change from 02 to 03 | 11.8. 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.8. Change from 01 to 02 | 11.9. 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.9. Change from 00 to 01 | 11.10. 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.10. Change from draft-brown-00 to draft-ietf-regext-fees-00 | 11.11. Change from draft-brown-00 to draft-ietf-regext-fees-00 | |||
Updated to be REGEXT WG document. | Updated to be REGEXT WG document. | |||
12. Normative References | 12. Normative References | |||
[I-D.ietf-regext-launchphase] | ||||
Gould, J., Tan, W., and G. Brown, "Launch Phase Mapping | ||||
for the Extensible Provisioning Protocol (EPP)", draft- | ||||
ietf-regext-launchphase-05 (work in progress), June 2017. | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
<https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
[RFC3915] Hollenbeck, S., "Domain Registry Grace Period Mapping for | [RFC3915] Hollenbeck, S., "Domain Registry Grace Period Mapping for | |||
skipping to change at page 35, line 48 ¶ | skipping to change at page 36, line 43 ¶ | |||
[RFC6982] Sheffer, Y. and A. Farrel, "Improving Awareness of Running | [RFC6982] Sheffer, Y. and A. Farrel, "Improving Awareness of Running | |||
Code: The Implementation Status Section", RFC 6982, | Code: The Implementation Status Section", RFC 6982, | |||
DOI 10.17487/RFC6982, July 2013, | DOI 10.17487/RFC6982, July 2013, | |||
<https://www.rfc-editor.org/info/rfc6982>. | <https://www.rfc-editor.org/info/rfc6982>. | |||
[RFC7451] Hollenbeck, S., "Extension Registry for the Extensible | [RFC7451] Hollenbeck, S., "Extension Registry for the Extensible | |||
Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451, | Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451, | |||
February 2015, <https://www.rfc-editor.org/info/rfc7451>. | February 2015, <https://www.rfc-editor.org/info/rfc7451>. | |||
[RFC8334] Gould, J., Tan, W., and G. Brown, "Launch Phase Mapping | ||||
for the Extensible Provisioning Protocol (EPP)", RFC 8334, | ||||
DOI 10.17487/RFC8334, March 2018, | ||||
<https://www.rfc-editor.org/info/rfc8334>. | ||||
Authors' Addresses | Authors' Addresses | |||
Roger Carney | Roger Carney | |||
GoDaddy Inc. | GoDaddy Inc. | |||
14455 N. Hayden Rd. #219 | 14455 N. Hayden Rd. #219 | |||
Scottsdale, AZ 85260 | Scottsdale, AZ 85260 | |||
US | US | |||
Email: rcarney@godaddy.com | Email: rcarney@godaddy.com | |||
URI: http://www.godaddy.com | URI: http://www.godaddy.com | |||
End of changes. 76 change blocks. | ||||
157 lines changed or deleted | 179 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |