idnits 2.17.1 draft-brown-epp-fees-02.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 (June 27, 2014) is 3589 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 June 27, 2014 5 Expires: December 29, 2014 7 Registry Fee Extension for the Extensible Provisioning Protocol (EPP) 8 draft-brown-epp-fees-02 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 December 29, 2014. 32 Copyright Notice 34 Copyright (c) 2014 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. Extension Elements . . . . . . . . . . . . . . . . . . . . . . 3 52 2.1. Client Commands . . . . . . . . . . . . . . . . . . . . . 4 53 2.2. Currency Codes . . . . . . . . . . . . . . . . . . . . . . 4 54 2.3. Registration Periods . . . . . . . . . . . . . . . . . . . 4 55 2.4. Fees and Credits . . . . . . . . . . . . . . . . . . . . . 5 56 2.4.1. Grace Periods . . . . . . . . . . . . . . . . . . . . 5 57 2.5. Account Balance . . . . . . . . . . . . . . . . . . . . . 6 58 2.6. Credit Limit . . . . . . . . . . . . . . . . . . . . . . . 6 59 2.7. Classification of Domain Names . . . . . . . . . . . . . . 6 60 3. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 7 61 3.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . . 7 62 3.1.1. EPP Command . . . . . . . . . . . . . . . . . 7 63 3.1.2. EPP Command . . . . . . . . . . . . . . . . . . 11 64 3.1.3. EPP Transfer Query Command . . . . . . . . . . . . . . 14 65 3.2. EPP Transform Commands . . . . . . . . . . . . . . . . . . 15 66 3.2.1. EPP Command . . . . . . . . . . . . . . . . . 15 67 3.2.2. EPP Command . . . . . . . . . . . . . . . . . 18 68 3.2.3. EPP Command . . . . . . . . . . . . . . . . . 19 69 3.2.4. EPP Command . . . . . . . . . . . . . . . . 21 70 3.2.5. EPP Command . . . . . . . . . . . . . . . . . 23 71 3.3. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . 25 72 4. Security Considerations . . . . . . . . . . . . . . . . . . . 30 73 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30 74 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 31 75 7. Change History . . . . . . . . . . . . . . . . . . . . . . . . 31 76 7.1. Changes from 00 to 01 . . . . . . . . . . . . . . . . . . 31 77 7.2. Changes from 01 to 02 . . . . . . . . . . . . . . . . . . 32 78 8. Normative References . . . . . . . . . . . . . . . . . . . . . 32 79 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 33 81 1. Introduction 83 Historically, domain name registries have applied a simple fee 84 structure for billable transactions, namely a basic unit price 85 applied to domain , , and RGP [RFC3915] 86 restore commands. Given the relatively small number of EPP servers 87 to which EPP clients have been required to connect, it has generally 88 been the case that client operators have been able to obtain details 89 of these fees out-of-band by contacting the server operators. 91 Given the present expansion of the DNS namespace, and the 92 proliferation of novel business models, it is now desirable to 93 provide a method for EPP clients to query EPP servers for the fees 94 and credits associated with certain commands and specific objects. 96 This document describes an extension mapping for version 1.0 of the 97 Extensible Provisioning Protocol (EPP) [RFC5730]. This EPP mapping 98 provides a mechanism by which EPP clients may query the fees and 99 credits associated with various billable transactions, and also 100 obtain their current account balance. 102 1.1. Conventions Used in This Document 104 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 105 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 106 document are to be interpreted as described in RFC 2119 [RFC2119]. 108 XML is case sensitive. Unless stated otherwise, XML specifications 109 and examples provided in this document MUST be interpreted in the 110 character case presented in order to develop a conforming 111 implementation. 113 "fee" is used as an abbreviation for 114 "urn:ietf:params:xml:ns:fee-0.5". The XML namespace prefix "fee" is 115 used, but implementations MUST NOT depend on it and instead employ a 116 proper namespace-aware XML parser and serializer to interpret and 117 output the XML documents. 119 The XML namespace prefix above contains a version number, 120 specifically "0.5". This version number will increment with 121 successive versions of this document, and will reach 1.0 if and when 122 this document is published as an RFC. This permits clients to 123 distinguish which version of the extension a server has implemented. 125 2. Extension Elements 126 2.1. Client Commands 128 The element is used in EPP and commands 129 to determine the fee which is applicable to the given command. 131 The element values permitted by the server is a matter of repository 132 policy, but MUST include as a minimum the following values: 134 o "create" indicating a command; 136 o "renew" indicating a command; 138 o "transfer" indicating a command; 140 If the server supports the Registry Grace Period Mapping [RFC3915], 141 then the server MUST also support the "restore" value. 143 The element MAY have an OPTIONAL "phase" attribute 144 specifying a launch phase as described in 145 [draft-ietf-eppext-launchphase]. It may also contain an OPTIONAL 146 "subphase" attribute identifying the custom or sub-phase as described 147 in [draft-ietf-eppext-launchphase]. 149 2.2. Currency Codes 151 The element is used to indicate which currency fees 152 are charged in. This value of this element MUST be a three-character 153 currency code from [ISO4217]. 155 Note that ISO 4217 provides the special "XXX" code, which MAY be used 156 if the server uses a non-currency based system for assessing fees, 157 such as a system of credits. 159 The use of elements in command frames is OPTIONAL: if 160 a element is not present in a command frame, the 161 server MUST determine the currency based on the client's account 162 settings which MUST be agreed by the client and server via an out-of- 163 band channel. However, element MUST be present in 164 response frames. 166 Servers SHOULD NOT perform a currency conversion if a client uses an 167 incorrect currency code. Servers SHOULD return an error instead. 169 2.3. Registration Periods 171 The element is used to indicate the units to be added to 172 the registration period of domain names by the , and 173 commands. This element is derived from the element described in [RFC5731]. 177 The element is OPTIONAL in command frames: if ommitted, 178 the server MUST determine the fee(s) using a validity period of 1 179 year. The element MUST be present in response frames. 181 2.4. Fees and Credits 183 Servers which implement this extension will include elements in 184 response frames which provide information about the fees and/or 185 credits associated with a given billable transaction. 187 The and elements are used to provide this 188 information. The presence of a element in a response 189 indicates a debit against the client's account balance; a element indicates a credit. A element MUST have a 191 non-negative value. A element MUST have a negative 192 value. 194 A server MAY respond with multiple and 195 elements in the same response. In such cases, the net fee or credit 196 applicable to the transaction is the arithmetic sum of the values of 197 each of the or elements. 199 and elements MAY have an OPTIONAL 200 "description" attribute which provides a human-readable description 201 of the fee. Servers SHOULD provide documentation on the possible 202 values of this attribute, and their meanings. 204 elements MAY have an OPTIONAL "refundable" attribute which 205 takes a boolean value. Fees may be refunded under certain 206 circumstances, such as when a domain application is rejected (as 207 described in [draft-ietf-eppext-launchphase]) or when a domain name 208 is deleted during the relevant Grace Period (see below). If the 209 "refundable" attribute is omitted, then the default value of "1" 210 should be assumed (i.e. the fee is refundable). 212 2.4.1. Grace Periods 214 [RFC3915] describes a system of "grace periods", which are time 215 periods following a billable transaction during which, if a domain 216 name is deleted, the client receives a refund. 218 The "grace-period" attribute MAY be used to indicate the relevant 219 grace period for a fee. If a server implements the Registry Grace 220 Period Servers extension, it SHOULD specify the grace period for all 221 relevant transactions. If no "grace-period" attribute value is 222 provided, then no grace period is applicable. 224 If a element has a "grace-period" attribute then it MUST 225 also be refundable. If the "refundable" attribute of a 226 element evaluates to false then it MUST NOT have a "grace-period" 227 attribute. 229 2.5. Account Balance 231 The element is an OPTIONAL element which MAY be 232 included in server responses to transform commands. If present, it 233 can be used by the client to determine the remaining credit at the 234 server. 236 Whether or not the is included in response frames is a 237 matter of server policy. However, if a server chooses to offer 238 support for this element, it MUST be included in responses to all 239 domain "transform" commands (ie , , , 240 , ). 242 The value of the MAY be negative. A negative balance 243 indicates that the server has extended a line of credit to the client 244 (see below). 246 When a server includes a element in response to 247 transform commands, the value of the element MUST reflect the 248 client's account balance after any fees or credits associated with 249 that command have been applied. 251 2.6. Credit Limit 253 As described above, if a server returns a response frame containing a 254 with a negative value, then the server has extended a 255 line of credit to the client. A server MAY also include a element in responses which indicates the maximum credit 257 available to a client. A server MAY reject certain transactions if 258 the absolute value of the is equal to or exceeds the 259 value of the element. 261 Whether or not the is included in response frames 262 is a matter of server policy. However, if a server chooses to offer 263 support for this element, it MUST be included in responses to all 264 domain "transform" commands (ie , , , 265 , ). 267 2.7. Classification of Domain Names 269 Domain names may be assigned to a particular class, category, or 270 tier, each of which has a particular fee or set of fess associated 271 with it. The element which appears in and 272 responses is used to indicate the classification of a domain name. 274 If a server makes use of this element, it MUST provide clients with a 275 list of all the values that the element may take via an out-of-band 276 channel. Servers MUST NOT use values which do not appear on this 277 list. 279 3. EPP Command Mapping 281 A detailed description of the EPP syntax and semantics can be found 282 in [RFC5730]. 284 3.1. EPP Query Commands 286 This extension does not add any elements to the EPP command or 287 response. 289 3.1.1. EPP Command 291 This extension defines additional elements for the EPP 292 command. 294 The command frame MAY contain an element which MAY 295 contain a element. The element MUST contain 296 at least one element, with the following child elements: 298 o A element. The domain name need not correspond to a 299 element that appears in the element 300 of the main body of the frame. 302 o An OPTIONAL element; 304 o A element; 306 o An OPTIONAL element. 308 Example command: 310 C: 311 C: 312 C: 313 C: 314 C: 316 C: example.com 317 C: example.net 318 C: example.org 319 C: 320 C: 321 C: 322 C: 324 C: 325 C: example.com 326 C: USD 327 C: create 328 C: 1 329 C: 330 C: 331 C: example.net 332 C: EUR 333 C: 334 C: create 335 C: 2 336 C: 337 C: 338 C: example.org 339 C: EUR 340 C: transfer 341 C: 342 C: 343 C: example.xyz 344 C: restore 345 C: 1 346 C: 347 C: 348 C: 349 C: ABC-12345 350 C: 351 C: 353 When the server receives a command that includes the 354 extension elements described above, its response MUST contain an 355 element, which MUST contain a child 356 element. The element MUST contain a element 357 for each element contained in the command. The 358 MUST contain the following child elements: 360 o A element that contains a domain name which matches the 361 name in the corresponding element. 363 o A element that contains same currency code that 364 appeared in the corresponding element. If no element appeared in the corresponding 366 element, then the client's default billing currency should be 367 used. 369 o A element that contains same command that appeared 370 in the corresponding element. This element MAY have 371 the OPTIONAL "phase" and "subphase" elements, which MUST match the 372 same attributes in the corresponding element. 374 o A element that contains same unit that appeared in 375 the corresponding element. If no 376 appeared in the corresponding element, then this 377 element MUST have a value of 1 year. 379 o One or more elements. 381 o An OPTIONAL element. 383 Example response: 385 S: 386 S: 387 S: 388 S: 389 S: Command completed successfully 390 S: 391 S: 392 S: 394 S: 395 S: example.com 396 S: 397 S: 398 S: example.net 399 S: In use 400 S: 401 S: 402 S: example.org 403 S: In use 404 S: 405 S: 406 S: 407 S: 408 S: 410 S: 411 S: example.com 412 S: USD 413 S: create 414 S: 1 415 S: 5.00 417 S: 5.00 419 S: 420 S: 421 S: example.net 422 S: EUR 423 S: 424 S: create 425 S: 2 426 S: 5.00 427 S: 428 S: 429 S: example.org 430 S: EUR 431 S: transfer 432 S: 2 433 S: 2.50 434 S: 10.00 435 S: 436 S: 437 S: example.xyz 438 S: GBP 439 S: restore 440 S: 1 441 S: 25 442 S: 5.00 443 S: premium-tier1 444 S: 445 S: 446 S: 447 S: 448 S: ABC-12345 449 S: 54322-XYZ 450 S: 451 S: 452 S: 454 3.1.2. EPP Command 456 This extension defines additional elements for the EPP 457 command. 459 The command frame MAY contain an element which contains a 460 element with the following child elements: 462 o An OPTIONAL element; 464 o A element; 466 o An OPTIONAL element. 468 Example command: 470 C: 471 C: 472 C: 473 C: 474 C: 476 C: example.com 477 C: 478 C: 479 C: 480 C: 481 C: USD 482 C: create 483 C: 1 484 C: 485 C: 486 C: ABC-12345 487 C: 488 C: 490 When the server receives an command that includes the 491 extension element described above, its response MUST (subject to the 492 exceptions described below) contain an element, which 493 MUST contain a child element. The MUST 494 contain the following child elements: 496 o A element that contains same currency code that 497 appeared in the element element of the command 498 frame. If no element appeared in the command 499 frame, then the client's default billing currency should be used. 501 o A element that contains same command that appeared 502 in the element of the command frame. This element 503 MAY have the OPTIONAL "phase" and "subphase" elements, which MUST 504 match the same attributes in the element of the 505 command frame. 507 o A element that contains same unit that appeared in 508 the corresponding element of the command frame. If 509 no appeared in the command frame, then this element 510 MUST have a value of 1 year. 512 o One or more elements. 514 o An OPTIONAL element. 516 If the domain name requested in the command is invalid, sponsored by 517 another client, or otherwise ineligible for registration, the server 518 MAY choose to omit the element and return an error 519 instead. 521 Example response: 523 S: 524 S: 525 S: 526 S: 527 S: Command completed successfully 528 S: 529 S: 530 S: 532 S: example.com 533 S: EXAMPLE1-REP 534 S: 535 S: jd1234 536 S: sh8013 537 S: sh8013 538 S: 539 S: ns1.example.com 540 S: ns1.example.net 541 S: 542 S: ns1.example.com 543 S: ns2.example.com 544 S: ClientX 545 S: ClientY 546 S: 1999-04-03T22:00:00.0Z 547 S: ClientX 548 S: 1999-12-03T09:00:00.0Z 549 S: 2005-04-03T22:00:00.0Z 550 S: 2000-04-08T09:00:00.0Z 551 S: 552 S: 2fooBAR 553 S: 554 S: 555 S: 556 S: 557 S: 558 S: USD 559 S: create 560 S: 1 561 S: 10.00 562 S: premium-tier1 563 S: 564 S: 565 S: 566 S: ABC-12345 567 S: 54322-XYZ 568 S: 569 S: 570 S: 571 Example response where the domain name is not registered: 573 S: 574 S: 575 S: 576 S: 577 S: Object does not exist. 578 S: 579 S: 580 S: 582 S: USD 583 S: create 584 S: 1 585 S: 10.00 586 S: 587 S: 588 S: 589 S: ABC-12345 590 S: 54322-XYZ 591 S: 592 S: 593 S: 595 3.1.3. EPP Transfer Query Command 597 This extension does not add any elements to the EPP query 598 command, but does include elements in the response, when the 599 extension has been selected during a command. 601 When the query command has been processed successfully, 602 the client selected the extension when it logged in, and the client 603 is authorised by the server to view information about the transfer, 604 the server MAY include in the section of the EPP response 605 a element that contains the following child elements: 607 o A element. 609 o one or more elements containing the fees associated with 610 the transfer. 612 If no element is included in the response, then no fee 613 will be assessed by the server for the transfer. 615 Example query response: 617 S: 618 S: 619 S: 620 S: 621 S: Command completed successfully; action pending 622 S: 623 S: 624 S: 626 S: example.com 627 S: pending 628 S: ClientX 629 S: 2000-06-08T22:00:00.0Z 630 S: ClientY 631 S: 2000-06-13T22:00:00.0Z 632 S: 2002-09-08T22:00:00.0Z 633 S: 634 S: 635 S: 636 S: 637 S: USD 638 S: 5.00 639 S: 640 S: 641 S: 642 S: ABC-12345 643 S: 54322-XYZ 644 S: 645 S: 646 S: 648 3.2. EPP Transform Commands 650 3.2.1. EPP Command 652 This extension adds elements to both the EPP command and 653 response, when the extension has been selected during a 654 command. 656 When submitting a command to the server, the client MAY 657 include in the element a element which 658 includes the following child elements: 660 o An OPTIONAL element; 662 o One or more elements. 664 Depending on server policy, the server MAY choose to accept or refuse 665 the command depending on whether the currency and fees provided by 666 the client agrees with the server's own calculation of the fees. If 667 the server chooses to refuse the command due to incorrect fees, it 668 MUST respond with a 2004 "Parameter value range" error. 670 A server MAY require the currency and fees to be provided for the 671 command. If the server chooses to refuse the command due to missing 672 fees, it MUST response with a 2003 "Required parameter missing" 673 error. 675 When the command has been processed successfully, and the 676 client selected the extension when it logged in, and a fee was 677 assessed by the server for the transaction, the server MUST include 678 in the section of the EPP response a 679 element that contains the following child elements: 681 o A element; 683 o One or more elements; 685 o An OPTIONAL element; 687 o An OPTIONAL element. 689 If no element is included in the response, then no fee 690 has been assessed by the server for this transaction. 692 Example command: 694 C: 695 C: 696 C: 697 C: 698 C: 700 C: example.com 701 C: 2 702 C: 703 C: ns1.example.net 704 C: ns2.example.net 705 C: 706 C: jd1234 707 C: sh8013 708 C: sh8013 709 C: 710 C: 2fooBAR 711 C: 712 C: 713 C: 714 C: 715 C: 716 C: USD 717 C: 5.00 718 C: 719 C: 720 C: ABC-12345 721 C: 722 C: 724 Example response: 726 S: 727 S: 728 S: 729 S: 730 S: Command completed successfully 731 S: 732 S: 733 S: 735 S: example.com 736 S: 1999-04-03T22:00:00.0Z 737 S: 2001-04-03T22:00:00.0Z 738 S: 739 S: 740 S: 741 S: 742 S: USD 743 S: 5.00 744 S: -5.00 745 S: 1000.00 746 S: 747 S: 748 S: 749 S: ABC-12345 750 S: 54321-XYZ 751 S: 752 S: 753 S: 755 3.2.2. EPP Command 757 This extension does not add any elements to the EPP command, 758 but does include elements in the response, when the extension has 759 been selected during the command. 761 When the command has been processed successfully, and the 762 client selected the extension when it logged in, the server MAY 763 include in the section of the EPP response a element that contains the following child elements: 766 o A element; 768 o One or more elements; 770 o An OPTIONAL element; 772 o An OPTIONAL element. 774 If no element is included in the response, then no 775 credit has been assessed by the server for this transaction. 777 Example response: 779 S: 780 S: 781 S: 782 S: 783 S: Command completed successfully 784 S: 785 S: 786 S: 788 S: USD 789 S: -5.00 790 S: 1005.00 791 S: 792 S: 793 S: 794 S: ABC-12345 795 S: 54321-XYZ 796 S: 797 S: 798 S: 800 3.2.3. EPP Command 802 This extension adds elements to both the EPP command and 803 response, when the extension has been selected during a 804 command. 806 When submitting a command to the server, the client MAY 807 include in the element a element which 808 includes the following child elements: 810 o A element; 812 o One or more elements. 814 Depending on server policy, the server MAY choose to accept or refuse 815 the command depending on whether the currency and fees provided by 816 the client agrees with the server's own calculation of the fees. If 817 the server chooses to refuse the command due to incorrect fees, it 818 MUST respond with a 2004 "Parameter value range error". 820 A server MAY require the currency and fees to be provided for the 821 command. If the server chooses to refuse the command due to missing 822 fees, it MUST response with a 2003 "Required parameter missing" 823 error. 825 When the command has been processed successfully, and the 826 client selected the extension when it logged in, the server MAY 827 include in the section of the EPP response a element that contains the following child elements: 830 o A element; 832 o One or more elements; 834 o An OPTIONAL element; 836 o An OPTIONAL element. 838 If no element is included in the response, then no fee 839 has been assessed by the server for this transaction. 841 Example command: 843 C: 844 C: 845 C: 846 C: 847 C: 849 C: example.com 850 C: 2000-04-03 851 C: 5 852 C: 853 C: 854 C: 855 C: 856 C: USD 857 C: 5.00 858 C: 859 C: 860 C: ABC-12345 861 C: 862 C: 864 Example response: 866 S: 867 S: 868 S: 869 S: 870 S: Command completed successfully 871 S: 872 S: 873 S: 875 S: example.com 876 S: 2005-04-03T22:00:00.0Z 877 S: 878 S: 879 S: 880 S: 881 S: USD 882 S: 5.00 883 S: 1000.00 884 S: 885 S: 886 S: 887 S: ABC-12345 888 S: 54322-XYZ 889 S: 890 S: 891 S: 893 3.2.4. EPP Command 895 This extension adds elements to both the EPP command and 896 response, when the value of the "op" attribute of the 897 command element is "request", and the extension has been selected 898 during the command. 900 When submitting a command to the server, the client MAY 901 include in the element a element which 902 includes the following child elements: 904 o A element; 906 o One or more elements. 908 Depending on server policy, the server MAY choose to accept or refuse 909 the command depending on whether the currency and fees provided by 910 the client agrees with the server's own calculation of the fees. If 911 the server chooses to refuse the command due to incorrect fees, it 912 MUST respond with a 2004 "Parameter value range error". 914 A server MAY require the currency and fees to be provided for the 915 command. If the server chooses to refuse the command due to missing 916 fees, it MUST response with a 2003 "Required parameter missing" 917 error. 919 When the command has been processed successfully, and the 920 client selected the extension when it logged in, the server MAY 921 include in the section of the EPP response a element that contains the following child elements: 924 o A element; 926 o One or more elements; 928 o An OPTIONAL element; 930 o An OPTIONAL element. 932 If no element is included in the response, then no 933 fee has been assessed by the server for this transaction. 935 Example command: 937 C: 938 C: 939 C: 940 C: 941 C: 943 C: example.com 944 C: 1 945 C: 946 C: 2fooBAR 947 C: 948 C: 949 C: 950 C: 951 C: 952 C: USD 953 C: 5.00 954 C: 955 C: 956 C: ABC-12345 957 C: 958 C: 960 Example response: 962 S: 963 S: 964 S: 965 S: 966 S: Command completed successfully; action pending 967 S: 968 S: 969 S: 971 S: example.com 972 S: pending 973 S: ClientX 974 S: 2000-06-08T22:00:00.0Z 975 S: ClientY 976 S: 2000-06-13T22:00:00.0Z 977 S: 2002-09-08T22:00:00.0Z 978 S: 979 S: 980 S: 981 S: 982 S: USD 983 S: 5.00 984 S: 985 S: 986 S: 987 S: ABC-12345 988 S: 54322-XYZ 989 S: 990 S: 991 S: 993 3.2.5. EPP Command 995 This extension adds elements to both the EPP command and 996 response, when the extension has been selected during a has 997 been selected during the command. 999 When submitting a command to the server, the client MAY 1000 include in the element a element which 1001 includes the following child elements: 1003 o A element; 1005 o One or more elements. 1007 Depending on server policy, the server MAY choose to accept or refuse 1008 the command depending on whether the currency and fees provided by 1009 the client agrees with the server's own calculation of the fees. If 1010 the server chooses to refuse the command due to incorrect fees, it 1011 MUST respond with a 2004 "Parameter value range error". 1013 A server MAY require the currency and fees to be provided for the 1014 command. If the server chooses to refuse the command due to missing 1015 fees, it MUST response with a 2003 "Required parameter missing" 1016 error. 1018 When the command has been processed successfully, and the 1019 client selected the extension when it logged in, the server MAY 1020 include in the section of the EPP response a 1021 element that contains the following child elements: 1023 o A element; 1025 o One or more elements; 1027 o An OPTIONAL element; 1029 o An OPTIONAL element. 1031 If no element is included in the response, then no fee 1032 has been assessed by the server for this transaction. 1034 Example command: 1036 C: 1037 C: 1038 C: 1039 C: 1040 C: 1042 C: example.com 1043 C: 1044 C: sh8013 1045 C: 1046 C: 1047 C: 1048 C: 1049 C: 1050 C: USD 1051 C: 5.00 1052 C: 1053 C: 1054 C: ABC-12345 1055 C: 1056 C: 1057 Example response: 1059 S: 1060 S: 1061 S: 1062 S: 1063 S: Command completed successfully 1064 S: 1065 S: 1066 S: 1067 S: USD 1068 S: 5.00 1069 S: 1070 S: 1071 S: 1072 S: ABC-12345 1073 S: 54321-XYZ 1074 S: 1075 S: 1076 S: 1078 3.3. Formal Syntax 1080 An EPP object mapping is specified in XML Schema notation. The 1081 formal syntax presented here is a complete schema representation of 1082 the object mapping suitable for automated validation of EPP XML 1083 instances. 1085 Copyright (c) 2013 IETF Trust and the persons identified as authors 1086 of the code. All rights reserved. 1088 Redistribution and use in source and binary forms, with or without 1089 modification, are permitted provided that the following conditions 1090 are met: 1092 o Redistributions of source code must retain the above copyright 1093 notice, this list of conditions and the following disclaimer. 1095 o Redistributions in binary form must reproduce the above copyright 1096 notice, this list of conditions and the following disclaimer in 1097 the documentation and/or other materials provided with the 1098 distribution. 1100 o Neither the name of Internet Society, IETF or IETF Trust, nor the 1101 names of specific contributors, may be used to endorse or promote 1102 products derived from this software without specific prior written 1103 permission. 1105 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1106 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1107 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1108 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 1109 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 1110 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 1111 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 1112 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 1113 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 1114 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 1115 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1117 BEGIN 1118 1119 1126 1127 1129 1130 Extensible Provisioning Protocol 1131 v1.0 domain name extension schema for 1132 fee information. 1133 1135 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1152 1155 1156 1157 1159 1160 1162 1163 1164 1165 1167 1168 1170 1171 1173 1176 1177 1178 1180 1181 1183 1184 1185 1186 1187 1188 1189 1191 1192 1193 1195 1198 1199 1200 1201 1202 1203 1204 1206 1209 1210 1211 1212 1213 1214 1216 1217 1218 1220 1223 1224 1225 1226 1228 1229 1231 1234 1235 1236 1237 1239 1241 1243 1244 1246 1250 1251 1252 1253 1255 1257 1259 1260 1262 1265 1266 1267 1268 1269 1271 1272 1273 1274 1275 1276 1277 1278 1280 1281 1282 1283 1284 1285 1287 1288 1289 1290 1291 1293 1294 1295 1296 1298 1300 1301 1302 1303 1304 1306 1308 1309 1310 1312 1313 1314 1315 1316 1317 1318 1320 1321 1322 1324 1325 1326 1328 1330 END 1332 4. Security Considerations 1334 The mapping extensions described in this document do not provide any 1335 security services beyond those described by EPP [RFC5730], the EPP 1336 domain name mapping [RFC5731], and protocol layers used by EPP. The 1337 security considerations described in these other specifications apply 1338 to this specification as well. 1340 5. IANA Considerations 1342 This document uses URNs to describe XML namespaces and XML schemas 1343 conforming to a registry mechanism described in [RFC3688]. Two URI 1344 assignments were requested and have been registered by the IANA. 1346 Registration request for the digital signature namespace: 1348 URI: urn:ietf:params:xml:ns:fee-0.5 1350 Registrant Contact: See the "Author's Address" section of this 1351 document. 1353 XML: None. Namespace URIs do not represent an XML specification. 1355 Registration request for the EPP fee XML schema: 1357 URI: urn:ietf:params:xml:ns:fee-0.5 1359 Registrant Contact: See the "Author's Address" section of this 1360 document. 1362 XML: See the "Formal Syntax" section of this document. 1364 6. Acknowledgements 1366 The author wishes to thank the following persons for their feedback 1367 and suggestions: 1369 o James Gould of Verisign 1371 o Luis Munoz of ISC 1373 o Michael Young of Architelos 1375 o Ben Levac and Jeff Eckhaus of Demand Media 1377 o Seth Goldman of Google 1379 o Klaus Malorny of Knipp 1381 o Jody Kolker and Roger Carney of Go Daddy 1383 7. Change History 1385 7.1. Changes from 00 to 01 1387 1. Restore the command extension; either or 1388 can be used. 1390 2. added extension elements for , , and 1391 so that the server can reject the command if the fee is 1392 incorrect. 1394 7.2. Changes from 01 to 02 1396 1. Use Internet-Draft version number rather than XML namespace 1397 version number in this section. 1399 2. Support for multiple and elements. 1401 3. Added the "description" attribute to and 1402 elements. 1404 4. Added the element. 1406 5. added the element. 1408 6. Updated reference to [draft-ietf-eppext-launchphase]. 1410 7. Use instead of . 1412 8. Use a single child element of instead of multiple 1413 elements for each domain. This also requires using a different 1414 name () for the domain name. 1416 9. Added the "refundable" attribute to elements. 1418 10. Added the "grace-period" attribute to elements. 1420 8. Normative References 1422 [ISO4217] International Organization for Standardization, "ISO 4217: 1423 2008, Codes for the representation of currencies and 1424 funds", 2008. 1426 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1427 Requirement Levels", BCP 14, RFC 2119, March 1997. 1429 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 1430 January 2004. 1432 [RFC3915] Hollenbeck, S., "Domain Registry Grace Period Mapping for 1433 the Extensible Provisioning Protocol (EPP)", RFC 3915, 1434 September 2004. 1436 [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", 1437 STD 69, RFC 5730, August 2009. 1439 [RFC5731] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) 1440 Domain Name Mapping", STD 69, RFC 5731, August 2009. 1442 [draft-ietf-eppext-launchphase] 1443 Gould, J., Tan, W., and G. Brown, "Launch Phase Mapping 1444 for the Extensible Provisioning Protocol (EPP)", 2014. 1446 Author's Address 1448 Gavin Brown 1449 CentralNic Group plc 1450 35-39 Moorgate 1451 London, England EC2R 6AR 1452 GB 1454 Phone: +44 20 33 88 0600 1455 Email: gavin.brown@centralnic.com 1456 URI: https://www.centralnic.com