idnits 2.17.1 draft-brown-epp-fees-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (November 4, 2013) is 3825 days in the past. Is this intentional? Checking references for intended status: Experimental ---------------------------------------------------------------------------- No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force G. Brown 3 Internet-Draft CentralNic Group plc 4 Intended status: Experimental November 4, 2013 5 Expires: May 8, 2014 7 Registry Fee Extension for the Extensible Provisioning Protocol (EPP) 8 draft-brown-epp-fees-00 10 Abstract 12 This document describes an Extensible Provisioning Protocol (EPP) 13 extension mapping for registry fees. 15 Status of this Memo 17 This Internet-Draft is submitted in full conformance with the 18 provisions of BCP 78 and BCP 79. 20 Internet-Drafts are working documents of the Internet Engineering 21 Task Force (IETF). Note that other groups may also distribute 22 working documents as Internet-Drafts. The list of current Internet- 23 Drafts is at http://datatracker.ietf.org/drafts/current/. 25 Internet-Drafts are draft documents valid for a maximum of six months 26 and may be updated, replaced, or obsoleted by other documents at any 27 time. It is inappropriate to use Internet-Drafts as reference 28 material or to cite them other than as "work in progress." 30 This Internet-Draft will expire on May 8, 2014. 32 Copyright Notice 34 Copyright (c) 2013 IETF Trust and the persons identified as the 35 document authors. All rights reserved. 37 This document is subject to BCP 78 and the IETF Trust's Legal 38 Provisions Relating to IETF Documents 39 (http://trustee.ietf.org/license-info) in effect on the date of 40 publication of this document. Please review these documents 41 carefully, as they describe your rights and restrictions with respect 42 to this document. Code Components extracted from this document must 43 include Simplified BSD License text as described in Section 4.e of 44 the Trust Legal Provisions and are provided without warranty as 45 described in the Simplified BSD License. 47 Table of Contents 49 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 50 1.1. Conventions Used in This Document . . . . . . . . . . . . 3 51 2. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 3 52 2.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . . 4 53 2.1.1. EPP Command . . . . . . . . . . . . . . . . . . 4 54 2.1.2. EPP Transfer Query Command . . . . . . . . . . . . . . 7 55 2.2. EPP Transform Commands . . . . . . . . . . . . . . . . . . 8 56 2.2.1. EPP Command . . . . . . . . . . . . . . . . . 8 57 2.2.2. EPP Command . . . . . . . . . . . . . . . . . 9 58 2.2.3. EPP Command . . . . . . . . . . . . . . . . . 10 59 2.2.4. EPP Command . . . . . . . . . . . . . . . . 11 60 2.2.5. EPP Command . . . . . . . . . . . . . . . . . 12 61 2.3. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . 13 62 3. Security Considerations . . . . . . . . . . . . . . . . . . . 16 63 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 64 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 17 65 6. Change History . . . . . . . . . . . . . . . . . . . . . . . . 17 66 6.1. Change from 0.1 to 0.2 . . . . . . . . . . . . . . . . . . 17 67 6.2. Change from 0.2 to 0.3 . . . . . . . . . . . . . . . . . . 17 68 7. Normative References . . . . . . . . . . . . . . . . . . . . . 17 69 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 18 71 1. Introduction 73 Historically, domain name registries have applied a simple fee 74 structure for billable transactions, namely a basic unit price 75 applied to domain , , and RGP restore 76 commands. Given the relatively small number of EPP servers to which 77 EPP clients have been required to connect, it has generally been the 78 case that client operators have been able to obtain details of these 79 fees out-of-band by contacting the server operators. 81 Given the imminent expansion of the DNS namespace, and the 82 proliferation of novel business models, it is now desirable to 83 provide a method for EPP clients to query EPP servers for the fees 84 and credits associated with certain commands and specific objects. 86 This document describes an extension mapping for version 1.0 of the 87 Extensible Provisioning Protocol (EPP) [RFC5730]. This EPP mapping 88 provides a mechanism by which EPP clients may query the fees and 89 credits associated with various billable transactions. 91 1.1. Conventions Used in This Document 93 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 94 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 95 document are to be interpreted as described in RFC 2119 [RFC2119]. 97 XML is case sensitive. Unless stated otherwise, XML specifications 98 and examples provided in this document MUST be interpreted in the 99 character case presented in order to develop a conforming 100 implementation. 102 "fee" is used as an abbreviation for 103 "urn:ietf:params:xml:ns:fee-0.3". The XML namespace prefix "fee" is 104 used, but implementations MUST NOT depend on it and instead employ a 105 proper namespace-aware XML parser and serializer to interpret and 106 output the XML documents. 108 The XML namespace prefix above contains a version number, 109 specifically "0.3". This version number will increment with 110 successive versions of this document, and will reach 1.0 if and when 111 this document is published as an RFC. This permits clients to 112 distinguish which version of the extension a server has implemented. 114 2. EPP Command Mapping 116 A detailed description of the EPP syntax and semantics can be found 117 in [RFC5730]. 119 2.1. EPP Query Commands 121 This extension does not add any elements to the EPP or 122 commands or responses. 124 2.1.1. EPP Command 126 This extension defines additional elements for the EPP 127 command. 129 The command frame MAY contain an element which contains a 130 element with the following child elements: 132 o A element that contains the currency the fee is 133 charged in. This must be a three-character currency code from 134 [ISO4217] (Note: ISO 4217 provides the special "XXX" code which 135 may be used if the server uses a non-currency based system for 136 assessing fees, such as a system of credits). 138 o A element identifying the command. The element 139 values supported by the server is a matter of repository policy, 140 but MUST include as a minimum the following values: 142 * "create" indicating a command; 144 * "renew" indicating a command; 146 * "transfer" indicating a command; 148 If the server supports the Registry Grace Period Mapping 149 [RFC3915], then the server MUST also support the "restore" value. 150 The element MAY have an OPTIONAL "phase" attribute 151 specifying a launch phase as described in 152 [draft-tan-epp-launchphase]. The element may also 153 contain an OPTIONAL "subphase" attribute identifying the custom or 154 sub-phase as described in [draft-tan-epp-launchphase]. 156 o A element that contains the number of units to be 157 added to the registration period of the domain object. 159 Example command: 161 C: 162 C: 163 C: 164 C: 165 C: 167 C: example.com 168 C: 169 C: 170 C: 171 C: 172 C: USD 173 C: create 174 C: 1 175 C: 176 C: 177 C: ABC-12345 178 C: 179 C: 181 When the server receives an command that includes the 182 extension element described above, its response MUST (subject to the 183 exceptions described below) contain an element, which 184 MUST contain a child element. The MUST 185 contain the following child elements: 187 o A element that contains same currency code that 188 appeared in the original element. 190 o A element that contains same action that appeared in 191 the original element. This element MAY have the 192 OPTIONAL "phase" and "subphase" elements, which MUST match the 193 same attributes in the original element. 195 o A element that contains same unit that appeared in 196 the original element. 198 o A element that contains the fee associated with the 199 specified transaction. 201 If the domain name requested in the command is invalid, sponsored by 202 another client, or otherwise ineligible for registration, the server 203 MAY choose to omit the element and return an error 204 instead. 206 Example response: 208 S: 209 S: 210 S: 211 S: 212 S: Command completed successfully 213 S: 214 S: 215 S: 217 S: example.com 218 S: EXAMPLE1-REP 219 S: 220 S: jd1234 221 S: sh8013 222 S: sh8013 223 S: 224 S: ns1.example.com 225 S: ns1.example.net 226 S: 227 S: ns1.example.com 228 S: ns2.example.com 229 S: ClientX 230 S: ClientY 231 S: 1999-04-03T22:00:00.0Z 232 S: ClientX 233 S: 1999-12-03T09:00:00.0Z 234 S: 2005-04-03T22:00:00.0Z 235 S: 2000-04-08T09:00:00.0Z 236 S: 237 S: 2fooBAR 238 S: 239 S: 240 S: 241 S: 242 S: 243 S: USD 244 S: create 245 S: 1 246 S: 10.00 247 S: 248 S: 249 S: 250 S: ABC-12345 251 S: 54322-XYZ 252 S: 253 S: 254 S: 255 Example response where the domain name is not registered: 257 S: 258 S: 259 S: 260 S: 261 S: Object does not exist. 262 S: 263 S: 264 S: 265 S: USD 266 S: create 267 S: 1 268 S: 10.00 269 S: 270 S: 271 S: 272 S: ABC-12345 273 S: 54322-XYZ 274 S: 275 S: 276 S: 278 2.1.2. EPP Transfer Query Command 280 This extension does not add any elements to the EPP query 281 command, but does include elements in the response, when the 282 extension has been selected during a command. 284 When the query command has been processed successfully, 285 the client selected the extension when it logged in, and the client 286 is authorised by the server to view information about the transfer, 287 the server MAY include in the section of the EPP response 288 a element that contains a element containing 289 the fee associated with this command. If no element is 290 included in the response, then no fee has been assessed by the server 291 for this transaction. 293 Example query response: 295 S: 296 S: 297 S: 298 S: 299 S: Command completed successfully; action pending 300 S: 301 S: 302 S: 304 S: example.com 305 S: pending 306 S: ClientX 307 S: 2000-06-08T22:00:00.0Z 308 S: ClientY 309 S: 2000-06-13T22:00:00.0Z 310 S: 2002-09-08T22:00:00.0Z 311 S: 312 S: 313 S: 314 S: 315 S: 5.00 316 S: 317 S: 318 S: 319 S: ABC-12345 320 S: 54322-XYZ 321 S: 322 S: 323 S: 325 2.2. EPP Transform Commands 327 2.2.1. EPP Command 329 This extension does not add any elements to the EPP command, 330 but does include elements in the response, when the extension has 331 been selected during a command. 333 When the command has been processed successfully, and the 334 client selected the extension when it logged in, the server MAY 335 include in the section of the EPP response a element that contains a element containing the fee 337 associated with this command. If no element is 338 included in the response, then no fee has been assessed by the server 339 for this transaction. 341 Example response: 343 S: 344 S: 345 S: 346 S: 347 S: Command completed successfully 348 S: 349 S: 350 S: 352 S: example.com 353 S: 1999-04-03T22:00:00.0Z 354 S: 2001-04-03T22:00:00.0Z 355 S: 356 S: 357 S: 358 S: 359 S: 5.00 360 S: 361 S: 362 S: 363 S: ABC-12345 364 S: 54321-XYZ 365 S: 366 S: 367 S: 369 2.2.2. EPP Command 371 This extension does not add any elements to the EPP command, 372 but does include elements in the response, when the extension has 373 been selected during a command. 375 When the command has been processed successfully, and the 376 client selected the extension when it logged in, the server MAY 377 include in the section of the EPP response a element that contains a element containing any 379 credit associated with the deletion of the domain. If no element is included in the response, then no credit has been 381 assessed by the server for this transaction. 383 Example response: 385 S: 386 S: 387 S: 388 S: 389 S: Command completed successfully 390 S: 391 S: 392 S: 393 S: 5.00 394 S: 395 S: 396 S: 397 S: ABC-12345 398 S: 54321-XYZ 399 S: 400 S: 401 S: 403 2.2.3. EPP Command 405 This extension does not add any elements to the EPP command, 406 but does include elements in the response, when the extension has 407 been selected during a command. 409 When the command has been processed successfully, and the 410 client selected the extension when it logged in, the server MAY 411 include in the section of the EPP response a element that contains a element containing the fee 413 associated with this command. If no element is 414 included in the response, then no fee has been assessed by the server 415 for this transaction. 417 Example response: 419 S: 420 S: 421 S: 422 S: 423 S: Command completed successfully 424 S: 425 S: 426 S: 428 S: example.com 429 S: 2005-04-03T22:00:00.0Z 430 S: 431 S: 432 S: 433 S: 434 S: 5.00 435 S: 436 S: 437 S: 438 S: ABC-12345 439 S: 54322-XYZ 440 S: 441 S: 442 S: 444 2.2.4. EPP Command 446 This extension does not add any elements to the EPP 447 command, but does include elements in the response, when the 448 extension has been selected during a command. 450 When the command has been processed successfully, and the 451 client selected the extension when it logged in, and if the "op" 452 attribute of the element of the request was "request", the 453 server MAY include in the section of the EPP response a 454 element that contains a element containing 455 the fee associated with this command. If no element is 456 included in the response, then no fee has been assessed by the server 457 for this transaction. 459 Example response: 461 S: 462 S: 463 S: 464 S: 465 S: Command completed successfully; action pending 466 S: 467 S: 468 S: 470 S: example.com 471 S: pending 472 S: ClientX 473 S: 2000-06-08T22:00:00.0Z 474 S: ClientY 475 S: 2000-06-13T22:00:00.0Z 476 S: 2002-09-08T22:00:00.0Z 477 S: 478 S: 479 S: 480 S: 481 S: 5.00 482 S: 483 S: 484 S: 485 S: ABC-12345 486 S: 54322-XYZ 487 S: 488 S: 489 S: 491 2.2.5. EPP Command 493 This extension does not add any elements to the EPP command, 494 but does include elements in the response, when the extension has 495 been selected during a command. 497 When the command has been processed successfully, and the 498 client selected the extension when it logged in, the server MAY 499 include in the section of the EPP response a element that contains a element containing any fee 501 associated with this command. If no element is 502 included in the response, then no fee has been assessed by the server 503 for this transaction. 505 Example response: 507 S: 508 S: 509 S: 510 S: 511 S: Command completed successfully 512 S: 513 S: 514 S: 515 S: 5.00 516 S: 517 S: 518 S: 519 S: ABC-12345 520 S: 54321-XYZ 521 S: 522 S: 523 S: 525 2.3. Formal Syntax 527 An EPP object mapping is specified in XML Schema notation. The 528 formal syntax presented here is a complete schema representation of 529 the object mapping suitable for automated validation of EPP XML 530 instances. 532 Copyright (c) 2013 IETF Trust and the persons identified as authors 533 of the code. All rights reserved. 535 Redistribution and use in source and binary forms, with or without 536 modification, are permitted provided that the following conditions 537 are met: 539 o Redistributions of source code must retain the above copyright 540 notice, this list of conditions and the following disclaimer. 542 o Redistributions in binary form must reproduce the above copyright 543 notice, this list of conditions and the following disclaimer in 544 the documentation and/or other materials provided with the 545 distribution. 547 o Neither the name of Internet Society, IETF or IETF Trust, nor the 548 names of specific contributors, may be used to endorse or promote 549 products derived from this software without specific prior written 550 permission. 552 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 553 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 554 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 555 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 556 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 557 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 558 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 559 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 560 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 561 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 562 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 564 BEGIN 565 566 573 574 576 577 Extensible Provisioning Protocol 578 v1.0 domain name extension schema for 579 fee information. 580 582 585 586 587 588 589 590 591 593 596 597 598 599 600 601 602 603 606 607 608 609 610 611 612 613 615 618 619 620 621 622 624 627 628 629 630 631 633 636 637 638 639 640 642 643 644 645 646 647 648 649 650 651 652 653 654 655 657 658 659 660 661 END 663 3. Security Considerations 665 The mapping extensions described in this document do not provide any 666 security services beyond those described by EPP [RFC5730], the EPP 667 domain name mapping [RFC5731], and protocol layers used by EPP. The 668 security considerations described in these other specifications apply 669 to this specification as well. 671 4. IANA Considerations 673 This document uses URNs to describe XML namespaces and XML schemas 674 conforming to a registry mechanism described in [RFC3688]. Two URI 675 assignments were requested and have been registered by the IANA. 677 Registration request for the digital signature namespace: 679 URI: urn:ietf:params:xml:ns:fee-0.3 681 Registrant Contact: See the "Author's Address" section of this 682 document. 684 XML: None. Namespace URIs do not represent an XML specification. 686 Registration request for the EPP fee XML schema: 688 URI: urn:ietf:params:xml:ns:fee-0.3 690 Registrant Contact: See the "Author's Address" section of this 691 document. 693 XML: See the "Formal Syntax" section of this document. 695 5. Acknowledgements 697 The author wishes to thank James Gould of Verisign, Luis Munoz of 698 ISC, and Michael Young of Architelos for their feedback and 699 suggestions. 701 6. Change History 703 6.1. Change from 0.1 to 0.2 705 1. Added note about the use of the "XXX" code for non-currency 706 transactions. 708 2. Added phase attribute to the element, and normative 709 reference to [draft-tan-epp-launchphase]. 711 3. Added description of extension to transform and transfer query 712 commands. 714 4. Added Acknowledgements and Change History sections. 716 6.2. Change from 0.2 to 0.3 718 1. Added the subphase attribute to the element. 720 2. Removed the enumeration for the element so any token 721 may be used. 723 3. Moved the fee lookup command from to . 725 4. Added an extension to the command to return credit 726 information. 728 5. Changed MUSTs to MAYs so that the response extension elements can 729 be omitted where no fee is applicable. 731 6. Update of introductory text. 733 7. Normative References 735 [ISO4217] International Organization for Standardization, "ISO 4217: 736 2008, Codes for the representation of currencies and 737 funds", 2008. 739 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 740 Requirement Levels", BCP 14, RFC 2119, March 1997. 742 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 743 January 2004. 745 [RFC3915] Hollenbeck, S., "Domain Registry Grace Period Mapping for 746 the Extensible Provisioning Protocol (EPP)", RFC 3915, 747 September 2004. 749 [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", 750 STD 69, RFC 5730, August 2009. 752 [RFC5731] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) 753 Domain Name Mapping", STD 69, RFC 5731, August 2009. 755 [draft-tan-epp-launchphase] 756 Gould, J., Tan, W., and G. Brown, "Launch Phase Mapping 757 for the Extensible Provisioning Protocol (EPP)", 2013. 759 Author's Address 761 Gavin Brown 762 CentralNic Group plc 763 35-39 Moorgate 764 London, England EC2R 6AR 765 GB 767 Phone: +44 20 33 88 0600 768 Email: gavin.brown@centralnic.com 769 URI: https://www.centralnic.com