draft-ietf-regext-epp-fees-06.txt   draft-ietf-regext-epp-fees-07.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: February 4, 2018 CentralNic Group plc Expires: March 25, 2018 CentralNic Group plc
J. Frakes J. Frakes
August 3, 2017 September 21, 2017
Registry Fee Extension for the Extensible Provisioning Protocol (EPP) Registry Fee Extension for the Extensible Provisioning Protocol (EPP)
draft-ietf-regext-epp-fees-06 draft-ietf-regext-epp-fees-07
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.
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 http://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 February 4, 2018. This Internet-Draft will expire on March 25, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 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
(http://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
skipping to change at page 2, line 28 skipping to change at page 2, line 28
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 . . . . . . . . . . . . . 10 4. Server Handling of Fee Information . . . . . . . . . . . . . 10
5. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 10 5. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 10
5.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 10 5.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 10
5.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 10 5.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 10
5.1.1.1. Server Handling of Elements . . . . . . . . . . . 14 5.1.1.1. Server Handling of Elements . . . . . . . . . . . 15
5.1.2. EPP Transfer Query Command . . . . . . . . . . . . . 15 5.1.2. EPP Transfer Query Command . . . . . . . . . . . . . 15
5.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 16 5.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 16
5.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 16 5.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 16
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 . . . . . . . . . . . . . . . . . . . 30
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30
8.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 30 8.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 30
8.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 31 8.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 31
9. Implemntation Status . . . . . . . . . . . . . . . . . . . . 31 9. Implemntation Status . . . . . . . . . . . . . . . . . . . . 31
9.1. RegistryEngine EPP Service . . . . . . . . . . . . . . . 32 9.1. RegistryEngine EPP Service . . . . . . . . . . . . . . . 32
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 32 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 32
11. Change History . . . . . . . . . . . . . . . . . . . . . . . 33 11. Change History . . . . . . . . . . . . . . . . . . . . . . . 33
11.1. Change from 05 to 06 . . . . . . . . . . . . . . . . . . 33 11.1. Change from 06 to 07 . . . . . . . . . . . . . . . . . . 33
11.2. Change from 04 to 05 . . . . . . . . . . . . . . . . . . 33 11.2. Change from 05 to 06 . . . . . . . . . . . . . . . . . . 33
11.3. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 33 11.3. Change from 04 to 05 . . . . . . . . . . . . . . . . . . 33
11.4. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 33 11.4. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 33
11.5. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 33 11.5. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 33
11.6. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 34 11.6. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 34
11.7. Change from draft-brown-00 to draft-ietf-regext-fees-00 34 11.7. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 34
11.8. Change from draft-brown-00 to draft-ietf-regext-fees-00 34
12. Normative References . . . . . . . . . . . . . . . . . . . . 34 12. Normative References . . . . . . . . . . . . . . . . . . . . 34
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35
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
skipping to change at page 8, line 46 skipping to change at page 8, line 46
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]. phase as described in [draft-ietf-eppext-launchphase]. These
attributes are used as filters that should refine the server
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.
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 more than one active phase/subphase combination the the server has more than one active phase/subphase combination the
server MUST respond with a 2003 "Required parameter missing" error. server MUST respond with a 2003 "Required parameter missing" error.
If the client <fee:command> contains no phase/subphase attributes and If the client <fee:command> contains no phase/subphase attributes and
the server is currently in a "quiet period" (e.g. not accepting the server is currently in a "quiet period" (e.g. not accepting
registrations or applications) the server MUST return data consistent registrations or applications) the server MUST return data consistent
with the general availability phase. with the "open" general availability phase (the default phase) and
the server MUST return "open" as the phase.
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 only one active subphase (or no subphase) subphase and the server has only one active subphase (or no subphase)
of this phase, the server MUST return data (including the phase/ of this phase, the server MUST return data (including the phase/
subphase attribute(s)) of the provided phase and currently active subphase attribute(s)) of the provided phase and currently active
subphase. subphase.
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
skipping to change at page 10, line 18 skipping to change at page 10, line 18
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 name.
If a server receives a <check> command from a client which results in
no possible fee combination but where a fee is required, the server
MUST set the "avail" attribute of the <fee:cd> element to false and
provide a <fee:reason>.
If a server receives a <check> command from a client which results in
an ambiguous result (i.e. multiple possible fee combinations) the
server MUST reject the command with a 2003 "Required parameter
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 33, line 7 skipping to change at page 33, 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 05 to 06 11.1. Change from 06 to 07
Updated section 3.8 and 4.0 to provide clarity on server processing
and response of various scenarios.
11.2. 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.2. Change from 04 to 05 11.3. 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.3. Change from 03 to 04 11.4. 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.4. Change from 02 to 03 11.5. 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.5. Change from 01 to 02 11.6. 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.6. Change from 00 to 01 11.7. 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.7. Change from draft-brown-00 to draft-ietf-regext-fees-00 11.8. 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] [I-D.ietf-regext-launchphase]
Gould, J., Tan, W., and G. Brown, "Launch Phase Mapping Gould, J., Tan, W., and G. Brown, "Launch Phase Mapping
for the Extensible Provisioning Protocol (EPP)", draft- for the Extensible Provisioning Protocol (EPP)", draft-
ietf-regext-launchphase-05 (work in progress), June 2017. 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,
<http://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,
<http://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
the Extensible Provisioning Protocol (EPP)", RFC 3915, the Extensible Provisioning Protocol (EPP)", RFC 3915,
DOI 10.17487/RFC3915, September 2004, DOI 10.17487/RFC3915, September 2004,
<http://www.rfc-editor.org/info/rfc3915>. <https://www.rfc-editor.org/info/rfc3915>.
[RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)",
STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009, STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009,
<http://www.rfc-editor.org/info/rfc5730>. <https://www.rfc-editor.org/info/rfc5730>.
[RFC5731] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) [RFC5731] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)
Domain Name Mapping", STD 69, RFC 5731, Domain Name Mapping", STD 69, RFC 5731,
DOI 10.17487/RFC5731, August 2009, DOI 10.17487/RFC5731, August 2009,
<http://www.rfc-editor.org/info/rfc5731>. <https://www.rfc-editor.org/info/rfc5731>.
[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,
<http://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, <http://www.rfc-editor.org/info/rfc7451>. February 2015, <https://www.rfc-editor.org/info/rfc7451>.
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
 End of changes. 25 change blocks. 
31 lines changed or deleted 49 lines changed or added

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