Internationalized Domain Names Extensible Provisioning Protocol (EPP) v1.0 Registrar Acceptance Criteria 01 February 2007 Version 1.0.2 Technical Support: techsupport@pir.org / +1.416.646.3308 http://www.pir.org
Contents 1. Introduction 1.1 Purpose 1.2 Formatting Conventions 1.3 Accounts 1.4 Successful Command & Test Completion 1.5 Passing the Test 1.6 Contact and Nameserver Policy 2. EPP Communication 2.1 Session Management 2.1.1 Start Session 2.1.2 Authentication 2.2 Domain Name Operations 2.2.1 Create Domain using the Polish script 2.2.2 Create Domain using the Swedish script 2.2.3 Create Domain using the Danish script 2.2.4 Create Domain using the Hungarian script 2.2.5 Create Domain using the Icelandic script 2.2.6 Create Domain using the Latvian script 2.2.7 Create Domain using the Lithuanian script 2.2.8 Create Domain using the Korean script 2.2.9 Create Domain using the German script 2.2.10 Create Domain using the Spanish script 2.2.11 Create IDN as regular domain 2.2.12 Create IDN with empty script parameter 2.2.13 Create IDN with invalid character 2.2.14 Create IDN with invalid script name 2.2.15 Create IDN with different IDN script 2.2.16 Query Polish IDN 2.2.17 Query Swedish IDN 2.2.18 Query Danish IDN 2.2.19 Query Hungarian IDN 2.2.20 Query Icelandic IDN 2.2.21 Query Latvian IDN 2.2.22 Query Lithuanian IDN 2.2.23 Query Korean IDN 2.2.24 Query German IDN 2.2.25 Query Spanish IDN 2.2.26 Check IDN (not available) 2.2.27 Check IDN (available)
2.2.28 Check IDN with missing script 2.2.29 Check IDN as regular domain 2.2.30 Check IDN with invalid characters 2.2.31 Check multiple IDNs with missing script 2.2.32 Check multiple names with proper script 2.2.33 Update IDN Script Supported 2.2.34 Update IDN Script Not Supported 2.3 End Session Appendix A Seeded Registry Information This document is made available to the registrars that have entered into Registry-Registrar Agreements with Public Interest Registry (PIR), manager of the registry of.org. The contents of this document are proprietary information of Afilias, Limited. This information may be used by recipient only for the purpose for which it was transmitted and shall be returned upon request to PIR or when no longer needed by recipient. Contents Copyright Afilias Limited 2007 All rights reserved
1. Introduction 1.1 Purpose This document describes the basic operations that a Registrar's client application must perform to be accepted by the Registry. Each of the following sections describes the actions that the client must perform to demonstrate correct implementation of the Extensible Provisioning Protocol (EPP) and the related International Domain Name (IDN) operations with the Registry. The tests presented herein verify the correct interface with the Registry for standard Registrar operations. They do not cover all possible error and unusual conditions. The Registrar client application is responsible for correctly handling all error conditions. Links: ICANN guidelines http://www.icann.org/general/idn-guidelines-20jun03.htm RFC 3490 http://www.rfc-editor.org/rfc/rfc3490.txt RFC 3491 http://www.rfc-editor.org/rfc/rfc3491.txt RFC 3492 http://www.rfc-editor.org/rfc/rfc3492.txt RFC 3454 http://www.rfc-editor.org/rfc/rfc3454.txt 1.2 Formatting Conventions In order for acceptance to succeed, all commands and data must be entered exactly as given in this document. Any deviations will be considered a failure. The following items show the formatting conventions included in this document for required input and output values and for variable input and output responses. Regular text in this format represents expected system input and output values that the client system will send to the server and that the server system will display in response to an action or actions provided by the Registrar. The following example illustrates an expected system output. Command Completed Successfully When Bold text is located in Regular text, this represents a required input value that the Registrar must provide - the Registrar must enter the text exactly as shown. The following example illustrates the format for the required input values. Domain Name: foo.org Italicized text in output represents data returned from the server, which may or may not be the exact values represented in this document. It is the responsibility of the client to interpret these values properly and possibly reuse these for subsequent commands. Contact ID: abc-xxx
1.3 Accounts To perform the tests, the applying Registrar is given an account, named ClientX. When scheduling a test, the Registry Technical Support Group will provide hostnames and port numbers for the Registrar's client to connect to. 1.4 Successful Command & Test Completion While performing this test, if the response to a command is not exactly as shown, then stop your test and contact PIR technical support. 1.5 Passing the Test In order to pass this test, the Registrar must complete the test perfectly (with no typos or breaking the sequence of operations) from start to finish. 1.6 Contact and Name Server Policy Requirements There are certain policies that are enforced in the.org implementation of EPP: A minimum of 4 contacts (including 1 Registrant and at least 1 of each Admin, Billing and Technical contacts) must be provided during the create domain transaction. For the purpose of this test, all domains must be created with at least 2 name servers. However, when working with the live registry, although you will be able to create a domain with less than 2 name servers, the domain will not resolve until a minimum of 2 name servers are assigned. 2. EPP Communications Registrar to Registry communications and responses utilize the Extensible Markup Language (XML) running over the Secure Sockets Layer (SSL) in a form called the Extensible Provisioning Protocol (EPP). It is the Registrar's responsibility to adhere to these protocols to successfully communicate with the Operational Test & Evaluation (OT&E) environment to gain Certification with the Registry. The Registrars' application client must utilize XML over SSL to send commands to the Registry and utilize an XML parser to interpret the server's responses. 2.1 Session Management 2.1.1 Start Session
After making an initial connection to the Registry, the server shall reply with a greeting. A Registrar must look for the greeting message before attempting authentication and/or other supplementary commands. 2.1.2 Authentication After the initial greeting the Registrar client shall send the Login command to authenticate itself to the Registry with the following information. Password: foo-bar2 2.2 Domain Name Operations 2.2.1 Create Domain using the Polish script Domain Name: xn--przykad-rjb.org IDN Script: pl 2.2.2 Create Domain using the Swedish script Domain Name: xn--frsk-5qac.org IDN Script: sv
2.2.3 Create Domain using the Danish script Domain Name: xn--vareprve-b5a.org IDN Script: da 2.2.4 Create Domain using the Hungarian script Domain Name: xn--abcxyz-5gb.org IDN Script: hu 2.2.5 Create Domain using the Icelandic script Domain Name: xn--fordmi-sua.org
IDN Script: is 2.2.6 Create Domain using the Latvian script Domain Name: xn--abcxyz-dib.org IDN Script: lv 2.2.7 Create Domain using the Lithuanian script Domain Name: xn--abcxyz-dkb.org IDN Script: lt 2.2.8 Create Domain using the Korean script Domain Name: xn--1-2u6e319a.org
IDN Script: ko 2.2.9 Create Domain using the German script Domain Name: xn probestck-w9a.org IDN Script: de 2.2.10 Create Domain using the Spanish script Domain Name: xn--dilogo-qta.org IDN Script: es 2.2.11 Create IDN as regular domain Domain Name: xn--bq-uia.org
2003:Required parameter missing (idn:create) Note: Since this domain is being created as a regular domain, the XML should not contain any of the <IDN> tags within the <UNSPEC> area. 2.2.12 Create IDN with empty script parameter Domain Name: xn--bq-uia.org 2306:Parameter value policy error Note: This domain is being created as an IDN, but no script is specified. 2.2.13 Create Polish IDN with invalid character Domain Name: xn--abcxyz-y6a.org IDN Script: pl 2306:Parameter value policy error
Note: This domain is being created using characters that are not present in the 'pl' script table. 2.2.14 Create IDN with invalid script name Domain Name: xn--bq-uia.org IDN Script: hu-at 2306:Parameter value policy error Note: This domain is being created using a script (hu-at) that does not exist. 2.2.15 Create IDN with different IDN script Query the domain name: xn--abcxyz-dua.org Domain Name: xn--abcxyz-dua.org IDN Script: da Issues the domain create command with the following: Domain name: xn--abcxyz-dua.org IDN script: sv 2302:Object exists 2.2.16 Query Polish IDN Domain Name: xn--przykad-rjb.org
Domain Name: xn--przykad-rjb.org IDN Script: pl Domain Contact (Registrant): IDNOTE-1 Domain Admin Contact: IDNOTE-2 Domain Billing Contact: IDNOTE-3 Domain Technical Contact: IDNOTE-4 Created By: ClientX Created Date: 2003-01-01 Expiration Date: 2005-01-01 Last Updated By: ClientX Note: The EPP response should contain the <idn:infdata> and <idn:script> tags. 2.2.17 Query Swedish IDN Domain Name: xn--frsk-5qac.org Domain Name: xn--frsk-5qac.org IDN Script: sv Domain Contact (Registrant): IDNOTE-1 Domain Admin Contact: IDNOTE-2 Domain Billing Contact: IDNOTE-3 Domain Technical Contact: IDNOTE-4 Created By: ClientX Created Date: 2003-01-01 Expiration Date: 2005-01-01 Last Updated By: ClientX Note: The EPP response should contain the <idn:infdata> and <idn:script> tags. 2.2.18 Query Danish IDN
Domain Name: xn--vareprve-b5a.org Domain Name: xn--vareprve-b5a.org IDN Script: da Domain Contact (Registrant): IDNOTE-1 Domain Admin Contact: IDNOTE-2 Domain Billing Contact: IDNOTE-3 Domain Technical Contact: IDNOTE-4 Created By: ClientX Created Date: 2003-01-01 Expiration Date: 2005-01-01 Last Updated By: ClientX Note: The EPP response should contain the <idn:infdata> and <idn:script> tags. 2.2.19 Query Hungarian IDN Domain Name: xn--abcxyz-5gb.org Domain Name: xn--abcxyz-5gb.org IDN Script: hu Domain Contact (Registrant): IDNOTE-1 Domain Admin Contact: IDNOTE-2 Domain Billing Contact: IDNOTE-3 Domain Technical Contact: IDNOTE-4 Created By: ClientX Created Date: 2003-01-01 Expiration Date: 2005-01-01 Last Updated By: ClientX Note: The EPP response should contain the <idn:infdata> and <idn:script> tags.
2.2.20 Query Icelandic IDN Domain Name: xn--fordmi-sua.org Domain Name: xn--fordmi-sua.org IDN Script: is Domain Contact (Registrant): IDNOTE-1 Domain Admin Contact: IDNOTE-2 Domain Billing Contact: IDNOTE-3 Domain Technical Contact: IDNOTE-4 Created By: ClientX Created Date: 2003-01-01 Expiration Date: 2005-01-01 Last Updated By: ClientX Note: The EPP response should contain the <idn:infdata> and <idn:script> tags. 2.2.21 Query Latvian IDN Domain Name: xn--abcxyz-dib.org Domain Name: xn--abcxyz-dib.org IDN Script: lv Domain Contact (Registrant): IDNOTE-1 Domain Admin Contact: IDNOTE-2 Domain Billing Contact: IDNOTE-3 Domain Technical Contact: IDNOTE-4 Created By: ClientX Created Date: 2003-01-01 Expiration Date: 2005-01-01 Last Updated By: ClientX
Note: The EPP response should contain the <idn:infdata> and <idn:script> tags. 2.2.22 Query Lithuanian IDN Domain Name: xn--abcxyz-dkb.org Domain Name: xn--abcxyz-dkb.org IDN Script: lt Domain Contact (Registrant): IDNOTE-1 Domain Admin Contact: IDNOTE-2 Domain Billing Contact: IDNOTE-3 Domain Technical Contact: IDNOTE-4 Created By: ClientX Created Date: 2003-01-01 Expiration Date: 2005-01-01 Last Updated By: ClientX Note: The EPP response should contain the <idn:infdata> and <idn:script> tags. 2.2.23 Query Korean IDN Domain Name: xn--1-2u6e319a.org Domain Name: xn--1-2u6e319a.org IDN Script: ko Domain Contact (Registrant): IDNOTE-1 Domain Admin Contact: IDNOTE-2 Domain Billing Contact: IDNOTE-3 Domain Technical Contact: IDNOTE-4 Created By: ClientX Created Date: 2003-01-01 Expiration Date: 2005-01-01
Last Updated By: ClientX Note: The EPP response should contain the <idn:infdata> and <idn:script> tags. 2.2.24 Query German IDN Domain name: xn probestck-w9a.org Domain name: xn probestck-w9a.org IDN Script: de Domain Contact (Registrant): IDNOTE-1 Domain Admin Contact: IDNOTE-2 Domain Billing Contact: IDNOTE-3 Domain Technical Contact: IDNOTE-4 Created By: ClientX Created Date: 2003-01-01 Expiration Date: 2005-01-01 Last Updated By: ClientX 2.2.25 Query Spanish IDN Domain name: xn--dilogo-qta.org Domain name: xn--dilogo-qta.org IDN Script: es Domain Contact (Registrant): IDNOTE-1 Domain Admin Contact: IDNOTE-2 Domain Billing Contact: IDNOTE-3 Domain Technical Contact: IDNOTE-4 Created By: ClientX Created Date: 2003-01-01 Expiration Date: 2005-01-01 Last Updated By: ClientX
2.2.26 Check IDN (not available) Domain Name: xn--1-2u6e319a.org IDN Script: ko Domain Name Result: 0 2.2.27 Check IDN (available) Domain Name: xn--abcxyz-ku4x.org IDN Script: ko Domain Name Result: 1 2.2.28 Check IDN with missing script Domain Name: xn--bq-uia.org IDN Script: <blank> 2306:Parameter value policy error Note: Checking for an IDN, but not specifying any script name. 2.2.29 Check IDN as regular domain Domain Name: xn--bq-uia.org 2003:Required parameter missing Note: Checking for an IDN, but using XML for a regular domain:check command. 2.2.30 Check IDN with invalid characters Domain Name: xn--dn-mja.org
IDN Script: sv Command Completed Successfully Domain Name Result: 0 Note: Checking an IDN with characters that do not appear in the script table. The server response, therefore, is to tell the client that the domain is not available. 2.2.31 Check multiple names with missing script Domain Name: xn--bq-uia.org Domain Name: valid.org IDN Script: <blank> 2306:Parameter value policy error Note: Checking an IDN and regular domain without specifying a script for the IDN. 2.2.32 Check multiple IDNs with proper script Domain Name: xn--abcxyz-d9a.org Domain Name: xn--abcxyz-ynb.org IDN Script: lt Command Completed Successfully Domain Name Result: 0 Domain Name Result: 0 2.2.33 Update IDN Script Supported Query the domain name: xn--abcxyz-rta.org Domain name: xn--abcxyz-rta.org IDN script: hu Issue the domain update command with the following:
Domain name: xn--abcxyz-rta.org IDN Script: is Command Completed Successfully Domain Name: xn--abcxyz-rta.org IDN Script: is 2.2.34 Update IDN Script Not Supported Query the domain name: xn--abcxyz-dua.org Verify that the following response is obtained: Domain name: xn--abcxyz-dua.org IDN Script: da Issue the domain update command with the following: Domain name: xn--abcxyz-dua.org IDN Script: pl 2306:Parameter value policy error 2.3 End Session For a client Registrar to end communications with the Registry, the Logout command is used with no arguments. If successful, the Registry will send the following response and then end the session. ; ending session Please contact PIR Technical Support at techsupport@pir.org or +1.416.646.3308 should you have any questions. Appendix A Seeded Registry Information The OT&E test requires the creation and manipulation of several EPP objects prior to the client s initial connection. PIR will perform the necessary operations before the client s initial connection. The data within this appendix is included for informational purposes only.
*** Registrar: Do not attempt to enter this data into the Test Registry. *** Registrar: ClientX Password: foo-bar2 Contacts: The seeded contacts use the following common values: Contact Name: Test Contact Contact Organization: Example Corp., Inc Contact Address Street: 123 Example St. Contact Address Street: Suite 100 Contact Address City: Anytown Contact Address State/Province: Any Prov Contact Address Postal Code: A1A1A1 Contact Address Country: CA Contact Voice: +1.4165555555 Contact Voice Extension: 1111 Contact Fax: +1.4165555556 Contact Email: jdoe@eppvalid.org The unique contact ID values for each of the seeded contacts are as follows: Contact ID: IDNOTE-1 Contact ID: IDNOTE-2 Contact ID: IDNOTE-3 Contact ID: IDNOTE-4 Domains: valid.org xn--dn-mja.org IDN Script: hu xn--abcxyz-d9a.org IDN Script: lt xn--abcxyz-ynb.org IDN Script: lt xn--abcxyz-rta.org
IDN Script: hu xn abcxyz-dua.org IDN Script: da xn--dilogo-qta.org IDN Script: es Hosts: ns1.valid.org 192.168.10.11 ns2.valid.org 192.168.10.12 All objects are owned by ClientX.