| < draft-brown-epp-fees-00.txt | draft-brown-epp-fees-01.txt > | |||
|---|---|---|---|---|
| Internet Engineering Task Force G. Brown | Internet Engineering Task Force G. Brown | |||
| Internet-Draft CentralNic Group plc | Internet-Draft CentralNic Group plc | |||
| Intended status: Experimental November 4, 2013 | Intended status: Experimental December 9, 2013 | |||
| Expires: May 8, 2014 | Expires: June 12, 2014 | |||
| Registry Fee Extension for the Extensible Provisioning Protocol (EPP) | Registry Fee Extension for the Extensible Provisioning Protocol (EPP) | |||
| draft-brown-epp-fees-00 | draft-brown-epp-fees-01 | |||
| 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 31 ¶ | skipping to change at page 1, line 31 ¶ | |||
| 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 http://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 May 8, 2014. | This Internet-Draft will expire on June 12, 2014. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2013 IETF Trust and the persons identified as the | Copyright (c) 2013 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 | (http://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 | |||
| 1.1. Conventions Used in This Document . . . . . . . . . . . . 3 | 1.1. Conventions Used in This Document . . . . . . . . . . . . 3 | |||
| 2. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 3 | 2. Client Actions . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . . 4 | 3. Currency Codes . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.1.1. EPP <info> Command . . . . . . . . . . . . . . . . . . 4 | 4. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.1.2. EPP Transfer Query Command . . . . . . . . . . . . . . 7 | 4.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.2. EPP Transform Commands . . . . . . . . . . . . . . . . . . 8 | 4.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 4 | |||
| 2.2.1. EPP <create> Command . . . . . . . . . . . . . . . . . 8 | 4.1.2. EPP <info> Command . . . . . . . . . . . . . . . . . . 8 | |||
| 2.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . . 9 | 4.1.3. EPP Transfer Query Command . . . . . . . . . . . . . . 11 | |||
| 2.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 10 | 4.2. EPP Transform Commands . . . . . . . . . . . . . . . . . . 12 | |||
| 2.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . . 11 | 4.2.1. EPP <create> Command . . . . . . . . . . . . . . . . . 12 | |||
| 2.2.5. EPP <update> Command . . . . . . . . . . . . . . . . . 12 | 4.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . . 14 | |||
| 2.3. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . 13 | 4.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 15 | |||
| 3. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | 4.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . . 17 | |||
| 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | 4.2.5. EPP <update> Command . . . . . . . . . . . . . . . . . 19 | |||
| 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 17 | 4.3. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 6. Change History . . . . . . . . . . . . . . . . . . . . . . . . 17 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 25 | |||
| 6.1. Change from 0.1 to 0.2 . . . . . . . . . . . . . . . . . . 17 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 6.2. Change from 0.2 to 0.3 . . . . . . . . . . . . . . . . . . 17 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 7. Normative References . . . . . . . . . . . . . . . . . . . . . 17 | 8. Change History . . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 18 | 8.1. Change from 0.1 to 0.2 . . . . . . . . . . . . . . . . . . 26 | |||
| 8.2. Change from 0.2 to 0.3 . . . . . . . . . . . . . . . . . . 26 | ||||
| 8.3. Change from 0.3 to 0.4 . . . . . . . . . . . . . . . . . . 26 | ||||
| 9. Normative References . . . . . . . . . . . . . . . . . . . . . 27 | ||||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 27 | ||||
| 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 restore | applied to domain <create>, <renew>, <transfer> and RGP restore | |||
| commands. Given the relatively small number of EPP servers to which | commands. Given the relatively small number of EPP servers to which | |||
| EPP clients have been required to connect, it has generally been the | EPP clients have been required to connect, it has generally been the | |||
| case that client operators have been able to obtain details of these | case that client operators have been able to obtain details of these | |||
| fees out-of-band by contacting the server operators. | fees out-of-band by contacting the server operators. | |||
| skipping to change at page 3, line 37 ¶ | skipping to change at page 3, line 37 ¶ | |||
| 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 | "fee" is used as an abbreviation for | |||
| "urn:ietf:params:xml:ns:fee-0.3". The XML namespace prefix "fee" is | "urn:ietf:params:xml:ns:fee-0.4". The XML namespace prefix "fee" is | |||
| used, but implementations MUST NOT depend on it and instead employ a | used, but implementations MUST NOT depend on it and instead employ a | |||
| proper namespace-aware XML parser and serializer to interpret and | proper namespace-aware XML parser and serializer to interpret and | |||
| output the XML documents. | output the XML documents. | |||
| The XML namespace prefix above contains a version number, | The XML namespace prefix above contains a version number, | |||
| specifically "0.3". This version number will increment with | specifically "0.4". This version number will increment with | |||
| successive versions of this document, and will reach 1.0 if and when | successive versions of this document, and will reach 1.0 if and when | |||
| this document is published as an RFC. This permits clients to | this document is published as an RFC. This permits clients to | |||
| distinguish which version of the extension a server has implemented. | distinguish which version of the extension a server has implemented. | |||
| 2. EPP Command Mapping | 2. Client Actions | |||
| The <fee:action> element is used in EPP query commands to determine | ||||
| the command to which a fee is applicable. | ||||
| The element values permitted by the server is a matter of repository | ||||
| policy, but MUST include as a minimum the following values: | ||||
| o "create" indicating a <domain:create> command; | ||||
| o "renew" indicating a <domain:renew> command; | ||||
| o "transfer" indicating a <domain:transfer> command; | ||||
| If the server supports the Registry Grace Period Mapping [RFC3915], | ||||
| then the server MUST also support the "restore" value. | ||||
| The <fee:action> element MAY have an OPTIONAL "phase" attribute | ||||
| specifying a launch phase as described in | ||||
| [draft-tan-epp-launchphase]. It may also contain an OPTIONAL | ||||
| "subphase" attribute identifying the custom or sub-phase as described | ||||
| in [draft-tan-epp-launchphase]. | ||||
| 3. Currency Codes | ||||
| The <fee:currency> element is used to indicate which currency fees | ||||
| are charged in. This value of this element MUST be a three-character | ||||
| currency code from [ISO4217]. | ||||
| 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, | ||||
| such as a system of credits. | ||||
| 4. EPP Command Mapping | ||||
| A detailed description of the EPP syntax and semantics can be found | A detailed description of the EPP syntax and semantics can be found | |||
| in [RFC5730]. | in [RFC5730]. | |||
| 2.1. EPP Query Commands | 4.1. EPP Query Commands | |||
| This extension does not add any elements to the EPP <check> or <poll> | This extension does not add any elements to the EPP <poll> command or | |||
| commands or responses. | response. | |||
| 2.1.1. EPP <info> Command | 4.1.1. EPP <check> Command | |||
| This extension defines additional elements for the EPP <info> | This extension defines additional elements for the EPP <check> | |||
| command. | command. | |||
| The command frame MAY contain an <extension> element which contains a | The command frame MAY contain an <extension> element which MAY | |||
| <fee:info> element with the following child elements: | contain one or more child <fee:check> elements with the following | |||
| child elements: | ||||
| o A <domain:name> element that contains a domain name. | ||||
| o A <fee:currency> element that contains the currency the fee is | o A <fee:currency> element that contains the currency the fee is | |||
| charged in. This must be a three-character currency code from | charged in. | |||
| [ISO4217] (Note: ISO 4217 provides the special "XXX" code which | ||||
| may be used if the server uses a non-currency based system for | ||||
| assessing fees, such as a system of credits). | ||||
| o A <fee:action> element identifying the command. The element | o A <fee:action> element identifying the command. | |||
| values supported by the server is a matter of repository policy, | ||||
| but MUST include as a minimum the following values: | ||||
| * "create" indicating a <domain:create> command; | o A <fee:period> element that contains the number of units to be | |||
| added to the registration period of the domain object. | ||||
| * "renew" indicating a <domain:renew> command; | Example <check> command: | |||
| * "transfer" indicating a <domain:transfer> command; | C: <?xml version="1.0" encoding="utf-8" standalone="no"?> | |||
| C: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||||
| C: <command> | ||||
| C: <check> | ||||
| C: <domain:check | ||||
| C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||||
| C: <domain:name>example.com</domain:name> | ||||
| C: <domain:name>example.net</domain:name> | ||||
| C: <domain:name>example.org</domain:name> | ||||
| C: </domain:check> | ||||
| C: </check> | ||||
| C: <extension> | ||||
| C: <fee:check | ||||
| C: xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | ||||
| C: <fee:domain>example.com</fee:domain> | ||||
| C: <fee:currency>USD</fee:currency> | ||||
| C: <fee:action phase="sunrise">create</fee:action> | ||||
| C: <fee:period unit="y">1</fee:period> | ||||
| C: </fee:check> | ||||
| C: <fee:check | ||||
| C: xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | ||||
| C: <fee:domain>example.net</fee:domain> | ||||
| C: <fee:currency>EUR</fee:currency> | ||||
| C: <fee:action phase="claims" subphase="landrush"> | ||||
| C: create</fee:action> | ||||
| C: <fee:period unit="y">2</fee:period> | ||||
| C: </fee:check> | ||||
| C: <fee:check | ||||
| C: xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | ||||
| C: <fee:domain>example.org</fee:domain> | ||||
| C: <fee:currency>EUR</fee:currency> | ||||
| C: <fee:action>transfer</fee:action> | ||||
| C: <fee:period unit="y">2</fee:period> | ||||
| C: </fee:check> | ||||
| C: </extension> | ||||
| C: <clTRID>ABC-12345</clTRID> | ||||
| C: </command> | ||||
| C: </epp> | ||||
| If the server supports the Registry Grace Period Mapping | When the server receives a <check> command that includes the | |||
| [RFC3915], then the server MUST also support the "restore" value. | extension elements described above, its response MUST contain an | |||
| The <fee:action> element MAY have an OPTIONAL "phase" attribute | <extension> element, which MUST contain a child <fee:chkData> element | |||
| specifying a launch phase as described in | for each <fee:check> element contained in the command. The <fee: | |||
| [draft-tan-epp-launchphase]. The <fee:action> element may also | chkData> MUST contain the following child elements: | |||
| contain an OPTIONAL "subphase" attribute identifying the custom or | ||||
| sub-phase as described in [draft-tan-epp-launchphase]. | o A <domain:name> element that contains a domain name which matches | |||
| the name in the corresponding <fee:check> element. | ||||
| o A <fee:currency> element that contains same currency code that | ||||
| appeared in the corresponding <fee:check> element. | ||||
| o A <fee:action> element that contains same action that appeared in | ||||
| the corresponding <fee:check> element. This element MAY have the | ||||
| OPTIONAL "phase" and "subphase" elements, which MUST match the | ||||
| same attributes in the corresponding <fee:check> element. | ||||
| o A <fee:period> element that contains same unit that appeared in | ||||
| the corresponding <fee:check> element. | ||||
| o A <fee:fee> element that contains the fee associated with the | ||||
| specified transaction. | ||||
| Example <check> response: | ||||
| S: <?xml version="1.0" encoding="utf-8" standalone="no"?> | ||||
| S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||||
| S: <response> | ||||
| S: <result code="1000"> | ||||
| S: <msg>Command completed successfully</msg> | ||||
| S: </result> | ||||
| S: <resData> | ||||
| S: <domain:chkData | ||||
| S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||||
| S: <domain:cd> | ||||
| S: <domain:name avail="1">example.com</domain:name> | ||||
| S: </domain:cd> | ||||
| S: <domain:cd> | ||||
| S: <domain:name avail="0">example.net</domain:name> | ||||
| S: <domain:reason>In use</domain:reason> | ||||
| S: </domain:cd> | ||||
| S: <domain:cd> | ||||
| S: <domain:name avail="0">example.org</domain:name> | ||||
| S: <domain:reason>In use</domain:reason> | ||||
| S: </domain:cd> | ||||
| S: </domain:chkData> | ||||
| S: </resData> | ||||
| S: <extension> | ||||
| S: <fee:chkData | ||||
| S: xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | ||||
| S: <fee:domain>example.com</fee:domain> | ||||
| S: <fee:currency>USD</fee:currency> | ||||
| S: <fee:action phase="sunrise">create</fee:action> | ||||
| S: <fee:period unit="y">1</fee:period> | ||||
| S: <fee:fee>10.00</fee:fee> | ||||
| S: </fee:chkData> | ||||
| S: <fee:chkData | ||||
| S: xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | ||||
| S: <fee:domain>example.net</fee:domain> | ||||
| S: <fee:currency>EUR</fee:currency> | ||||
| S: <fee:action phase="claims" subphase="landrush"> | ||||
| S: create</fee:action> | ||||
| S: <fee:period unit="y">2</fee:period> | ||||
| S: <fee:fee>5.00</fee:fee> | ||||
| S: </fee:chkData> | ||||
| S: <fee:chkData | ||||
| S: xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | ||||
| S: <fee:domain>example.org</fee:domain> | ||||
| S: <fee:currency>EUR</fee:currency> | ||||
| S: <fee:action>transfer</fee:action> | ||||
| S: <fee:period unit="y">2</fee:period> | ||||
| S: <fee:fee>2.50</fee:fee> | ||||
| S: </fee:chkData> | ||||
| S: </extension> | ||||
| S: <trID> | ||||
| S: <clTRID>ABC-12345</clTRID> | ||||
| S: <svTRID>54322-XYZ</svTRID> | ||||
| S: </trID> | ||||
| S: </response> | ||||
| S: </epp> | ||||
| 4.1.2. EPP <info> Command | ||||
| This extension defines additional elements for the EPP <info> | ||||
| command. | ||||
| The command frame MAY contain an <extension> element which contains a | ||||
| <fee:info> element with the following child elements: | ||||
| o A <fee:currency> element that contains the currency the fee is | ||||
| charged in. | ||||
| o A <fee:action> element identifying the command. | ||||
| o A <fee:period> element that contains the number of units to be | o A <fee:period> element that contains the number of units to be | |||
| added to the registration period of the domain object. | added to the registration period of the domain object. | |||
| Example <info> command: | Example <info> 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: <info> | C: <info> | |||
| C: <domain:info | C: <domain:info | |||
| 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 hosts="all">example.com</domain:name> | C: <domain:name hosts="all">example.com</domain:name> | |||
| C: </domain:info> | C: </domain:info> | |||
| C: </info> | C: </info> | |||
| C: <extension> | C: <extension> | |||
| C: <fee:info xmlns:fee="urn:ietf:params:xml:ns:fee-0.3"> | C: <fee:info xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | |||
| C: <fee:currency>USD</fee:currency> | C: <fee:currency>USD</fee:currency> | |||
| C: <fee:action phase="sunrise">create</fee:action> | C: <fee:action phase="sunrise">create</fee:action> | |||
| C: <fee:period unit="y">1</fee:period> | C: <fee:period unit="y">1</fee:period> | |||
| C: </fee:info> | C: </fee:info> | |||
| C: </extension> | C: </extension> | |||
| C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
| C: </command> | C: </command> | |||
| C: </epp> | C: </epp> | |||
| When the server receives an <info> command that includes the | When the server receives an <info> command that includes the | |||
| skipping to change at page 6, line 5 ¶ | skipping to change at page 10, line 5 ¶ | |||
| o A <fee:fee> element that contains the fee associated with the | o A <fee:fee> element that contains the fee associated with the | |||
| specified transaction. | specified transaction. | |||
| If the domain name requested in the command is invalid, sponsored by | If the domain name requested in the command is invalid, sponsored by | |||
| another client, or otherwise ineligible for registration, the server | another client, or otherwise ineligible for registration, the server | |||
| MAY choose to omit the <fee:infData> element and return an error | MAY choose to omit the <fee:infData> element and return an error | |||
| instead. | instead. | |||
| Example <info> response: | Example <info> response: | |||
| S: <?xml version="1.0" encoding="UTF-8" standalone="no"?> | S: <?xml version="1.0" encoding="utf-8" standalone="no"?> | |||
| S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
| S: <response> | S: <response> | |||
| S: <result code="1000"> | S: <result code="1000"> | |||
| S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
| S: </result> | S: </result> | |||
| S: <resData> | S: <resData> | |||
| S: <domain:infData | S: <domain:infData | |||
| 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:roid>EXAMPLE1-REP</domain:roid> | S: <domain:roid>EXAMPLE1-REP</domain:roid> | |||
| S: <domain:status s="ok"/> | S: <domain:status s="ok" /> | |||
| S: <domain:registrant>jd1234</domain:registrant> | S: <domain:registrant>jd1234</domain:registrant> | |||
| S: <domain:contact type="admin">sh8013</domain:contact> | S: <domain:contact type="admin">sh8013</domain:contact> | |||
| S: <domain:contact type="tech">sh8013</domain:contact> | S: <domain:contact type="tech">sh8013</domain:contact> | |||
| S: <domain:ns> | S: <domain:ns> | |||
| S: <domain:hostObj>ns1.example.com</domain:hostObj> | S: <domain:hostObj>ns1.example.com</domain:hostObj> | |||
| S: <domain:hostObj>ns1.example.net</domain:hostObj> | S: <domain:hostObj>ns1.example.net</domain:hostObj> | |||
| S: </domain:ns> | S: </domain:ns> | |||
| S: <domain:host>ns1.example.com</domain:host> | S: <domain:host>ns1.example.com</domain:host> | |||
| S: <domain:host>ns2.example.com</domain:host> | S: <domain:host>ns2.example.com</domain:host> | |||
| S: <domain:clID>ClientX</domain:clID> | S: <domain:clID>ClientX</domain:clID> | |||
| skipping to change at page 6, line 39 ¶ | skipping to change at page 10, line 39 ¶ | |||
| S: <domain:upID>ClientX</domain:upID> | S: <domain:upID>ClientX</domain:upID> | |||
| S: <domain:upDate>1999-12-03T09:00:00.0Z</domain:upDate> | S: <domain:upDate>1999-12-03T09:00:00.0Z</domain:upDate> | |||
| S: <domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate> | S: <domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate> | |||
| S: <domain:trDate>2000-04-08T09:00:00.0Z</domain:trDate> | S: <domain:trDate>2000-04-08T09:00:00.0Z</domain:trDate> | |||
| S: <domain:authInfo> | S: <domain:authInfo> | |||
| S: <domain:pw>2fooBAR</domain:pw> | S: <domain:pw>2fooBAR</domain:pw> | |||
| S: </domain:authInfo> | S: </domain:authInfo> | |||
| S: </domain:infData> | S: </domain:infData> | |||
| S: </resData> | S: </resData> | |||
| S: <extension> | S: <extension> | |||
| S: <fee:infData xmlns:fee="urn:ietf:params:xml:ns:fee-0.3"> | S: <fee:infData xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | |||
| S: <fee:currency>USD</fee:currency> | S: <fee:currency>USD</fee:currency> | |||
| S: <fee:action phase="sunrise">create</fee:action> | S: <fee:action phase="sunrise">create</fee:action> | |||
| S: <fee:period unit="y">1</fee:period> | S: <fee:period unit="y">1</fee:period> | |||
| S: <fee:fee>10.00</fee:fee> | S: <fee:fee>10.00</fee:fee> | |||
| S: </fee:infData> | S: </fee:infData> | |||
| 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> | |||
| Example <info> response where the domain name is not registered: | Example <info> response where the domain name is not registered: | |||
| 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="2303"> | S: <result code="2303"> | |||
| S: <msg>Object does not exist.</msg> | S: <msg>Object does not exist.</msg> | |||
| S: </result> | S: </result> | |||
| S: <extension> | S: <extension> | |||
| S: <fee:infData xmlns:fee="urn:ietf:params:xml:ns:fee-0.3"> | S: <fee:infData | |||
| S: <fee:currency>USD</fee:currency> | S: xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | |||
| S: <fee:action phase="sunrise">create</fee:action> | S: <fee:currency>USD</fee:currency> | |||
| S: <fee:period unit="y">1</fee:period> | S: <fee:action phase="sunrise">create</fee:action> | |||
| S: <fee:fee>10.00</fee:fee> | S: <fee:period unit="y">1</fee:period> | |||
| S: </fee:infData> | S: <fee:fee>10.00</fee:fee> | |||
| S: </fee:infData> | ||||
| 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> | |||
| 2.1.2. EPP Transfer Query Command | 4.1.3. 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 has been selected during a <login> command. | |||
| 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 selected the extension when it logged in, and the client | |||
| is authorised by the server to view information about the transfer, | is authorised by the server to view information about the transfer, | |||
| the server MAY include in the <extension> section of the EPP response | the server MAY include in the <extension> section of the EPP response | |||
| a <fee:trnData> element that contains a <fee:fee> element containing | a <fee:trnData> element that contains a <fee:fee> element containing | |||
| the fee associated with this command. If no <fee:trnData> element is | the fee associated with this command. If no <fee:trnData> element is | |||
| included in the response, then no fee has been assessed by the server | included in the response, then no fee has been assessed by the server | |||
| for this transaction. | for this transaction. | |||
| Example <transfer> query response: | Example <transfer> query 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="1001"> | S: <result code="1001"> | |||
| S: <msg>Command completed successfully; action pending</msg> | S: <msg>Command completed successfully; action pending</msg> | |||
| S: </result> | S: </result> | |||
| S: <resData> | S: <resData> | |||
| S: <domain:trnData | S: <domain:trnData | |||
| S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
| S: <domain:name>example.com</domain:name> | S: <domain:name>example.com</domain:name> | |||
| S: <domain:trStatus>pending</domain:trStatus> | S: <domain:trStatus>pending</domain:trStatus> | |||
| S: <domain:reID>ClientX</domain:reID> | S: <domain:reID>ClientX</domain:reID> | |||
| S: <domain:reDate>2000-06-08T22:00:00.0Z</domain:reDate> | S: <domain:reDate>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.3"> | S: <fee:trnData xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | |||
| S: <fee:currency>USD</fee:currency> | ||||
| 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> | |||
| 2.2. EPP Transform Commands | 4.2. EPP Transform Commands | |||
| 2.2.1. EPP <create> Command | 4.2.1. EPP <create> Command | |||
| This extension does not add any elements to the EPP <create> command, | This extension adds elements to both the EPP <create> command and | |||
| but does include elements in the response, when the extension has | response, when the extension has been selected during a <login> | |||
| been selected during a <login> command. | command. | |||
| When submitting a <create> command to the server, the client MAY | ||||
| include in the <extension> element a <fee:create> element which | ||||
| includes the following child elements: | ||||
| o A <fee:currency> element containing the currency of the fee that | ||||
| the command will result in. | ||||
| o A <fee:fee> element that contains the fee associated with the | ||||
| command. | ||||
| Depending on server policy, the server MAY choose to accept or refuse | ||||
| the command depending on whether the currency and fee provided by the | ||||
| client agrees with the server's own calculation of the fee. If the | ||||
| server chooses to refuse the command due to an incorrect fee, it MUST | ||||
| respond with a 2004 "Parameter value range error". | ||||
| 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, the server MAY | client selected the extension when it logged in, the server MAY | |||
| include in the <extension> section of the EPP response a <fee: | include in the <extension> section of the EPP response a <fee: | |||
| creData> element that contains a <fee:fee> element containing the fee | creData> element that contains the following child elements: | |||
| associated with this command. If no <fee:creData> element is | ||||
| included in the response, then no fee has been assessed by the server | o A <fee:currency> element containing the currency of the fee. | |||
| for this transaction. | ||||
| o A <fee:fee> element that contains the fee. | ||||
| If no <fee:creData> element is included in the response, then no fee | ||||
| has been assessed by the server for this transaction. | ||||
| Example <create> command: | ||||
| C: <?xml version="1.0" encoding="utf-8" standalone="no"?> | ||||
| C: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||||
| C: <command> | ||||
| C: <create> | ||||
| C: <domain:create | ||||
| C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||||
| C: <domain:name>example.com</domain:name> | ||||
| C: <domain:period unit="y">2</domain:period> | ||||
| C: <domain:ns> | ||||
| C: <domain:hostObj>ns1.example.net</domain:hostObj> | ||||
| C: <domain:hostObj>ns2.example.net</domain:hostObj> | ||||
| C: </domain:ns> | ||||
| C: <domain:registrant>jd1234</domain:registrant> | ||||
| C: <domain:contact type="admin">sh8013</domain:contact> | ||||
| C: <domain:contact type="tech">sh8013</domain:contact> | ||||
| C: <domain:authInfo> | ||||
| C: <domain:pw>2fooBAR</domain:pw> | ||||
| C: </domain:authInfo> | ||||
| C: </domain:create> | ||||
| C: </create> | ||||
| C: <extension> | ||||
| C: <fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | ||||
| C: <fee:currency>USD</fee:currency> | ||||
| C: <fee:fee>5.00</fee:fee> | ||||
| C: </fee:create> | ||||
| C: </extension> | ||||
| C: <clTRID>ABC-12345</clTRID> | ||||
| C: </command> | ||||
| 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"?> | |||
| S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
| S: <response> | S: <response> | |||
| S: <result code="1000"> | S: <result code="1000"> | |||
| S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
| S: </result> | S: </result> | |||
| S: <resData> | S: <resData> | |||
| S: <domain:creData | S: <domain:creData | |||
| S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
| S: <domain:name>example.com</domain:name> | S: <domain:name>example.com</domain:name> | |||
| S: <domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate> | S: <domain:crDate>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.3"> | S: <fee:creData xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | |||
| S: <fee:currency>USD</fee:currency> | ||||
| S: <fee:fee>5.00</fee:fee> | S: <fee:fee>5.00</fee:fee> | |||
| 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> | |||
| 2.2.2. EPP <delete> Command | 4.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 has | |||
| been selected during a <login> command. | been selected during the <login> command. | |||
| 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 selected the extension when it logged in, the server MAY | |||
| include in the <extension> section of the EPP response a <fee: | include in the <extension> section of the EPP response a <fee: | |||
| delData> element that contains a <fee:credit> element containing any | delData> element that contains the following child elements: | |||
| credit associated with the deletion of the domain. If no <fee: | ||||
| delData> element is included in the response, then no credit has been | o A <fee:currency> element containing the currency of the credit. | |||
| assessed by the server for this transaction. | ||||
| o A <fee:credit> element that contains the credit associated with | ||||
| the deletion of the domain. | ||||
| If no <fee:delData> element is included in the response, then no | ||||
| credit has been assessed by the server for this transaction. | ||||
| 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 xmlns:fee="urn:ietf:params:xml:ns:fee-0.3"> | S: <fee:delData xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | |||
| S: <fee:currency>USD</fee:currency> | ||||
| S: <fee:credit>5.00</fee:credit> | S: <fee:credit>5.00</fee:credit> | |||
| 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> | |||
| 2.2.3. EPP <renew> Command | 4.2.3. EPP <renew> Command | |||
| This extension does not add any elements to the EPP <renew> command, | This extension adds elements to both the EPP <renew> command and | |||
| but does include elements in the response, when the extension has | response, when the extension has been selected during a <login> | |||
| been selected during a <login> command. | command. | |||
| When submitting a <renew> command to the server, the client MAY | ||||
| include in the <extension> element a <fee:renew> element which | ||||
| includes the following child elements: | ||||
| o A <fee:currency> element containing the currency of the fee that | ||||
| the command will result in. | ||||
| o A <fee:fee> element that contains the fee associated with the | ||||
| command. | ||||
| Depending on server policy, the server MAY choose to accept or refuse | ||||
| the command depending on whether the currency and fee provided by the | ||||
| client agrees with the server's own calculation of the fee. If the | ||||
| server chooses to refuse the command due to an incorrect fee, it MUST | ||||
| respond with a 2004 "Parameter value range error". | ||||
| 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 selected the extension when it logged in, the server MAY | |||
| include in the <extension> section of the EPP response a <fee: | include in the <extension> section of the EPP response a <fee: | |||
| renData> element that contains a <fee:fee> element containing the fee | ||||
| associated with this command. If no <fee:renData> element is | renData> element that contains the following child elements: | |||
| included in the response, then no fee has been assessed by the server | ||||
| for this transaction. | o A <fee:currency> element containing the currency of the fee. | |||
| o A <fee:fee> element that contains the fee. | ||||
| If no <fee:renData> element is included in the response, then no fee | ||||
| has been assessed by the server for this transaction. | ||||
| Example <renew> command: | ||||
| C: <?xml version="1.0" encoding="utf-8" standalone="no"?> | ||||
| C: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||||
| C: <command> | ||||
| C: <renew> | ||||
| C: <domain:renew | ||||
| C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||||
| C: <domain:name>example.com</domain:name> | ||||
| C: <domain:curExpDate>2000-04-03</domain:curExpDate> | ||||
| C: <domain:period unit="y">5</domain:period> | ||||
| C: </domain:renew> | ||||
| C: </renew> | ||||
| C: <extension> | ||||
| C: <fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | ||||
| C: <fee:currency>USD</fee:currency> | ||||
| C: <fee:fee>5.00</fee:fee> | ||||
| C: </fee:create> | ||||
| C: </extension> | ||||
| C: <clTRID>ABC-12345</clTRID> | ||||
| C: </command> | ||||
| 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"?> | |||
| S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
| S: <response> | S: <response> | |||
| S: <result code="1000"> | S: <result code="1000"> | |||
| S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
| S: </result> | S: </result> | |||
| S: <resData> | S: <resData> | |||
| S: <domain:renData | S: <domain:renData | |||
| S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
| S: <domain:name>example.com</domain:name> | S: <domain:name>example.com</domain:name> | |||
| S: <domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate> | S: <domain:exDate>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.3"> | S: <fee:renData xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | |||
| S: <fee:currency>USD</fee:currency> | ||||
| S: <fee:fee>5.00</fee:fee> | S: <fee:fee>5.00</fee:fee> | |||
| 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> | |||
| 2.2.4. EPP <transfer> Command | 4.2.4. EPP <transfer> Command | |||
| This extension does not add any elements to the EPP <transfer> | This extension adds elements to both the EPP <transfer> command and | |||
| command, but does include elements in the response, when the | response, when the value of the "op" attribute of the <transfer> | |||
| extension has been selected during a <login> command. | command element is "request", and the extension has been selected | |||
| during the <login> command. | ||||
| When submitting a <transfer> command to the server, the client MAY | ||||
| include in the <extension> element a <fee:transfer> element which | ||||
| includes the following child elements: | ||||
| o A <fee:currency> element containing the currency of the fee that | ||||
| the command will result in. | ||||
| o A <fee:fee> element that contains the fee associated with the | ||||
| command. | ||||
| Depending on server policy, the server MAY choose to accept or refuse | ||||
| the command depending on whether the currency and fee provided by the | ||||
| client agrees with the server's own calculation of the fee. If the | ||||
| server chooses to refuse the command due to an incorrect fee, it MUST | ||||
| respond with a 2004 "Parameter value range error". | ||||
| 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, and if the "op" | client selected the extension when it logged in, the server MAY | |||
| attribute of the <transfer> element of the request was "request", the | include in the <extension> section of the EPP response a <fee: | |||
| server MAY include in the <extension> section of the EPP response a | trnData> element that contains the following child elements: | |||
| <fee:trnData> element that contains a <fee:fee> element containing | ||||
| the fee associated with this command. If no <fee:trnData> element is | o A <fee:currency> element containing the currency of the fee. | |||
| included in the response, then no fee has been assessed by the server | ||||
| for this transaction. | o A <fee:fee> element that contains the fee. | |||
| If no <fee:transfData> element is included in the response, then no | ||||
| fee has been assessed by the server for this transaction. | ||||
| Example <transfer> command: | ||||
| C: <?xml version="1.0" encoding="utf-8" standalone="no"?> | ||||
| C: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||||
| C: <command> | ||||
| C: <transfer op="request"> | ||||
| C: <domain:transfer | ||||
| C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||||
| C: <domain:name>example.com</domain:name> | ||||
| C: <domain:period unit="y">1</domain:period> | ||||
| C: <domain:authInfo> | ||||
| C: <domain:pw roid="JD1234-REP">2fooBAR</domain:pw> | ||||
| C: </domain:authInfo> | ||||
| C: </domain:transfer> | ||||
| C: </transfer> | ||||
| C: <extension> | ||||
| C: <fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | ||||
| C: <fee:currency>USD</fee:currency> | ||||
| C: <fee:fee>5.00</fee:fee> | ||||
| C: </fee:create> | ||||
| C: </extension> | ||||
| C: <clTRID>ABC-12345</clTRID> | ||||
| C: </command> | ||||
| 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"?> | |||
| 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="1001"> | S: <result code="1001"> | |||
| S: <msg>Command completed successfully; action pending</msg> | S: <msg>Command completed successfully; action pending</msg> | |||
| S: </result> | S: </result> | |||
| S: <resData> | S: <resData> | |||
| S: <domain:trnData | S: <domain:trnData | |||
| S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
| S: <domain:name>example.com</domain:name> | S: <domain:name>example.com</domain:name> | |||
| S: <domain:trStatus>pending</domain:trStatus> | S: <domain:trStatus>pending</domain:trStatus> | |||
| S: <domain:reID>ClientX</domain:reID> | S: <domain:reID>ClientX</domain:reID> | |||
| S: <domain:reDate>2000-06-08T22:00:00.0Z</domain:reDate> | S: <domain:reDate>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.3"> | S: <fee:trnData xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | |||
| S: <fee:currency>USD</fee:currency> | ||||
| 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> | |||
| 2.2.5. EPP <update> Command | 4.2.5. EPP <update> Command | |||
| This extension does not add any elements to the EPP <update> command, | This extension adds elements to both the EPP <update> command and | |||
| but does include elements in the response, when the extension has | response, when the extension has been selected during a <login> has | |||
| been selected during a <login> command. | been selected during the <login> command. | |||
| When submitting a <update> command to the server, the client MAY | ||||
| include in the <extension> element a <fee:update> element which | ||||
| includes the following child elements: | ||||
| o A <fee:currency> element containing the currency of the fee that | ||||
| the command will result in. | ||||
| o A <fee:fee> element that contains the fee associated with the | ||||
| command. | ||||
| Depending on server policy, the server MAY choose to accept or refuse | ||||
| the command depending on whether the currency and fee provided by the | ||||
| client agrees with the server's own calculation of the fee. If the | ||||
| server chooses to refuse the command due to an incorrect fee, it MUST | ||||
| respond with a 2004 "Parameter value range error". | ||||
| 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 selected the extension when it logged in, the server MAY | |||
| include in the <extension> section of the EPP response a <fee: | include in the <extension> section of the EPP response a <fee:upData> | |||
| updData> element that contains a <fee:fee> element containing any fee | element that contains the following child elements: | |||
| associated with this command. If no <fee:updData> element is | ||||
| included in the response, then no fee has been assessed by the server | o A <fee:currency> element containing the currency of the fee. | |||
| for this transaction. | ||||
| o A <fee:fee> element that contains the fee. | ||||
| If no <fee:upData> element is included in the response, then no fee | ||||
| has been assessed by the server for this transaction. | ||||
| Example <update> command: | ||||
| C: <?xml version="1.0" encoding="utf-8" standalone="no"?> | ||||
| C: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||||
| C: <command> | ||||
| C: <update> | ||||
| C: <domain:update | ||||
| C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||||
| C: <domain:name>example.com</domain:name> | ||||
| C: <domain:chg> | ||||
| C: <domain:registrant>sh8013</domain:registrant> | ||||
| C: </domain:chg> | ||||
| C: </domain:update> | ||||
| C: </update> | ||||
| C: <extension> | ||||
| C: <fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | ||||
| C: <fee:currency>USD</fee:currency> | ||||
| C: <fee:fee>5.00</fee:fee> | ||||
| C: </fee:create> | ||||
| C: </extension> | ||||
| C: <clTRID>ABC-12345</clTRID> | ||||
| C: </command> | ||||
| 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.3"> | S: <fee:updData xmlns:fee="urn:ietf:params:xml:ns:fee-0.4"> | |||
| 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> | |||
| 2.3. Formal Syntax | 4.3. Formal Syntax | |||
| An EPP object mapping is specified in XML Schema notation. The | An EPP object mapping is specified in XML Schema notation. The | |||
| formal syntax presented here is a complete schema representation of | formal syntax presented here is a complete schema representation of | |||
| the object mapping suitable for automated validation of EPP XML | the object mapping suitable for automated validation of EPP XML | |||
| instances. | instances. | |||
| Copyright (c) 2013 IETF Trust and the persons identified as authors | Copyright (c) 2013 IETF Trust and the persons identified as authors | |||
| of the code. All rights reserved. | of the code. All rights reserved. | |||
| Redistribution and use in source and binary forms, with or without | Redistribution and use in source and binary forms, with or without | |||
| skipping to change at page 14, line 16 ¶ | skipping to change at page 22, line 17 ¶ | |||
| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |||
| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |||
| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |||
| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |||
| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |||
| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 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.3" | xmlns:fee="urn:ietf:params:xml:ns:fee-0.4" | |||
| 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.3" | targetNamespace="urn:ietf:params:xml:ns:fee-0.4" | |||
| 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>Extensible Provisioning Protocol | <documentation>Extensible Provisioning Protocol | |||
| v1.0 domain name extension schema for | v1.0 domain name extension schema for | |||
| fee information.</documentation> | fee information.</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="chkData" type="fee:chkDataType" /> | ||||
| <element name="info" type="fee:infoType" /> | <element name="info" type="fee:infoType" /> | |||
| <element name="infData" type="fee:infDataType" /> | <element name="infData" type="fee:infDataType" /> | |||
| <element name="creData" type="fee:transformDataType" /> | <element name="create" type="fee:transformCommandType" /> | |||
| <element name="renData" type="fee:transformDataType" /> | <element name="creData" type="fee:transformResultType" /> | |||
| <element name="trnData" type="fee:transformDataType" /> | <element name="renew" type="fee:transformCommandType" /> | |||
| <element name="updData" type="fee:transformDataType" /> | <element name="renData" type="fee:transformResultType" /> | |||
| <element name="transfer" type="fee:transformCommandType" /> | ||||
| <element name="trnData" type="fee:transformResultType" /> | ||||
| <element name="update" type="fee:transformCommandType" /> | ||||
| <element name="updData" type="fee:transformResultType" /> | ||||
| <element name="delData" type="fee:deleteDataType" /> | <element name="delData" type="fee:deleteDataType" /> | |||
| <!-- | <!-- | |||
| client <check> command | ||||
| --> | ||||
| <complexType name="checkType"> | ||||
| <sequence> | ||||
| <element name="domain" type="eppcom:labelType" /> | ||||
| <element name="currency" type="fee:currencyType" /> | ||||
| <element name="action" type="fee:actionType" /> | ||||
| <element name="period" type="domain:periodType" /> | ||||
| </sequence> | ||||
| </complexType> | ||||
| <!-- | ||||
| server <check> result | ||||
| --> | ||||
| <complexType name="chkDataType"> | ||||
| <sequence> | ||||
| <element name="domain" type="eppcom:labelType" /> | ||||
| <element name="currency" type="fee:currencyType" /> | ||||
| <element name="action" type="fee:actionType" /> | ||||
| <element name="period" type="domain:periodType" /> | ||||
| <element name="fee" type="fee:feeType" /> | ||||
| </sequence> | ||||
| </complexType> | ||||
| <!-- | ||||
| client <info> command | client <info> command | |||
| --> | --> | |||
| <complexType name="infoType"> | <complexType name="infoType"> | |||
| <sequence> | <sequence> | |||
| <element name="currency" type="fee:currencyType" /> | <element name="currency" type="fee:currencyType" /> | |||
| <element name="action" type="fee:actionType" /> | <element name="action" type="fee:actionType" /> | |||
| <element name="period" type="domain:periodType" /> | <element name="period" type="domain:periodType" /> | |||
| </sequence> | </sequence> | |||
| </complexType> | </complexType> | |||
| <!-- | <!-- | |||
| server <info> result | server <info> result | |||
| --> | --> | |||
| <complexType name="infDataType"> | <complexType name="infDataType"> | |||
| <sequence> | <sequence> | |||
| <element name="currency" type="fee:currencyType" /> | <element name="currency" type="fee:currencyType" /> | |||
| <element name="action" type="fee:actionType" /> | <element name="action" type="fee:actionType" /> | |||
| <element name="period" type="domain:periodType" /> | <element name="period" type="domain:periodType" /> | |||
| <element name="fee" type="fee:feeType" /> | <element name="fee" type="fee:feeType" /> | |||
| </sequence> | </sequence> | |||
| </complexType> | </complexType> | |||
| <!-- | <!-- | |||
| general transform (create, renew, update, transfer) command | ||||
| --> | ||||
| <complexType name="transformCommandType"> | ||||
| <sequence> | ||||
| <element name="currency" type="fee:currencyType" /> | ||||
| <element name="fee" type="fee:feeType" /> | ||||
| </sequence> | ||||
| </complexType> | ||||
| <!-- | ||||
| general transform (create, renew, update, transfer) result | general transform (create, renew, update, transfer) result | |||
| --> | --> | |||
| <complexType name="transformDataType"> | <complexType name="transformResultType"> | |||
| <sequence> | <sequence> | |||
| <element name="currency" type="fee:currencyType" /> | ||||
| <element name="fee" type="fee:feeType" /> | <element name="fee" type="fee:feeType" /> | |||
| </sequence> | </sequence> | |||
| </complexType> | </complexType> | |||
| <!-- | <!-- | |||
| delete result | delete result | |||
| --> | --> | |||
| <complexType name="deleteDataType"> | <complexType name="deleteDataType"> | |||
| <sequence> | <sequence> | |||
| <element name="currency" type="fee:currencyType" /> | ||||
| <element name="credit" type="fee:feeType" /> | <element name="credit" type="fee:feeType" /> | |||
| </sequence> | </sequence> | |||
| </complexType> | </complexType> | |||
| <!-- | <!-- | |||
| common types | common types | |||
| --> | --> | |||
| <simpleType name="currencyType"> | <simpleType name="currencyType"> | |||
| <restriction base="string"> | <restriction base="string"> | |||
| <pattern value="[A-Z]{3}" /> | <pattern value="[A-Z]{3}" /> | |||
| skipping to change at page 16, line 4 ¶ | skipping to change at page 24, line 48 ¶ | |||
| </simpleType> | </simpleType> | |||
| <complexType name="actionType"> | <complexType name="actionType"> | |||
| <simpleContent> | <simpleContent> | |||
| <extension base="fee:actionTypeValue"> | <extension base="fee:actionTypeValue"> | |||
| <attribute name="phase" type="token" /> | <attribute name="phase" type="token" /> | |||
| <attribute name="subphase" type="token" /> | <attribute name="subphase" type="token" /> | |||
| </extension> | </extension> | |||
| </simpleContent> | </simpleContent> | |||
| </complexType> | </complexType> | |||
| <simpleType name="actionTypeValue"> | <simpleType name="actionTypeValue"> | |||
| <restriction base="token"> | <restriction base="token"> | |||
| <minLength value="3"/> | <minLength value="3"/> | |||
| <maxLength value="16"/> | <maxLength value="16"/> | |||
| </restriction> | </restriction> | |||
| </simpleType> | </simpleType> | |||
| <simpleType name="feeType"> | <simpleType name="feeType"> | |||
| <restriction base="decimal" /> | <restriction base="decimal" /> | |||
| </simpleType> | </simpleType> | |||
| </schema> | </schema> | |||
| END | END | |||
| 3. Security Considerations | 5. Security Considerations | |||
| The mapping extensions described in this document do not provide any | The mapping extensions described in this document do not provide any | |||
| security services beyond those described by EPP [RFC5730], the EPP | security services beyond those described by EPP [RFC5730], the EPP | |||
| domain name mapping [RFC5731], and protocol layers used by EPP. The | domain name mapping [RFC5731], and protocol layers used by EPP. The | |||
| security considerations described in these other specifications apply | security considerations described in these other specifications apply | |||
| to this specification as well. | to this specification as well. | |||
| 4. IANA Considerations | 6. IANA Considerations | |||
| 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]. Two URI | conforming to a registry mechanism described in [RFC3688]. Two URI | |||
| assignments were requested and have been registered by the IANA. | assignments were requested and have been registered by the IANA. | |||
| Registration request for the digital signature namespace: | Registration request for the digital signature namespace: | |||
| URI: urn:ietf:params:xml:ns:fee-0.3 | URI: urn:ietf:params:xml:ns:fee-0.4 | |||
| Registrant Contact: See the "Author's Address" section of this | Registrant Contact: See the "Author's Address" section of this | |||
| document. | document. | |||
| XML: None. Namespace URIs do not represent an XML specification. | XML: None. Namespace URIs do not represent an XML specification. | |||
| Registration request for the EPP fee XML schema: | Registration request for the EPP fee XML schema: | |||
| URI: urn:ietf:params:xml:ns:fee-0.3 | URI: urn:ietf:params:xml:ns:fee-0.4 | |||
| Registrant Contact: See the "Author's Address" section of this | Registrant Contact: See the "Author's Address" section of this | |||
| document. | document. | |||
| XML: See the "Formal Syntax" section of this document. | XML: See the "Formal Syntax" section of this document. | |||
| 5. Acknowledgements | 7. Acknowledgements | |||
| The author wishes to thank James Gould of Verisign, Luis Munoz of | The author wishes to thank the following persons for their feedback | |||
| ISC, and Michael Young of Architelos for their feedback and | and suggestions: | |||
| suggestions. | ||||
| 6. Change History | o James Gould of Verisign | |||
| 6.1. Change from 0.1 to 0.2 | o Luis Munoz of ISC | |||
| o Michael Young of Architelos | ||||
| o Ben Levac and Jeff Eckhaus of Demand Media | ||||
| 8. Change History | ||||
| 8.1. Change from 0.1 to 0.2 | ||||
| 1. Added note about the use of the "XXX" code for non-currency | 1. Added note about the use of the "XXX" code for non-currency | |||
| transactions. | transactions. | |||
| 2. Added phase attribute to the <fee:action> element, and normative | 2. Added phase attribute to the <fee:action> element, and normative | |||
| reference to [draft-tan-epp-launchphase]. | reference to [draft-tan-epp-launchphase]. | |||
| 3. Added description of extension to transform and transfer query | 3. Added description of extension to transform and transfer query | |||
| commands. | commands. | |||
| 4. Added Acknowledgements and Change History sections. | 4. Added Acknowledgements and Change History sections. | |||
| 6.2. Change from 0.2 to 0.3 | 8.2. Change from 0.2 to 0.3 | |||
| 1. Added the subphase attribute to the <fee:action> element. | 1. Added the subphase attribute to the <fee:action> element. | |||
| 2. Removed the enumeration for the <fee:action> element so any token | 2. Removed the enumeration for the <fee:action> element so any token | |||
| may be used. | may be used. | |||
| 3. Moved the fee lookup command from <check> to <info>. | 3. Moved the fee lookup command from <check> to <info>. | |||
| 4. Added an extension to the <delete> command to return credit | 4. Added an extension to the <delete> command to return credit | |||
| information. | information. | |||
| 5. Changed MUSTs to MAYs so that the response extension elements can | 5. Changed MUSTs to MAYs so that the response extension elements can | |||
| be omitted where no fee is applicable. | be omitted where no fee is applicable. | |||
| 6. Update of introductory text. | 6. Update of introductory text. | |||
| 7. Normative References | 8.3. Change from 0.3 to 0.4 | |||
| 1. Restore the <check> command extension; either <check> or <info> | ||||
| can be used. | ||||
| 2. added extension elements for <create>, <renew>, <transfer> and | ||||
| <update> so that the server can reject the command if the fee is | ||||
| incorrect. | ||||
| 9. Normative References | ||||
| [ISO4217] International Organization for Standardization, "ISO 4217: | [ISO4217] International Organization for Standardization, "ISO 4217: | |||
| 2008, Codes for the representation of currencies and | 2008, Codes for the representation of currencies and | |||
| funds", 2008. | funds", 2008. | |||
| [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, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
| [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
| January 2004. | January 2004. | |||
| End of changes. 82 change blocks. | ||||
| 149 lines changed or deleted | 566 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||