12.07.2015 Views

Technical Integration Guide - Afnic

Technical Integration Guide - Afnic

Technical Integration Guide - Afnic

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

TECHNICAL INTEGRATION GUIDE – February 25th, 2013 1<strong>Technical</strong><strong>Integration</strong> <strong>Guide</strong>- Version 2.7 -February 25th, 2013Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 1 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 2Table of content1. Preface ............................................................................................... 51.1. About this document ..................................................................................... 51.2. Target audience ............................................................................................. 51.3. Typographical rules ....................................................................................... 51.4. Revisions history ........................................................................................... 52. IDN ...................................................................................................... 62.1. Reference documents ................................................................................... 62.2. Brief backgrounder on IDN technology ....................................................... 62.3. Warning .......................................................................................................... 72.4. Terms and definitions .................................................................................... 72.5. Table of accepted characters ....................................................................... 82.6. Use of Unicode versions vs LDH versions ................................................ 103. EPP ................................................................................................... 103.1. Configuration and parameters .................................................................... 103.2. Major integration principles ........................................................................ 103.2.1. No implementation of "host" objects (RFC 5732) ...................................................................... 103.2.2. Cases of operations with a 1000 return code and server behavior in case of problem ................ 103.2.3. Auth_info management ............................................................................................................... 113.2.4. Implementation choice of the notifications list ........................................................................... 113.2.5. DNSSEC support ......................................................................................................................... 113.3. Implemented commands ............................................................................. 133.3.1. The ............................................................................................................................ 133.3.2. The command ................................................................................................................ 143.3.3. Session management commands ................................................................................................. 143.3.4. Interrogation commands .............................................................................................................. 173.3.5. Object Update commands ........................................................................................................... 183.4. Managing a domain name ........................................................................... 193.4.1. Create – create a domain name .................................................................................................... 193.4.2. Update – modify a domain name attributes ................................................................................. 243.4.3. Delete – Delete a domain name ................................................................................................... 323.4.4. Restore – Domain name restore .................................................................................................. 333.4.5. Transfer – Registrar change ........................................................................................................ 343.4.6. Trade – Holder change (Transmission) ....................................................................................... 443.4.7. Recover – Forced domain name transmission ............................................................................. 513.4.8. Checking a domain availability ................................................................................................... 54Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 2 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 33.4.9. Retrieve domain data ................................................................................................................... 573.5. Managing a contact ..................................................................................... 633.5.1. Contact Creation .......................................................................................................................... 633.5.2. Modifying a contact .................................................................................................................... 703.5.3. Deleting a contact ........................................................................................................................ 713.5.4. Identification of a contact holder ................................................................................................. 713.5.5. Retrieve data of a contact ............................................................................................................ 723.6. Notifications ................................................................................................. 743.6.1. Managing the notification queue ................................................................................................. 743.6.2. Asynchronous notifications ......................................................................................................... 753.6.3. Exogenous notifications .............................................................................................................. 803.7. Return codes and error messsages ........................................................... 973.7.1. Return codes ................................................................................................................................ 973.7.2. Error messages .......................................................................................................................... 1003.8. RFCs ........................................................................................................... 1014. Web interface : the ticket system ..................................................1024.1. General principles on tickets .................................................................... 1024.2. Ticket format .............................................................................................. 1024.3. Description of all the tickets ..................................................................... 1025. Operations that can only be handled by email/fax .......................1125.1. Authorization code generation ................................................................. 1125.2. Trade validation ......................................................................................... 1135.3. Notification of Monitoring of the Qualification Procedure ..................... 1135.4. Notification of Suspension, Blocking and Deletion of Domain NamePortfolio ......................................................................................................... 1145.5. Substantiation email .................................................................................. 1156. DAS (Domain Availability Service) ................................................1166.1. Parameters to interrogate the service...................................................... 1166.2. The information available .......................................................................... 1166.2.1. Validity of the domain tested .................................................................................................... 1166.2.2. domain name ............................................................................................................................. 1166.2.3. State of DNS publication .......................................................................................................... 1176.2.4. Information on restrictions relating to this domain name .......................................................... 1176.2.5. Key dates on existing domain names ........................................................................................ 117Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 3 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 46.3. DAS and IDN ............................................................................................... 1176.4. Examples .................................................................................................... 1186.4.1. Domain name that does not exist and is not subject to any restrictions .................................... 1186.4.2. Domain name subject to prior review ....................................................................................... 1196.4.3. Fanciful domain name ............................................................................................................... 1196.4.4. Domain name that exists and is not subject to any restrictions ................................................. 1206.4.5. Deleted domain name in redemption period .............................................................................. 1206.4.6. Existing domain name and subject to prior review ................................................................... 1216.4.7. Query on different domains with different ................................................................................ 1226.4.8. IDN query in its Unicode form .................................................................................................. 1236.4.9. IDN query in its ACE form ....................................................................................................... 123Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 4 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 5<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>1. Preface1.1. About this documentThis integration guide contains all of the information required to implement theAFNIC domain management application interface.This interface offers two different ways accesses:• Web interface,• EPP (Extensible Provisioning Protocol): standard exchange protocolbetween a registry and its registrars.In regards to EPP, AFNIC has respected the standard described in the RFCs (see §3.8 RFCs.). This document only describes the specific points of AFNIC'simplementation of the protocol.1.2. Target audienceThis document is a technical document for developers that wish to have a detaileddescription of the interface and examples to help them with the integration. It doesnot go over the procedures again (See Procedure Manualwww.afnic.fr/en/ressources/reference/technical-guidebooks/proceduresmanual-for-registrars.html)nor The Naming Charter(www.afnic.fr/en/ressources/reference/charters/).Both documents are considered as already known.1.3. Typographical rulesThroughout the document we write:Between < > the xml markups describing the epp requestsIn a blue frame, examples of EPP requests.1.4. Revisions history24/11/2009 - V1.008/04/2010 - V1.108/06/2010 - V1.2 - Addition of missing EPP notifications31/08/2010 - V1.3 – Addition of EPP notification Portfolio deletionAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 5 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 619/11/2010 - V1.35 – “Optional” instead “Mandatory” in the 5b and 5c lines in the § 4.3.1. 2.5.0 formsemantics07/02/2011 – V1.5 - Adding DNSSEC support in EPP in the server version 1.103/03/2011 – V1.55 – Correction of the greeting example § 3.3.106/12/2011 – V2.0 - Remove the mail interface, changes in the EPP interface following the opening to Europeand the ultra-marine country-code Top Level Domains - stop of the identification - opening of the qualification.03/07/2012 – V2.5 - Addition of the § concerning the IDN and the DAS.17/12/2012 – v2.6 – Remove of ZoneCheck25/02/2013 – v2.7 – Remove of serverRestoreProhibited2. IDN2.1. Reference documentsThe implementation of IDNs at AFNIC is based on the IDNA2008 standard, and thefollowing reference documents.• Definitions and protocol:• RFC 5890 (08/2010 23 pages): Internationalized Domain Names forApplications (IDNA): Definitions and Document Framework• RFC 5891 (08/2010 17 pages): Internationalized Domain Names inApplications (IDNA): Protocol• RFC 5892 (08/2010 70 pages): The Unicode Code Points andInternationalized Domain Names for Applications (IDNA)• RFC 5894 (08/2010 43 pages): Internationalized Domain Names forApplications (IDNA): Background, Explanation, and Rationale• Punycode encoding algorithm:• RFC 3492 (03/2003 35 pages) : Punycode: A Bootstring encoding ofUnicode for Internationalized Domain Names in Applications (IDNA)2.2. Brief backgrounder on IDN technologyThe DNS protocol was not originally defined to be restricted to a set of characters.It is its use and other limitations of "the age" (the protocol is 30 years old) that haveresulted in the definition of the syntactic rules we know today.The purpose of the IDNA2008 standard is to reconcile human needs and technicalconstraints by allowing the use of all forms of writing in domain names. All theseforms of writing and the characters they use are defined and grouped together undera standard called Unicode. Since the syntactic rules for domain names require theuse of single letters of the Latin alphabet ("a" to "z"), as well as numbers, hyphens,and periods to separate labels, a mechanism for the canonical formation of Unicodedomain names and for encoding them has been developed to create namesconsistent with these rules. While in applications such as web browsers, Unicodenames will be displayed, their DNS resolution will be performed using theirencoded form (this is normally transparent to the user who should not have tohandle this type of domain name).Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 6 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 72.3. WarningAlthough its impact may seem small, it is important to note that AFNIC implementsthe IDNA2008 standard, which slightly differs from the IDNA2003 standard. Withrespect to the processing of the characters included, the German Eszett (ß) isencoded, not transformed into "ss" as in the previous version of the IDN standard.In addition, the canonicalization step (nameprep) has disappeared, which will havesome impact on the use of our interfaces.Each AFNIC application is now free to apply its own rules in this respect. Besidesthe fact that Unicode domain names must be in Normal Form C, we have chosen toallow the entry of capitals (to ensure backward compatibility with current uses) buttheir lower-case equivalents will actually be taken into account by the system (notethat the Eszett is only accepted in its lower-case form). For example, the domainname "Thé-ou-Café.fr" is not legal in accordance with the IDNA2008 standard. Weshall accept it, however once it has been standardized as "thé-ou-café.fr".With more "exotic" alphabets than the Latin, the problem will no doubt be morecomplex, but as long as AFNIC continues to use the characters indicated in the listbelow in this document, their canonical form will continue to apply.2.4. Terms and definitions• Unicode: Standard enabling any character in any form of writing to beencoded in a unique fashion (Unicode on Wikipedia).• UTF-8: One of the encoding formats used to encode Unicode characters.• ISO-8859-15: One of the ISO 8-bit encoding standards of the Latinalphabet. Also known as latin9.• LatinX: Other names of certain ISO standards. Unlike Latin1, Latin9includes the ligation "e in o".• LDH: "LETTER-DIGIT-HYPHEN" the only ASCII characters authorizedfor the composition of a label in a domain name.• ASCII: "American Standard Code for Information Interchange", the oldestcomputer standard for encoding characters. Strictly speaking 7-bit, it canonly encode 128 characters.• ACE: "ASCII Compatible Encoding" is the encoded version of a domainname in its LDH form (xn-caf-dma in Punycode, i.e. its "A-label form").• IDN: "Internationalized Domain Name", containing characters other thanASCII characters alone.• Canonicalization: The canonical formation of a string of characters. Forexample, in Latin, putting a string of characters in their lower-case form isone of the operations that can be involved in a canonicalization process.• Normal Form C: Normal form requiring that the characters be(pre)composed. A character corresponds to a unique code point. Thisexclude characters obtained by using diacritical marks combined with basecharacters.• Code point: Single index associated with a character.• Glyph: Graphical representation of a characterAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 7 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 8• NAMEPREP: Defines the version in canonical form of a Unicode domainname (was part of IDNA2003, no longer exists in IDNA2008).• Punycode: Reversible and unique algorithm, used to transform acanonicalized IDN into its ACE form.2.5. Table of accepted charactersThe following table represents the set of characters may be used to compose thelabel of a domain name. Historically, only the first 37 characters in this table wereallowed, but as of May 3, 2012, it will be possible to use 30 new characters inthe composition of the labels of domain names. The "ASCII equivalent" columnis special in that it will only be meaningful during the sunrise period (note thatsometimes the ASCII equivalent of a Unicode character is a group of twocharacters). This will be detailed a little later in this document.# Code point Glyph NameASCIIequivalent1 U+002D - HYPHEN-MINUS SIGN -2 U+0030 0 DIGIT ZERO 03 U+0031 1 DIGIT ONE 14 U+0032 2 DIGIT TWO 25 U+0033 3 DIGIT THREE 36 U+0034 4 DIGIT FOUR 47 U+0035 5 DIGIT FIVE 58 U+0036 6 DIGIT SIX 69 U+0037 7 DIGIT SEVEN 710 U+0038 8 DIGIT EIGHT 811 U+0039 9 DIGIT NINE 912 U+0061 a LATIN SMALL LETTER A a13 U+0062 b LATIN SMALL LETTER B b14 U+0063 c LATIN SMALL LETTER C c15 U+0064 d LATIN SMALL LETTER D d16 U+0065 e LATIN SMALL LETTER E e17 U+0066 f LATIN SMALL LETTER F f18 U+0067 g LATIN SMALL LETTER G g19 U+0068 h LATIN SMALL LETTER H h20 U+0069 i LATIN SMALL LETTER I i21 U+006A j LATIN SMALL LETTER J j22 U+006B k LATIN SMALL LETTER K k23 U+006C l LATIN SMALL LETTER L l24 U+006D m LATIN SMALL LETTER M m25 U+006E n LATIN SMALL LETTER N n26 U+006F o LATIN SMALL LETTER O o27 U+0070 p LATIN SMALL LETTER P pAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 8 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 928 U+0071 q LATIN SMALL LETTER Q q29 U+0072 r LATIN SMALL LETTER R r30 U+0073 s LATIN SMALL LETTER S s31 U+0074 t LATIN SMALL LETTER T t32 U+0075 u LATIN SMALL LETTER U u33 U+0076 v LATIN SMALL LETTER V v34 U+0077 w LATIN SMALL LETTER W w35 U+0078 x LATIN SMALL LETTER X x36 U+0079 y LATIN SMALL LETTER Y y37 U+007A z LATIN SMALL LETTER Z z38 U+00DF ß LATIN SMALL LETTER SHARP S ss39 U+00E0 à LATIN SMALL LETTER A WITH GRAVE a40 U+00E1 á LATIN SMALL LETTER A WITH ACUTE a41 U+00E2 â LATIN SMALL LETTER A WITH CIRCUMFLEX a42 U+00E3 ã LATIN SMALL LETTER A WITH TILDE a43 U+00E4 ä LATIN SMALL LETTER A WITH DIAERESIS a44 U+00E5 å LATIN SMALL LETTER A WITH RING ABOVE a45 U+00E6 æ LATIN SMALL LETTER AE ae46 U+00E7 ç LATIN SMALL LETTER C WITH CEDILLA c47 U+00E8 è LATIN SMALL LETTER E WITH GRAVE e48 U+00E9 é LATIN SMALL LETTER E WITH ACUTE e49 U+00EA ê LATIN SMALL LETTER E WITH CIRCUMFLEX e50 U+00EB ë LATIN SMALL LETTER E WITH DIAERESIS e51 U+00EC ì LATIN SMALL LETTER I WITH GRAVE i52 U+00ED í LATIN SMALL LETTER I WITH ACUTE i53 U+00EE î LATIN SMALL LETTER I WITH CIRCUMFLEX i54 U+00EF ï LATIN SMALL LETTER I WITH DIAERESIS i55 U+00F1 ñ LATIN SMALL LETTER N WITH TILDE n56 U+00F2 ò LATIN SMALL LETTER O WITH GRAVE o57 U+00F3 ó LATIN SMALL LETTER O WITH ACUTE o58 U+00F4 ô LATIN SMALL LETTER O WITH CIRCUMFLEX o59 U+00F5 õ LATIN SMALL LETTER O WITH TILDE o60 U+00F6 ö LATIN SMALL LETTER O WITH DIAERESIS o61 U+00F9 ù LATIN SMALL LETTER U WITH GRAVE u62 U+00FA ú LATIN SMALL LETTER U WITH ACUTE u63 U+00FB û LATIN SMALL LETTER U WITH CIRCUMFLEX u64 U+00FC ü LATIN SMALL LETTER U WITH DIAERESIS u65 U+00FD ý LATIN SMALL LETTER Y WITH ACUTE y66 U+00FF ÿ LATIN SMALL LETTER Y WITH DIAERESIS y67 U+0153 œ LATIN SMALL LIGATURE OE oeAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 9 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 102.6. Use of Unicode versions vs LDH versionsDomain names are present in the server names, in the URL, and in the email addresses:here are the forms accepted by AFNIC interfaces. Detailed error messages will bereturned in cases of non-compliance with these rules.• Domain name:• EPP interface: the only acceptable form for domain names is the LDHform, i.e. the ACE version for IDNs.• Web interface: Unicode version and LDH version are accepted.• Server name: ONLY the LDH version is acceptable.• URL: ONLY the LDH version is acceptable.• E-Mail: ONLY the LDH version is acceptable.3. EPP3.1. Configuration and parametersEPP production bed :• epp.nic.fr• port : 700• access authentified by a certificate• number of connexions available : 2• IP adresses that can access the server : 2• available accounts : 1EPP test bed :• epp.sandbox.nic.fr• port : 700• access authentified by a certificate• number of connexions available : 4• IP adresses that can access the server : unlimited• available accounts : 23.2. Major integration principlesBesides the EPP standard as described in the RFCs, AFNIC has added severalintegration principles that are good to be aware of before developing an EPP client.3.2.1. No implementation of "host" objects (RFC 5732)As this concept is rather remote from the way AFNIC manages name servers,we have chosen that the name servers should be domain name attributes.3.2.2. Cases of operations with a 1000 return code and serverbehavior in case of problemAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 10 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 11A precaution is necessary during the development of clients that connect to ourEPP server. Indeed, we indicate several times in the following pages that someoperations will answer with a 1000 return code. This behavior is expected innormal working conditions of the domain registration chain.We differenciate between minor, major and blocking problems.A minor problem represents a problem on the chain that does not affect thegood reception of the requests. The chain is then asynchronous until theproblem is solved. Any operation affected by the problem will exceptionallyanswer with a 1001 return code during that time and notifications will be issued.For a minor problem, operations on « contact » objects, notification queuesconsultations and EPP operations like « querry » will not be affected.In case of a blocking problem, the server reacts in a more radical way and nooperations like « transform » on domain names can be taken into account. Anerror message « command failed » (code 2400) is then returned for any newcommand.3.2.3. Auth_info managementThe EPP protocol allows the use of an auth_info for domain names that areused for transfer operations (registrar change).The operations described hereafter allow the registrars to use our EPP server toretrieve the auth_info codes of their complete domain portfolio and modifythem if necessary.In addition, as the use of this auth_info code is mandatory for any registrarchange, a rule forces the registrar in charge of the domain name to give it to thedomain holder. Each registrar is free to choose the best way to issue thisinformation to the holder.3.2.4. Implementation choice of the notifications listWe have chosen to indicate during any server answer the number of messages inthe queue (unless there is none, in which case this information does not appear).RFC 5730 obliges to communicate this information only in the cases of answersto the commands and makes it optional for any other type of commands.In concrete terms, this implies that as soon as a message is notified to aregistrar, the registrar is informed by the presence of the element inany answer to commands sent to the server. It is strongly advised to read thesemessages as they arrive, they may contain operation follow-ups, technicalmodifications or transfer request you might find interesting to answer.3.2.5. DNSSEC supportThe EPP server manages the secDNS-1.1 extention as described in RFC 5910,excluding any other versions. Implementation specifications are as follows:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 11 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 12• The server only supports « the DS data interface » (),section 4.1 of RFC 5910, without information on the associated key (no element) ; the presence of information on the keywill generate a 2102 error code.• In the same way as for name servers, DNSSEC elements are onlyaccepted during an update[tech] operation. Their presence during acreate operation will generate a 2103 error code.• A domain name can have up to 6 associated DS records: the number ofelements present in the section during an update[tech] operation is therefore limited to have the domain'sfinal status with no more than 6 DS records.• The maxSigLife element is not supported, it presence inside a clientrequest will generate a 2102 error code.• The urgent attribute is not supported, it presence inside a client requestwill generate a 2102 error code.• During a transfer operation, the AFNIC extension frnic-1.2 mustnecessarily include a keepDS flag which is a boolean: if its value is 1,actual DS records for the domain name are maintained after the transfer ifalready present, if its value is 0 in case of a successful transfer anyexisting DS record will be deleted.• Trade and recover operations work the same way as the transferdescribed above.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 12 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 133.3. Implemented commands3.3.1. The The is not a command the client can send to the EPP server, but it isthe welcome banner it will send when a connexion is made. It is also the answersent in response to a command (this command is detailed in the nextsection).Why detail this banner if it is not a command ? Simply because the informationit gives out is important and necessary for the command.Even though the reproduced here is only given as an example andthe detail of its content can be found in the RFC 5730, two pieces of informationare of importance: the versions of the supported protocol ( element)and the accepted languages ( element). Only one choice, among thosevalues, will be accepted during the session establishment with the command. example that can be sent by the AFNIC EPP server:S:S:S: S: EPP PROD Server on nergal.nic.fr (V1.1.0)S: 2010-04-01T12:34:56.0ZS: S: 1.0S: enS: urn:ietf:params:xml:ns:contact-1.0S: urn:ietf:params:xml:ns:domain-1.0S: S: urn:ietf:params:xml:ns:rgp-1.0S: http://www.afnic.fr/xml/epp/frnic-1.2S: urn:ietf:params:xml:ns:secDNS-1.1S: S: S: S: S: S: S: S: S: S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 13 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 143.3.2. The commandEven though it is not an EPP command strictly speaking, this command isparticularly important and usefull as it will allow an EPP client to check if theconnection with the server is correctly established. Indeed, as soon as aconnection is established with the server, it is possible, at any moment, to sendthis command to the server that will answer with an EPP welcome banner (the), even if the authentication () phase is not completed.In the event the time-out mecanisms should be activated (for more details referto the document <strong>Technical</strong> policies of the Registry underway) to end« inactive » sessions, it is very possible to send a « heartbeat » by regularlymaking this command in order to maintain sessions that are less used (of course,the frequency of this « heartbeat » shall remain reasonable, in view of the« time-out » and rate-limiting parameters eventually put in place). For example,we can imagine this command being executed every 2 minutes to maintain anopen connection and check that the server is responding as being an acceptablefrequency.Example of request sent by the client:C:C:C: C:3.3.3. Session management commandsThe EPP protocol offers 2 commands that allow to establish () and enda session with the server (). Once the session is opened, it will onlyend at the client's request () or if the server should, for internalreasons, end it (« time-out » on an inactive session, technical problem, ...) or ifthe customer interrupts the TCP connection (if this interruption is done withinthe normal framework of the client use, it is strongly recommended to use a before cutting off the TCP connection).As the number of simultaneous sessions can be limited it must be meticulouslymanaged.3.3.3.1.The commandDuring the server connection, the server sends a () banner to theclient indicating by doing so that it is ready to receive a command toestablish a session. This command requires the EPP login generated byAFNIC for each registrar and the associated password (it has been decided,for safety reasons and partitioning of the different AFNIC interfaces, tocreate new logins, without any link with those already existing). If those areAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 14 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 15correctly indicated and if the number of sessions currently opened does notexceed the maximum allowed number, the session should normally beestablished.The command also offers the possibility to modify the passwordassociated with this login. There is no limitation for this use and it is evenstrongly recommended to change it during the first session opening on theEPP server. command example sent by a client:C:C:C: C: C: -kiffucol911-.frC: toto1C: toto2C: C: 1.0C: enC: C: C: urn:ietf:params:xml:ns:contact-1.0C: urn:ietf:params:xml:ns:domain-1.0C: C: urn:ietf:params:xml:ns:rgp-1.0C: http://www.afnic.fr/xml/epp/frnic-1.2C: C: C: C: une-reference-client-par-exempleC: C:The result for this command will be the opening of a session for the registrarwith the EPP login « –kiffucol911-.fr », the password « toto1 », and thatdecides for security reasons to change it with « toto2 » (of course, it is thisnew password that will need to be used upon the next session establishment,as the change is taken into account right away).3.3.3.2. Strict authentificationA strict check is made to ensure that during each session all the EPPextensions used have been indicated by the client during its authentication atthe start of the session.If a new extension appears in a command, it will be rejected.That thus means that it is at least necessary to announce explicitly:• The frnic-1.2 extension for operations on contacts and certainoperations on domain names such as transfer, trade, recover, etc.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 15 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 16• the rgp-1.0 extension in order to restore a domain name• and possibly the secDNS-1.1 extension if you want to manageDNSSEC.A strict check is made to ensure that the EPP extensions chosen by thecustomer at the time of authentication are among the EPP extensionsannounced by the server;The presence of any other "exotic" extension (not announced by the serverin the ) will result in a failed authentication, as will the absenceof any mandatory extension.The combination of these two tests imposes you to authenticate with one ofthe following combinations:domain-1.0, contact-1.0, frnic-1.2, rgp-1.0ordomain-1.0, contact-1.0, frnic-1.2, rgp-1.0, secDNS-1.13.3.3.3.The commandAs already indicated, a client that wishes to have a clean EPP sessionmanagement must send an end of session command () (and,ideally, wait for a server answer) before cutting the TCP connection with theserver. Even though the server can detect « wild » EPP client cut-offs, thesetypes may not free the limited ressources allocated to each registrar quicklyenough.To be totally clear, if we only authorize, for each registrar, X number ofsimultaneous sessions with the EPP server (cf §3.1 Configuration andparameters), and that all of these sessions are all used at the same time,disconnecting a client without a phase could have for consequencethat the cut-off will not be taken immediatly into account. This will thenblock any new connections returning the code 2502 until the system detectsand manages this cut-off. command example sent by a client:C:C:C: C: C: une-reference-client-par-exempleC: C:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 16 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 173.3.4. Interrogation commandsEven though we detail the commands for the different types of objects (contactand domain) in the following chapters, here is a brief outline of what commandsare available and the use they have been intended to.3.3.4.1.The commandThis command enables to check if an object is available. Considering ourinternal way of managing « contacts », namely, an internal algorythm thatdetermines the identifier (Nic-handle) that will be associated to a « contact »object, the command can only be used on « domain » objects.Before any domain creation, it is strongly recommended to checkavailability. It is strongly recommended to use the DAS service (DomainAvailability System) IRIS D-CHK. Cf § 6. DAS.The DAS service is to be preferred to the EPP command.3.3.4.2.The commandWhen you wish to retrieve information on a domain name or a contact forwhich you know the identifier, you need to use this command.A registrar can only retrieve information on contacts linked to objects in hisportfolio. For domain names it is possible, if the associated password( element) is known, to retrieve information on a domain namemaintained by another registrar (this password is given by the holder duringthe operation among others).It is important to note that this command should only be used to retrieveinformation on objects and not used to check their availability for instance.This function is available through the command.Example for a IDN:C:C: C: C: C: xn--strae-42-tya.frC: C: C: PasTerribleCommeSecret666C: C:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 17 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 18Example of answer sent by the server:S:S:S: S: S: Command completed successfullyS: S: S: S: xn--strae-42-tya.frS: DOM000003382455-FRNICS: S: TGCA108S: TGCA108S: VL0S: -naqjanir485-.frS: 2012-01-20T13:16:24.0ZS: 2013-01-20T00:00:00.0ZS: 2012-01-20T13:16:24.0ZS: S: IDN2012S: S: S: S: S: PasTerribleCommeSecret666S: DEV-vraiton-16996-14-1327418457.36048S: S: S:3.3.4.3.The commandDuring the different operations on the objects of a registrar's portfolio,notification messages will need to be sent to him. These messages will beset in a queue that can be read with the command. A few examplescan be found further down, but here is how this notification message queueworks.Each time an information linked to an operation (for which a specificmessage exists) must be sent it is added in a message queue. As soon as themessages are ready to be read, the information is indicated in the server'sanswer to commands ( element indicated). The commandretrieves the oldest message in the queue. In order to delete this messagefrom the queue the command must be used again with the message numbercorresponding to the one just read (the detailed procedure can be found inRFC 5730).3.3.5. Object Update commandsThese commands are all detailed further down, it is strongly advised to read thefollowing RFCs: 5730 (commands presentation), 5731 (specificities on« domain » objects), 5732 (specificities on « contact » objects) as well as the5910 (DNSSEC specificities).Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 18 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 19Here is an exhaustive list:• • • • • and (domain operation with the use ofan extention)• • 3.4. Managing a domain name3.4.1. Create – create a domain nameThe EPP protocol (RFC 5730) allows domain name creation (RFC 5731). It isimportant to distinguish to types of creations, each one having its ownspecificity.The first type of creation, we will qualify of « direct », must be used for astandard domain name creation (see The AFNIC Naming Charterhttp://www.afnic.fr/en/ressources/reference/charters/ )The second type of creation, we will qualify as « creation with authorizationcode », must be used for domain name creations under conditions (see TheAFNIC Naming Charter).3.4.1.1."Direct" domain name creationThis case represents 99,99% of creation operations and does not requiremuch information.As for the nic-handles, from an EPP point of view, XX12345-FRNIC is aROID (Repository Object Identifier) and is not supposed to be used as areference for « contact » objects. A « contact » object is only referencedwith the left hand side of the the nic-handle, meaning without the" -FRNIC".Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 19 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 20Here are the elements that must be indicated in the command and a briefdecription. If some of these elements are missing or if others are added anerror will be returned.Element NameNumber of occurrences 1•


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 21Example of a request sent by the client:C:C:C: C: C: C: ndd-de-test-0001.frC: 1C: MM4567C: NFC1C: NFC1C: VIL1666C: C: WarlordZ666C: C: C: C: une-reference-client-par-exempleC: C:In this context of a « simple » creation, if all the naming and syntax rules arerespected and if the domain name is available, the server answers with a1000 return code. More precisely, in case of a successfull domain creation,the only return code possible is 1000. There cannot be a 1001 return codefor this type of creation unless there is a minor or major problem.Note that, in the server answer, are indicated the domain name creation andexpiration dates ( and ), the latterbeing indicated to remain coherent with the elementwhen it is indicated by the client.Example of answer sent by the server:S:S:S: S: S: Command completed successfullyS: S: S: S: ndd-de-test-0001.frS: 2008-12-25T00:00:00.0ZS: 2009-12-25T00:00:00.0ZS: S: S: S: une-reference-client-par-exempleS: frnic-00000001S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 21 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 22Example of answer sent by the server (1001 return code):S:S:S: S: S: Command completed successfully; action pendingS: S: S: S: dom-epp-wytxubuz.frS: 2010-06-03T15:22:15.0ZS: 2011-06-03T00:00:00.0ZS: S: S: S: FRNIC-18673-CLIENT-1275578515S: DEV-photon-18294-4-1275578517.15639S: S: S:3.4.1.2.Domain name creation "with an authorization code"Such an operation requires an authorization code (see. Procedure Manualhttp://www.afnic.fr/en/ressources/reference/technicalguidebooks/procedures-manual-for-registrars.html).Reminder: this code is associated to three informations (the registrar, thedomain name and the holder nic-handle).Once the code is created, the domain name creation is done almost in thesame way as described during the « direct » creation except for two details.The first is that the holder identifier is not free and must correspond to theone associated to the authorization code, the second is that the authorizationcode must be used instead of the auth_info in the element as it is not free. On the other hand it is mandatory to change it withthe command before giving it to the final holder.Please note that this does not change the rest of the request and that it ishandled under the same rules as the previous case. Meaning that asuccessfull registration will generate an answer with the return code 1000(this is the reason why the server answer is not reproduced).Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 22 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 23Example of a request sent by the client:C:C:C: C: C: C: ndd-reserve-0001.frC: 12C: MM4567C: NFC1C: NFC1C: VIL1666C: C: NDCR20080229T173000.123456789C: C: C: C: une-reference-client-par-exempleC: C:3.4.1.3.After the creation…Once the domain is created, it can be available for consultation with the command and visible in the Whois (an additionalpropagation delay is possible because of the way our database replicationarchitecture is done, but in the best conditions, data synchronisation is donein near real time).Eventhough the qualification (see Procedure Manual) process is done on theholder, its progress can impact the status of the domain name once it iscreated.Indeed, if the holder is in phase of request for supporting documents, thedomain name will be in suspending status then blocking status which willchange the EPP status.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 23 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 24Summary table of the operations accepted according to the state of thequalification process:State of the qualificationprocessWhois:reachstatusWhois:eligstatusOperations deniedDomain statusstart pending pending contact:update -problem (suspended) ok/- ok/-contact:updatedomain:tradedomain:transfercontact:updateserverTransferProhibited +serverTradeProhibitedproblem (blocked) ok/- ok/-domain:tradedomain:transferdomain:restoredomain:deletedomain:updatedomain:createfinished ok/- ok/- aucune -serverHold +serverUpdateProhibited +serverDeleteProhibited +serverTransferProhibited +serverTradeProhibited +3.4.2. Update – modify a domain name attributesWe have chosen to define 3 types of very distinct modifications with the sameEPP command: . In case the modification concerns thecontacts associated to a domain name (technical and/or adminstrative), or onlythe DNS configuration or only on the domain name status and its associatedauth_info.3.4.2.1.Update [admin] – Contact list modificationThe modification of the contact list associated to a domain name, whethertechnical and/or administrative, must be requested with a command. Eventhough EPP and the domain mapping allows the domainholder change with this command, we do not authorize this action. Adomain holder change is done with the and commands that we will detail later on in this document.It is important to keep in mind that modifications on contact lists cannotoverstep the rules of occurrences indicated in the domain name creationsection. Indeed, as the command allows the use of twosub-commands and , any deletion of acontact that leads to the deletion of that type of contact for the domain namemust contain the addition of another contact of the same type. For instance,the actual rule that limits to one the number of administrative contacts for aAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 24 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 25domain name is translated during its modification by the deletion of theactual contact and the addition of a new one, within the same EPP command(the example given further down will go over this case).Each element and can contain elements (already described in the « domain namecreation » section).If the same contact is contained both in and, the command is accepted, both operations will cancelthemselves and the other modifications requested in the command will betaken into account normally. In concrete terms, a command that indicatesthe addition of technical contacts VIL1666 and MIS78 as well as thedeletion of the technical contact VIL1666 equals a command that wouldonly contain the addition of the technical contact MIS78.If we stay on the example of the domain we created above and add a thirdtechnical contact and change the administrative contact, here is the XMLrequest that is sent.C:C:C: C: C: C: ndd-de-test-0001.frC: C: VIL1666C: JAP777C: C: C: NFC1C: C: C: C: une-reference-client-par-exempleC: C:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 25 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 26Example of an answer given by the server (for this type of command, thereturn code is 1000 unless there is a minor or major problem):S:S:S: S: S: Command completed successfullyS: S: S: une-reference-client-par-exempleS: frnic-00000002S: S: S:Example of answer in case of code return 1001:S:S:S: S: S: Command completed successfully; action pendingS: S: S: S: une-reference-client-par-exempleS: frnic-00000002S: S: S:3.4.2.2. Update [tech] – Name server configuration modificationThe command is used to indicate an initial DNS configuration for a domainname that doesn't have any yet or to change an existing DNS configuration.By modification, we also mean the pure and simple deletion of the domain'sname server list in order to have the possibility to reserve a domain namewithout any DNS publication.This command is also used to add or delete signed delegations (DS records).The command is sent by the client (to simplify, we consider this commandto be syntactically correct and that the necessary glues are present), theformat we have chosen for the name servers is the one where they areattributes of the « domain » object and not as references on « host » objects(RFC 5732). When the command is handled, the server answers with a returncode 1000.The configuration is directly visible in the Whois and can be publishedduring the next DNS zone file reload (unless the status "clientHold" or"serverHold" is indicated which prevents the DNS publication).Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 26 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 27IMPORTANT: The DNS configuration does not distinguish a server asbeing the primary or the others as being secondaries. This means the orderof the servers has no importance. Even though they are usually returnedaccording to the same order (via the Whois or via the answer to a command), there are no priority rules behind this order.The command can only contain the elements and/or . The first contains the informationnecessary to add one or several name servers to the existing configuration,the second one to delete one or several name servers. The modification of aname server to update it glue has to be present in (just thename server) and in (with the new glue to apply).As a reminder, we have not implemented RFC 5732, on objects of type"host" that allow to reference the name servers. We prefer to use thepossibility to describe the name servers as attributes of the « domain »objects.Each of the and elements can only containthe single element , any other element present that could beconfusing as to which type of modification is requested will lead to an error.In addition, each element is only composed of a one singlecollection of elements.Here are the sub-elements that are present in the element and their brief description. The absence of mandatory elementsand/or presence of other elements will return an error.Element nameNumber of occurences 1 0-n 0-n• contains the complete domain name of thename server.• contains an Ipv4 address to associateto the name server when a glue is necessary (only for, forbidden for ).• contains an Ipv6 address to associateto the name server when a glue is necessary (only for, forbidden for ).If the presence of a glue is necessary, it is not mandatory to indicate ipv4and ipv6 addresses. One address, whatever its type, is sufficient (but severalcan be indicated).The command can be associated to a extension ifDNSSEC operations are wanted and that the secDNS extension was chosenAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 27 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 28by the client during connection. In that case the extension will need tocontain a element and/or a element.The element contains either the elementalone (if present with the value 1 it will delete all DS records linked to thedomain name) either one or several elements.The element contains one or more elements.Each element is composed of the following subelements:Element nameNumber of occurences 1 1 1 1We would like to remind you that according to RFC 5910 order is important,as the content of element is taken into account before thecontent of element .The "urgent" attribute in the element is not accepted, itspresence with a value set ot 1 will generate a 2102 error code.The element under is not accepted eitherbecause the only sub-element allowed under is which is not supported. The presence of the element will generate a 2102 error code.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 28 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 29Example of a request sent by the client after a creation to indicate the initialconfiguration for a domain name:C:C:C: C: C: C: ndd-de-test-0001.frC: C: C: C: ns1.nic.frC: C: C: ns2.nic.frC: C: C: ns.ndd-de-test-0001.frC: 192.93.0.1C: 2001:660:3005:1::1:1C: C: C: C: C: C: une-reference-client-par-exempleC: C:Example of a request sent by the client after a creation to give the initialconfiguration of a domain name secured with DNSSEC:C:C:C: C: C: C: ndd-de-test-0001.frC: C: C: C: ns1.nic.frC: C: C: ns2.nic.frC: C: C: ns.ndd-de-test-0001.frC: 192.93.0.1C: 2001:660:3005:1::1:1C: C: C: C: C: C: C: C: C: C: 12346C: 3C: 1C: 38EC35D5B3A34B44C39B38EC35D5B3A34B44C39BC: C: C: C: C: une-reference-client-par-exempleC: C:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 29 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 303.4.2.3.Update [context] - Modification of the domain status and/or itsauth_infoThis operation is totally independant from the concerned domain name DNSconfiguration. It allows the registrar to set or remove the "clientHold" flag.If it is set, a domain name, even associated to a valid DNS configuration,will not be published in the DNS. Both processes are really independant.IMPORTANT: Some operations (please refer to the procedure guide formore details on that subject) may remove this flag if they are completed.Once again it is the and elements that areused to add/remove a flag. These elements can contain only one element.Element name 1Number of occurences• is sent as is.The RFC 5731 allows to send a clear message associated to the element and the use of a (lang) attribute indicating thelanguage of the message. As we do not handle this message, the elementmust remain empty.Concerning the modification of the auth_info associated to the domainname, the use of the element is necessary and even though itcan be the parent to elements like and, only the latter is accepted. The presence of the element will lead to an error returned by the EPPserver. The use of is very similar to the one indicatedfor a creation operation.Example of a request to forbid the DNS publication of the domain name justcreated and to modify its auth_info (in the present case, as it was a creation"with authorization code", the initial auth_info was imposed by AFNIC):C:C:C: Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 30 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 31C: C: C: ndd-reserve-0001.frC: C: C: C: C: C: PlusFortKeWarlordZ666C: C: C: C: C: une-reference-client-par-exempleC: C:Example of an answer sent by the server (for this type of command, thereturn code is alway 1000 except in case of degraded server, also not that amessage is awaiting on the serve, probably the result of the name servermodification request on the domain name ndd-de-test-0001.fr):S:S:S: S: S: Command completed successfullyS: S: S: S: une-reference-client-par-exempleS: frnic-00000004S: S: S:Example of answer in case of code return 1001 (degraded server):S:S:S: S: S: Command completed successfully; action pendingS: S: S: FRNIC-27505-CLIENT-1275645007S: DEV-photon-27393-9-1275645009.72202S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 31 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 323.4.3. Delete – Delete a domain nameThe deletion of a domain name comes with a restoration mechanism (restore).This mechanism, based on RFC 3915, limits the application field by restricting itto the deletion operation only. The rules that come with this procedure, itsdelays in particular, are not discribed in this document (read ProceduresManual).The deletion command is not modified from what is described in RFC 5731,however, in case of a success (there are some cases where the domain deletionis not possible like when the domain itself is used as a name server on otherdomain names), the return code is not 1000, but still 1001. The status"pendingDelete" is indicated for the total duration of the "grace period" and aslong as the domain is not restored or totally deleted. A notification message isadded to the queue at the end of the deletion operation with paResult="0" in thecase of a successful restoration, paResult="1" in the case of an effective deletionof the domain name.Example of a deletion request for our test domain name:C:C:C: C: C: C: ndd-de-test-0001.frC: C: C: une-reference-client-par-exempleC: C:Example of an answer sent by the server (for this type of command, the returncode is alway 1001):S:S:S: S: S: Command completed successfully; action pendingS: S: S: une-reference-client-par-exempleS: frnic-00000005S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 32 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 333.4.4. Restore – Domain name restoreThe restoration command is done through an extension of the command. This type of operation must not be confused withthe other possibilities described in § 3.5.2 that describes the use of thiscommand to modify contacts, DNS configuration or a domain name's status.Indeed, a restoration operation must not come with any other domainmodification. This problem is bypassed in the RFC by making one of theelements of the command mandatory but empty... But thisdoes not comply with the XSD file which is nominative. We have thereforedecided to follow the latter and, contrary to what is indicated in the RFC 3915, a command that only contains the element,associated to the extension of the command is the correctone to use.The extension of the command described in RFC 3915 onlygoes through if the element is added. However, it has an "op"attribute that can display 2 values. We only accept one, as described in thefollowing table.Element name 1Number of occurencesExample of the restoration request for our test domain name:C:C:C: C: C: C: ndd-de-test-0001.frC: C: C: C: C: C: C: C: une-reference-client-par-exempleC: C:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 33 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 34Example of an answer sent by the server (for this type of command, the returncode is alway 1000 except in case of degraded server and as precised in theRFC, in case of success, the "s" attribute of the element in theextension must indicate "pendingRestore" as a value):S:S:S: S: S: Command completed successfullyS: S: S: S: S: S: S: S: une-reference-client-par-exempleS: frnic-00000006S: S: S:Example of answer in case of code return 1001 (degraded server)S:S:S: S: S: Command completed successfully; action pendingS: S: S: FRNIC-27180-CLIENT-1275642432S: DEV-photon-26251-3-1275642432.11977S: S: S:3.4.5. Transfer – Registrar changeThe command offered by EPP only allows a registrar change. A fewmodifications were made to this command to make it more complete.As for the access restrictions to the use of this command, RFC 5730 gives outrecommandations, but these are not mandatory. To avoid confusion, AFNIC hasdecided to only authorize registrar changes for a domain name to registrars thatdo not manage the concerned domain name. Accepting or rejecting a registrarchange can only be done by the outgoing registrar.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 34 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 353.4.5.1.Requesting a transfer (registrar change)First difference with the standard, is the element (elementitself of ) that cannot be used with the "roid" attributeto indicate that the given auth_info is linked to the holder or a contactassociated to the domain name itself. In our case the auth_info can only belinked to the domain name.During the transfer, the holder is cloned to the incoming registrar (unless a"contact" object with the exact same information already exists with thisregistrar). Important, this cloning happens once the transfer is approved bythe outgoing registrar.Eventhough it is planned by the RFC, the modification of the domain namevalidity period cannot be done. The same restrictions as for a creation applyto the element still considered as an optional element (inorder to keep things homogenous, we have kept exactly the same logic asthe creation operation). However, as the change is validated only at the endof the procedure and that it is at this moment that the new anniversary dateis indicated, the element is absent from the serveranswer.Last difference, an extension is necessary to allow the transfered domainname to be associated to technical and administrative contacts linked to theregistrar requesting the transfer as well as to specify if the potentialDNSSEC configuration (DS records) must be maintained in case of asuccessful transfer.Here are the specific elements found in the XML request sent by the client.Element nameNumber of occurrences 1 1 1 1-3The keepDS element is an XML boolean and must be set to a value among:0, 1, true, false. Its presence is mandatory.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 35 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 36Example of the transfer request sent by a registrar on our domain name test-0001.fr with keeping the DS records:C:C:C: C: C: C: ndd-de-test-0001.frC: 1C: C: WarlordZ666C: C: C: C: C: C: C: C: PR1249C: AI1C: PR1249C: C: C: C: C: une-reference-client-par-exempleC: C:The answer to this transfer request (if it is acceptable on its syntax andsemantics) contains a number of information described in RFC 5731. We donot use an extension for the answer. Here is the list of elements present inthe answer.Element name 1 1 1 1 1 1Number of occurences• contains the full domain name (exemple-nddepp.fr).• indicates the status of the request. Can onlycontain the "pending" value.• contains the incoming registrar ID.• indicates the date and time of when the requestwas handled.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 36 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 37• contains the registrar ID of the last registrar thatchanged the status of the transfer robot as indicated in. However, when the status indicates "pending",the registrar ID will the one of the outgoing registrar.• indicates, when the transfer status is "pending",the date and time left to answer for the outgoing registrar ("approve"or "reject") before the procedure is handled automatically. In theother cases ("clientApproved", "clientRejected", …), it indicatesthe date of the action that led to that status.Example of answer sent by the server (for this type of command, the returncode is always 1001):S:S:S: S: S: Command completed successfully; action pendingS: S: S: S: ndd-de-test-0001.frS: pendingS: BEentrantIDS: 2008-12-25T00:00:00.0ZS: BEsortantIDS: 2009-01-02T00:00:00.0ZS: S: S: S: une-reference-client-par-exempleS: frnic-00000007S: S: S:Of course, if the domain name is in "serverTransferProhibited" status (thecase when the domain name holder is undergoing an identification phase), itis not possible to request a transfer. An 2106 error code is returned.The next steps of the operation, accepting or refusing the registrar change bythe outgoing registrar, is done by using the "op" attribute of the command. As long as the transfer is not finished (whatever the way it ends),the domain name status indicates "pendingTransfer".3.4.5.2.Next steps for the outgoing registrarA message is added to the queue and the registrar can be aware of thisaddition during a following command as the incremented message count ispresent in every answer from the server to any client request. The messageis similar to the answer received by the registrar who requested the transfer.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 37 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 38Example of a request to retrieve the awaiting message:C:C:C: C: C: une-reference-client-du-BEactuel-par-exempleC: C:Example of the answer sent by the server indicating a transfer was requestedfor the domain name ndd-de-test-0001.fr:S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2008-12-25T00:02:00.0ZS: Transfer requested.S: S: S: S: ndd-de-test-0001.frS: pendingS: BEentrantIDS: 2008-12-25T00:00:00.0ZS: BEsortantIDS: 2009-01-02T00:00:00.0ZS: S: S: S: une-reference-client-du-BEactuel-par-exempleS: frnic-00000008S: S: S:The outgoing registrar has 3 options, either approve the operation, reject it ornot answer... We would like to remind you that without an answer, within adelay equal to minus , 8 days in thepresent case, the request is considered as accepted.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 38 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 39To explicitly accept the transfer request, the outgoing registrar must sendthe following request to the server (the element iscompletly ingnored according to RFC 5731 ; and on the contrary to a transferrequest no extension needs to be used) :C:C:C: C: C: C: ndd-de-test-0001.frC: C: WarlordZ666C: C: C: C: une-reference-client-par-exempleC: C:As the possibility to accept or reject the transfer request is reserved to theoutgoing registrar, we could do without the auth_info associated to thedomain name, but in order to remain coherent it is mandatory, whatever thevalue of the "op" attribute.Example of an answer sent by the server indicating the acceptance of thetransfer was taken into account (the 1000 return code appears in this case,that the transfer status is now "clientApproved" and that the date indicatedin indicates when the outgoing registrar accepted thetransfer):S:S:S: S: S: Command completed successfullyS: S: S: S: ndd-de-test-0001.frS: clientApprovedS: BEentrantIDS: 2008-12-25T00:00:00.0ZS: BEsortantIDS: 2008-12-26T00:00:00.0ZS: S: S: S: une-reference-client-par-exempleS: frnic-00000009S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 39 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 40In case the outgoing registrar wishes to refuse the transfer operation, hemust send a similar request to the previous one by only changing the "op"attribute value from "approve" to "reject". The server answer is also verysimilar to what was presented in the case of the acceptance. The differenceis in the transfer status no longer indicating "clientApprove" but"clientRejected".Example in the case of a transfer refusal by the outgoing registrar:C:C:C: C: C: C: ndd-de-test-0001.frC: C: WarlordZ666C: C: C: C: une-reference-client-par-exempleC: C:Example of a server answer in the case of a refusal:S:S:S: S: S: Command completed successfullyS: S: S: S: ndd-de-test-0001.frS: clientRejectedS: BEentrantIDS: 2009-10-07T08:13:02.0ZS: BEsortantIDS: 2009-10-07T08:13:16.0ZS: S: S: S: une-reference-client-par-exempleS: frnic-000000009-bisS: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 40 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 413.4.5.3.Next steps for the incoming registrarIt is possible, as long as the outgoing registrar has not answered (by an"approve" or a "reject"), to cancel the ongoing request. This possibility isavailable by sending a command with the "op" attribute set to"cancel". A notification indicating the command cancelation is sent to theoutgoing registrar (that remains in charge of the domain name).If the incoming registrar doe not wish to cancel the ongoing operation, twocases are possible, either the transfer is accepted, either it is refused (sic). Inany case the incoming registrar is notified in his message queue of theoutgoing registrar's choice. In fact, an accepted transfer generates 2 entriesin the queue (sometimes 3, but we will come back to this third message lateron), the first one informs the incoming registrar the operation was acceptedby the outgoing registrar, the second one indicates the command he madewas a success. In concrete terms, here is the message sequence that must beretrieved with the command.The first message repeats the content of the elementsent as an answer to the command the outgoingregistrar has received. Note the value for in comparisonto , the second one cannot be posterior to the first one.S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2008-12-26T00:00:01.0ZS: Transfer approved.S: S: S: S: ndd-de-test-0001.frS: clientApprovedS: BEentrantIDS: 2008-12-25T00:00:00.0ZS: BEsortantIDS: 2008-12-26T00:00:00.0ZS: S: S: S: frnic-00000010S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 41 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 42The second message in the queue is the initial command result to which theserver had answered with a 1001 return code.S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2008-12-26T00:01:00.0ZS: Transfer completed.S: S: S: S: ndd-de-test-0001.frS: S: une-reference-client-par-exempleS: frnic-00000007S: S: 2008-12-26T00:01:00.0ZS: S: S: S: frnic-00000012S: S: S:In case the outgoing registrar refuses, this second message is not present asthe command is not finished. Here is the message in the queue instead of theone indicating the registrar change was accepted. Not the value for that show the increase of the delay given to the outgoingregistrar... During this period, the outgoing registrar can approve the transferat any time (generating the message sequence seen before), as the domain isin "pendingTransfer" status.S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2008-12-26T00:00:01.0ZS: Transfer rejected.S: S: S: S: ndd-de-test-0001.frS: clientRejectedS: BEentrantIDS: 2008-12-25T00:00:00.0ZS: BEsortantIDS: 2009-01-16T00:00:00.0ZS: S: S: S: frnic-00000010S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 42 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 43We have seen just above the possibility of a third message in the queue.Indeed, we have said that during a transfer, the holder contact of the domainname is cloned if necessary. In that case, it is important the incomingregistrar is notified of this creation, as it is not explicitly requested. Anotification message is added to the queue (similar to the one received aftercreating a contact object), it is sent once the transfer operation issuccessfully ended. Therefore, it is possible to differenciate cases where theholder is re-used (no message is sent). Sending this message should promptthe incoming registrar to retrieve all the information on this new contact.3.4.5.4.Using the command for consultationIt is normally planned that this commad should give information on theongoing transfer or on the last transfer finished on a domain name. We donot offer this possibility. A good handling of the notification messagesshould allow both registrars involved to have a complete follow up on theoperation.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 43 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 443.4.6. Trade – Holder change (Transmission)The command does not exist in the EPP standards. At AFNIC, we havetwo specific transmission procedures that apply to different cases, the operationdescribed here only corresponds to what we call a trade (volutarytransmission).3.4.6.1.Trade request (voluntary transmission)Unlike the operation, the transmission does not necessarilyimplies a registrar change. But the holder must change. As for the othertypes of contacts, if the domain remains with the same registrar, there is noreal reason to modify them. In order to remain coherent with, amongstothers, the operation, we have decided to have all types ofcontacts mandatory, whether they are modified or not...Just like the command, the command has an "op"attribute that allows to differenciate its use in "transform" mode from its usein "query" mode. On the other hand, unlike the command, only3 values are possible for this attribute: « request » to request a transmissionon a domain name, « cancel » to cancel a request before the holders haveboth answered and « query » to check the status of the transmission.The trade (voluntary transmission) can only happen if the outgoing holderwas correctly identified. If this is not the case, an error code is returnedduring ther request. The status "serverTradeProhibited" is set for thisdomain name. This information can be obtain by using the command. As this status does not exist in the EPP standards, it is found inan extension. As for the incoming holder, he can be in a pendingidentification status, not yet identified, but cannot be in « problem » status.The elements that must be present in the extension (in the element of the element) are indicated in the following table.Element nameNumber of occurences 1 1 1 1 1-3The keepDS element is an XML boolean and must be set to a value among:0, 1, true, false. Its presence is mandatory.Note that implementing a new command via the EPP extension mechanismsprevents the element to be used (under the element). As the latter is important to ensure the follow-up of commandsAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 44 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 45and their synchronisation (particularly useful for commands that answerwith a 1001 return code), we have integrated this element to the extension.Eventhough it is not at the same place, its use in the server answer and in thenotification messages that remain the same. For example, during a serveranswer to a transmission request that we will send further down, the element is duplicated in the element and not in theanswer extension part.Example of the trade request for our domain name ndd-de-test-0001.fr (inour example, the transmission is done keeping the same registrar,administrative and technical contacts as well as the DNSSEC configuration):C:C:C: C: C: C: C: C: ndd-de-test-0001.frC: PR1249C: VIL1666C: AI1C: PR1249C: C: C: une-reference-client-par-exempleC: C: C: C:As for the answer, we offer an answer pretty similar to the one sent during atransfer to which we have added, in an extension, the information about theincoming and outgoing holders.Eventhough we have kept a format close to the answer made during atransfer (but it is in the part of the answer, not in the anymore), meanings change for some elements. Indeed, for atransfer, it is the registrars that initiate the necessary operations to the statuschanges of a domain name handled, whereas in the case of a trade, it is bothconcerned holders, through an « off-line » process, that will validate orreject the operation. The elements used to time-stamp operations or indicateexpiration dates (, and) are completed. Indeed, we need to indicate the date andtime the request was received, the delay granted to both holders to accept orreject this operation and the time and date they answered the request.The following table indicates the elements present in the extension() of the server answer :Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 45 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 46Element nameNumber of occurences 1 1 1 1 1 1 1 0-1 1• domain name subjected to the transmission request.• indicates the transmission status. Eventhough at thetime of the request the only possible value is "pending", 6 values arepossible that we will detail later on ("pending","newHolderApproved", "oldHolderApproved", "holdersApproved","newHolderRejected", "oldHolderRejected").• contains the registrar ID making the request.• indicates the date and time the request was taken intoaccount.• contains the holder identifier requesting the voluntarytransmission (trade).• as long as the incoming holder as not made any action,indicates the limit date and time for him to accept or refuse thetransmission ( indicates either "pending","oldHolderApproved" or "oldHolderRejected"). If the incomingholder accepted or rejected the request, the date of this last action will beindicated. In case the incoming holder does not answer and that the timelimit is reached, the transmission is canceled.• contains the outgoing registrar ID (in most of the cases, asthe transmission is done by the same registrar, this value will be equal to).• contains the identifier of the actual domain holder.This information will be given only if the transmission is done by thesame registrar (the case presented in our example).• as long as the outgoing holder has not accepted orrejected the operation, will indicate the limit date and time given to himto accept or refuse the transmission ( then indicateseither "pending", "newHolderApproved" or "newHolderRejected"). Ifthe outgoing holder accepts or refuses, it is the date of this action thatwill be indicated. In case the outgoing holder does not answer and thatthe limit date is reached, the transmission is canceled. When is equal to "pending", and will indicate the same value.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 46 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 47Example of an answer sent by the server (for this type of command, thereturn code wil always be 1001). In the present case, values "BEsortantID"and "BEentrantID" are considered as identical, which explains why both and are present:S:S:S: S: S: Command completed successfully; action pendingS: S: S: S: S: S: S: ndd-de-test-0001.frS: pendingS: BEentrantIDS: 2009-01-01T00:00:00.0ZS: PR1249S: 2009-01-16T00:00:00.0ZS: BEsortantIDS: MM4567S: 2009-01-16T00:00:00.0ZS: S: S: S: S: S: S: une-reference-client-par-exempleS: frnic-00000011S: S: S:3.4.6.2.Following-up on a trade (voluntary transmission)If the trade is coupled to a transfer, the outgoing and incoming registrarswill receive almost identical service messages that will allow them to followthe evolution of the ongoing operation. On the other hand, only the registrarthat initiated the operation will receive the conclusion message indicatingthe result to the command and only the registrar in charge of thedomain name will receive the first service message more or less similar tothe command answer (except that is missing unlike).The outgoing and incoming holders have both 15 days to validate thedomain name transmission. To illustrate this, let's imagine a classic casewhere the outgoing holder validates the transmission, followed by theincoming holder, within the 15 days delay.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 47 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 48First, the outgoing registrar receives a first notification message (we are herein the case of a trade coupled with a transfer, which explains the absence ofthe element) :S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-12-25T00:02:00.0ZS: Trade requested.S: S: S: S: S: S: S: ndd-de-test-0001.frS: pendingS: BEdemandeurIDS: 2009-01-01T00:00:00.0ZS: 2009-01-16T00:00:00.0ZS: BEactuelIDS: MM4567S: 2009-01-16T00:00:00.0ZS: S: S: S: S: S: S: une-reference-client-du-BEactuel-par-exempleS: frnic-00000012S: S: S:The outgoig holder accepts the trade, which will generate 2 notificationmessages, one to each registrar. These messages will be almost identical,only difference will be with the element not present in themessage sent to the registrar used by the incoming holder to request thetransmission and with the element not present in themessage sent to the outgoing registrar. Note that the value in the element goes from "pending" to "oldHolderApproved"(if the incoming holder would have been the first to validate thetransmission, would have indicated"newHolderApproved"). Also note the values for and.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 48 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 49Here is the message received by the outgoing registrar:S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-01-02T00:00:01.0ZS: Trade in progress.S: S: S: S: S: S: S: ndd-de-test-0001.frS: oldHolderApprovedS: BEdemandeurIDS: 2009-01-01T00:00:00.0ZS: 2009-01-16T00:00:00.0ZS: BEactuelIDS: MM4567S: 2009-01-02T00:00:00.0ZS: S: S: S: S: S: S: une-reference-client-du-BEactuel-par-exempleS: frnic-00000013S: S: S:The incoming holder does the same and 2 messages are generated with thesame limitations indicated before on the elements and. This time indicates"holdersApproved".Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 49 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 50S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-01-03T00:00:00.0ZS: Trade in progress.S: S: S: S: S: S: S: ndd-de-test-0001.frS: holdersApprovedS: BEdemandeurIDS: 2009-01-01T00:00:00.0ZS: 2009-01-03T00:00:00.0ZS: BEactuelIDS: MM4567S: 2009-01-02T00:00:00.0ZS: S: S: S: S: S: S: une-reference-client-du-BEactuel-par-exempleS: frnic-00000014S: S: S:To end this operation, a message is sent to the registrar who initiated thetransmission only. In our case, "paResult" indicates 1 because everythingwent as planned.S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-01-03T00:00:00.0ZS: Trade completed.S: S: S: S: ndd-de-test-0001.frS: S: une-reference-client-par-exempleS: frnic-00000011S: S: 2009-01-03T00:00:00.0ZS: S: S: S: frnic-00000015S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 50 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 513.4.6.3.Using the command for consultationJust like the command, the command in consultationdoes not give any information on the last trade made on the domain name.Only information on the ongoing transmissions are available to the registrarsinvolved in this operation.3.4.7. Recover – Forced domain name transmissionThe other transmission method, recover ("forced" transmission), where theoutgoing holder no longer exists, requires an authorization code. We aretherefore in a situation that mixes a creation "with an authorization code" and atrade (voluntary transmission).3.4.7.1.Requesting a recover (forced transmission)Just like a creation "with an authorization code", we will not detail in thisdocument how to retrieve the authorization code necessary for a recover.But it must be retrieved before any attempt to use this command on adomain name.The logic behind the command is similar to the and commands.For example, eventhough this is not useful in this interface version, we havechosen to keep the "op" attribute of the command. This attribute can onlyhave one value, "request", as, on the contrary to other commands fromwhich it is inspired, the command answers with a 1000 codeinstead of a 1001 code. Other than the command name, what differenciatethe request sent for a from the one sent for a is thepresence of the element used to indicate the authorizationcode. We would like to remind you that the authorization code is associatedto three elements (the registrar, the domain name and the holder nic-handle).The recover cannot be requested for an incoming holder in problem status.There is no limitation on the command from the identificationstatus of the outgoing holder.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 51 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 52Here is an example for a request sent by a registrar who received thenecessary authorization code for the recover of our domain name exampleand that does not wish to keep the DNSSEC configuration:C:C:C: C: C: C: C: C: ndd-de-test-0001.frC: C: C: NDCR20080229T173000.123456789C: C: C: PR1249C: VIL1666C: AI1C: PR1249C: C: C: une-reference-client-par-exempleC: C: C: C:The server answer is also very similar to the one made for the command. Indeed, in this case, the holders and registrars do not have to takeany action to complete the command successfully.The command return code is 1000, so it is not necessary to give theinformation on the recover status or indicate limit dates for action by theholders or the registrars. The limitations on the presence or absence of theincoming and outgoing holder identifiers are the same as for the command.If the incoming registrar is differnt from the outgoing registrar, anotification message is added in the notification queue of the outgoingreigstrar.The following table details the elements present in the extention() of the server answer (and in the notification messagesent if necessary) :Element nameNumber of occurrences 1 1 1 0-1 1 0-1Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 52 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 543.4.8. Checking a domain availabilityThe command allows to check the availability of one orseveral domain names, up to 7 by command. Any request containing moredomain names than the authorized limit will get an error message.The answer from the server indicates for each domain, with the help of aboolean type attribute if the domain can be created and if it can't, indicates thereason why. Here is a list of the messages sent in case a domain name cannot becreated:MessageIn useZone not openedZone unknownBad syntaxRegistry bad syntaxEquivalent name in useForbidden nameDetailsThe domain name already exists (whatever itsstatus, a domain name, pending deletion forexample, is not free).The domain name is free, but belongs to azone managed by AFNIC not opened forregistrations.The domain name is not in a zone managedby AFNIC.The argument indicated in the parameter isnot a domain name.The argument indicated in the parameter is adomain name but does not respect one of thesyntaxic rules imposed by AFNIC (forexample: only one letter in the gender labelx.fr, …).An « equivalent » domain name already existsand blocks the registration of this domainname.The domain name is part of list of forbiddendomain names.In order to differenciate « reserved » names that can be registered with anauthorization code from the forbidden names that cannot be registered, we havedecided to indicate this information in an extension.The element contains the domain name and the "reserved"attribute or "forbidden" attribute of this element. These attributes indicate thatthe domain name requested belongs indeed to the old list of reserved orforbiddens names. Since July 1st, 2011, this list is treated in a homogeneousway and all these terms can be subject to prior review (with a authorizationcode).If the domain name is « reserved », a element must bepresent to indicate why it is categorized that way. It is the same with thepresence of a element. We can imagine that a reservedAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 54 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 55name is reserved for several reasons, this is why the element can be present several times for the same domain name (of course thesame rule is applied to the element).Request example to verify the availability of a domain name list:C:C:C: C: C: C: afnic.frC: af-1234-nic.frC: bois-guillaume.frC: paris.frC: trafiquants.frC: toto.wfC: C: C: une-reference-client-par-exempleC: C:The following table indicates the elements present in the elementsof the () extension in the server answer:Element NameNumber of occurences 1 0-n 0-n• domain name verified,"reserved" can indicate two values 0 or 1, the same goes for "forbidden".• can indicate the following values (this list may evolvein time) :• City name• Registry process• can indicate the following value (this list may evolve intime) :• Legal issueAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 55 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 56Example of the anwser sent by the server (for this type of command, the returncode is always 1000, never 1001). Please note that in the answer the "avail"attribute indicates either "1" or "0", but also the protocol authorizing the use of"true" and "false", one or the other can be received.S:S:S: S: S: Command completed successfullyS: S: S: S: S: afnic.frS: In useS: S: S: af-1234-nic.frS: S: S: bois-guillaume.frS: S: S: paris.frS: In useS: S: S: trafiquants.frS: Forbidden nameS: S: S: toto.wfS: Zone not openedS: S: S: S: S: S: S: S: S: S: S: afnic.frS: S: S: S: S: af-1234-nic.frS: S: S: S: S: bois-guillaume.frS: S: City nameAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 56 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 57S: S: S: S: paris.frS: S: City nameS: S: S: S: trafiquants.frS: S: Legal issueS: S: S: S: toto.wfS: S: S: S: S: S: S: S: S: une-reference-client-par-exempleS: frnic-00000017S: S: S:3.4.9. Retrieve domain dataThe command allows to retrieve information on a domainname. Eventhough this command does not replace the Whois command, thiscommand answers with the same type of information and is particularly usefulto follow ongoing operations on a domain name.A request on a domain name answers with all the information available as longas the request is made by the registrar in charge of the domain name. In thatcase, the auth_info is not necessary.The auth_info is necessary when a registrar makes a request on a domain namenot present in his portfolio.According to what is described in RFC 5731, we need to define extensions toindicate statuses that are specific to the new commands we have described,deletion with redemption (RFC 3915) also uses an extension.We accept the different values for the "hosts" attribute, that is to say "none" tohave no information on the server names, "del" to only have the informationconcerning the name server list on which the requested domain name isinstalled, "sub" to know the name server list associated to this domain name and"all" to have both (value by default). Reminder, a domain name can beAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 57 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 58registered without a technical configuration, which does not block name serversfrom being associated to the domain itself…Request sent made by the registrar in charge of the domain name:C:C:C: C: C: C: ndd-de-test-0001.frC: C: C: une-reference-client-par-exempleC: C:Request sent made by the registrar not in charge of the domain name:C:C: C: C: C: ndd-de-test-0001.frC: C: ALASTOR2012C: C: C: C: FRNIC-10541-CLIENT-1247215792C: C:3.4.9.1.Detail for the "classic" part of the answerThe server answer does not contain all of the elements described in RFC5731.First noteworthy difference, the element… Eventhough wehave unique identifiers for the domain names in our database, these do notquite answer the « book of specifications » defined in the RFC. Indeed, a"roid" should be created each time an object is created in the database; acreated domain name, deleted, then created again should get different "roid"for each creation operation. At AFNIC, a unique ID is associated to adomain name during its very first insertion in the database, this ID followsthe domain even if it is deleted in the mean time (it is never associated toanother). To this unique ID we concatenate the "–FRNIC" suffix, as we dofor contact objects.The domain name status can be indicated either in the part of theanswer or in the extensions. However, on the contrary to the RFC, thisAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 58 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 59information is not optional. A domain name that is not in a particular statusnecessarly has a element present in the part of the answer. The absence of this element necessarlyimplies an information on the domain name status is found in the part of the answer.The elements (ID of the registrar who created the domainname for the first time), (ID of registrar who last updatedthe domain name) and (date of the last finished transfer)are not present.The following table indicates the elements present in the element of the server answer:Element NameNumber of occurences 1 1 0-n 1 1 1-3 0-1 0-n 1 1 1 1 1• domain name subjected to the information request.• Unique ID of the object in our database.• indicates a domain name status (that can beunder several different status at the same time). Any status that is notfound in the list available and described in RFC 5731 must beindicated in an appropriate extension.• contains the holder identifier obtained bydeducting the suffix (FRNIC) and the separator "-" from its own nichandle.• contains the adminstrativecontact identifier.• contains the identifier of atechnical contact.• contains the technical configuration of the domainname if it has one. The format is the same as the one used duringtechnical modifications. This information is not present if the valueof the "hosts" attribute during the request was indicating "none" or"sub".• contains the name server list known by our servicesand used a name servers for domain names manged by AFNIC. Thisinformation is not present if the value of the "hosts" attribute duringthe request was indicating "none" or "del".Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 59 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 60• contains the ID of the registrar that manages thedomain name.• … in the current version of this interface, thetimestamping information is not aligned with the role described inRFC 5731 but copied from the "Whois" pattern. The creation date isthe last creation date of the domain name or the date of the lasttransmission (trade or recover).• contains the supposed expiration date of thedomain name (anniversary date). We did not implement the command and the AFNIC renew mechanism isnot the same as the one described in the RFCs on EPP.• contains the date of the last operation thatmodified the database for this domain name. On the contrary towhat is indicated in RFC 5731, this element is always present, even ifno update command was requested. In that case, its value will beequal to the value in the element (once again, theexisting rules in our "Whois" pattern were kept).• contains the auth_info associated to thedomain name.S:S:S: S: S: Command completed successfullyS: S: S: S: ndd-de-test-0001.frS: DOM000000456987-FRNICS: S: MM4567S: NFC1S: NFC1S: VIL1666S: S: S: ns1.nic.frS: S: S: ns2.nic.frS: S: S: ns.ndd-de-test-0001.frS: 192.93.0.1S: 2001:660:3005:1::1:1S: S: S: ns.ndd-de-test-0001.frS: ns1234.ndd-de-test-0001.frS: BEactuelIDS: 2008-12-25T00:00:00.0ZS: 2009-12-25T00:00:00.0ZS: 2009-01-10T00:00:00.0ZS: S: WarlordZ666S: S: S: S: S: une-reference-client-par-exempleS: frnic-00000018S: S: C:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 60 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 613.4.9.2.Details of the possible extensions of the answerThe command can contain additional information in the part of the answer. Among this can be found information onthe deletion/restoration process that correspond to RFC 3915.For example, a deleted domain name in redemption period has the followingextension (a part of the element was also reproduced):S:S:[…]S: S: S: ndd-de-test-0001.frS: […]S: S: S: S: S: S: S: S: une-reference-client-par-exempleS: frnic-00000019S: S: S:With the same domain name, but this time, imagine the holder was notsuccessfully identified yet. The part of the answer looks likethis ( element is also present in the part):S:S:[…]S: S: S: ndd-de-test-0001.frS: […]S: S: S: S: S: S: S: S: S: S: S: S: S: S: une-reference-client-par-exempleS: frnic-00000021S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 61 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 62In addition, if the client has activated the secDNS extension at login and thatthe domain name has DS records, these will be flagged in the answer insidean extension, according to RFC 5910.S:S:[…]S: S: S: ndd-de-test-0001.frS: […]S: S: S: S: S: 12345S: 3S: 1S:49FD46E6C4B45C55D4AC49FD46E6C4B45C55D4ACS: S: S: S: S: une-reference-client-par-exempleS: frnic-00000018S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 62 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 633.5. Managing a contactA few basic rules:• Contacts all have a nic-handle that can be used to reference them indifferent domain name operations. The nic-handle is NEVER reassignedafter removal of contact.• Holder contacts must be created before being used in a domain nameoperation.• The qualification data is linked to the holder. The qualification process isdone on the contacts.Please note this general information on how postal addresses are managed, thatis to say:• On the contrary to what is indicated in RFC 5731, only one element of type can be indicated.• On the contrary to what is indicated in RFC 5731, only the type "loc" forpostal addresses is accepted.3.5.1. Contact CreationTo create a contact object used as holder, AFNIC requests information that arenot available in the standard EPP mapping for "contact" objects, it is necessaryto offer an extension.In addition, for a contact that requires a difference between first name and lastname, must contain the last name when the element of the given extension contains the first name of thecontact. In a concrete matter, for any « individual » holder contact, this elementis mandatory.Another necessary adaptation of the standard contact mapping (RFC 5733),because uncompatible with our procedures, is the element.Eventhough it is mandatory it is not taken into account by our server. Thisimplies that on the contrary to the EPP standard, the registrar has no choice inthe contact identifier during its creation request. AFNIC allocates the contactidentifiers according to its own algorithms. Of course, in case of a successfulcreation, the identifier is indicated in the server answer. On the other hand thisidentifier can be the one of an already existing contact if the registrar send thesame information contained in this contact. For this last case, we add anextension in the server answer.Another mandatory element that is not taken into account because not used isthe element. Indeed it is not possible to associate apassword to a contact object. But as we did for , we have decidedto keep the sent request to ensure a more simple compatibility with the existingclient codes. The element, optional in the contact mapping,Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 63 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 64is also not taken into account and therefore must not be present to avoid thecommand from being rejected with an error.In addition to the element, the extension indicates theinformation needed to qualify the contacts used as domain holders. A element must be present for « individual » holders,and a element for « corporate » holders. As for themanagement of the restricted publishing, the chosen method is with thepresence of a « generic » element that can only contain, for themoment, the "restrictedPublication" value that only applies, for the moment aswell, to « individual » contact objects.Here is detailed the element found for individuals:Element NameNumber of occurences 1 0-1 0-1 1• contains the contact's date of birth.• contains the contact's birth city.• contains the postal code of the birth city (or theregional code at least).• contains the country code of the place of birth.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 64 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 65Example of a contact creation containing information in order to be used as anindividual domain holder:C:C:C: C: C: C: XXXX0000C: C: LevigneronC: AFNICC: C: immeuble internationalC: 2, rue StephensonC: Montigny le BretonneuxC: Saint Quentin en Yvelines CedexC: 78181C: FRC: C: C: +33.0139308333C: +33.0139308301C: vincent.levigneron@nic.frC: C: UnusedPasswordC: C: C: C: C: C: C: C: restrictedPublicationC: C: 1968-07-20C: RouenC: 76000C: FRC: C: VincentC: C: C: C: C: une-reference-client-par-exempleC: C:In the cases of contacts with qualification information, an extension is necessaryto indicate the qualification status of the contact. The elements in this extensionare indicated in the following table.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 65 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 66Element nameNumber of occurences 0-1 1• is used to indicate the identification status (onlypresent for contacts created with the elements or ) :• no : The contact is not qualified.• pending : The contact is undergoing qualification (with this statusthe operation is not possible).• ok : The contact is positively qualified.• problem : Problem during the qualification process. This state hasan impact on the status of the domains associated with the contact.• ko : At the end of the qualification process the contact could not bepositively qualified.• is used to indicate if the nic-handle was recentlycreated (the value for new is set to 1) or if it using an already existingcontact (the value for new is sent to 0).In the creation command response, RFC 5733 indicates the presence of the element to indicate the time and date of the contact creation.This date can be retrieved by using the the command. Thisinformation must be cautiously interpreted for two reasons. The first is that inour current model (1,5 million contacts are concerned), the creation date wasnot kept. The second is that it is not coherent with our policy of not duplicatingidentical contacts... so, eventhough this element is given in the server answer itsvalue may be before the command request date for the cases using an alreadyexisting contact ().Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 66 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 68• this element is used to indicate with the "s"attribute, the name of the company to identify ("company", "association","other"). The element is empty except in the cases where the "s" attributewill indicate "other".(Eg: Ambassade).• contains the SIREN number.• contains the european VAT number, this information isoptional.• contains a trademark number.• contains those 2 elements for associations.• indicates the Waldec number of an association. Ifthis identifier is given, it is enough to identify an association.• indicates the prefecture declaration date.• contains the Official Journalpublication date (the "announce" attributes indicates theannouncement number, the "page" attribute indicates the pagenumber of this announcement).• contains a DUNS number.• contain a local identifiant not belonging to any other category.Here is the request with a SIREN number as identification element:C:C:C: C: C: C: XXXX0000C: C: AFNICC: C: immeuble internationalC: 2, rue StephensonC: Montigny le BretonneuxC: Saint Quentin en Yvelines CedexC: 78181C: FRC: C: C: +33.0139308333C: +33.0139308301C: vincent.levigneron@nic.frC: C: UnusedPasswordC: C: C: C: C: C: C: C: C: C: 123456789C: C: C: C: C: C: une-reference-client-par-exempleC: C:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 68 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 69Also, the create:contact function can also put directly a validation tag by theregistrar on the eligibility and reachability (see Procedures Manual). Theseelements can be added wether the holder is a corporate entity (PM) or anindividual (PP).Element nameNumber of occurences 0-1 0-1C:C:C: C: C: C: XXXX0000C: C: LevigneronC: AFNICC: C: immeuble internationalC: 2, rue StephensonC: Montigny le BretonneuxC: Saint Quentin en Yvelines CedexC: 78181C: FRC: C: C: +33.0139308333C: +33.0139308301C: vincent.levigneron\@nic.frC: C: UnusedPasswordC: C: C: C: C: C: C: C: C: okC: C: 123456789C: C: 1C: C: C: C: C: une-reference-client-par-exempleC: C:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 69 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 703.5.2. Modifying a contactUpdating the data for a contact allows to change some of its elements in respectto the specific rules associated to the different roles it can play for a domainname, an administrative, technical or holder contact.It is also not possible to change the content of a contact associated to anauthorization code that has not been used yet.Only the registrar in charge of this contact may request its modification. Theauthentification process with was not implemented forcontact management.Information contained in the elements and cannot be modified. The same goes for the first andlast name of the holder contacts.An extension is necessary to manage the restricted publishing list. This is theexample we have chosen here.. The list management is done with elements and . The element, alreadypresented, is used the same way it is used for a creation. Let's delete the contactVL9999 from the "restrictedPublication" list:C:C:C: C: C: C: VL99999C: C: C: C: C: C: C: C: restrictedPublicationC: C: C: C: C: C: une-reference-client-par-exempleC: C:The server answer is not specific and always with a 1000 return code.In addition the contact:update function makes it possible to put a validation tag bythe registrar on the eligibility and the joignability.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 70 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 71C:C:C: C: C: C: VL99999C: C: C: C: C: C: C: C: okC: 1C: C: C: C: C: C: une-reference-client-par-exempleC: C:3.5.3. Deleting a contactDeleting a "contact" object is not available on AFNIC's EPP interface. Indeed, a"garbage collector" deletes old objects that are not referenced. The rule is asfollows: any contact not referenced for more than 3 months on another objectbecomes obsolete, that is to say that it can no longer be used on any type ofoperation. An obsolete contact will remain in our database for 15 days beforebeing totally deleted.This "garbage collector" works in total transparency and adds notificationmessages to the registrar's queue concerned with the contact deletion (see §2.6.3 Exogenous notifications). This will help the registrar to synchronise hisdatabase to AFNIC’s database.3.5.4. Identification of a contact holderThis qualiifcation process is done by AFNIC through "off-line" procedures. Theimpact of a holder qualification status on the possible operations is described inthe procedure manual.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 71 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 723.5.5. Retrieve data of a contactThe command allows to obtain information on a "contact"object. Because of the particular management of these objects, some elementsare not present or have a different meaning than what is described in RFC 5733in the answer sent by the server. Here is the list: (adapted), (adapted), (deleted), (deleted), (deleted) and (deleted). Inaddition, an extension is necessary to take the identification data into account.The value of the element is the one of the registrar where theyare referenced at the time.The value of the element is always returned but must becarefully analysed due to the history of contacts at AFNIC.Another limitation different from RFC 5733, only the registrar associated to thecontact object can request its information.Example for this request:C:C:C: C: C: C: MO666C: C: C: une-reference-client-par-exempleC: C:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 72 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 73The server answer is as follows:Command completed successfullyMO666MO666-FRNICMobibus Outlaws7, avenue monchignonla Baule Escoublac44500FR+33.987654321toto@nic.fr-wuhgejav499-.fr-wuhgejav499-.fr2010-10-12T07:49:45.0Z2011-07-08T16:41:17.0Zok4441582650179105131472048712675PROD-nergal-11983-115-1314720487.7498Note that the status in the qualification process is indicated through the element for the eligibility and the elementfor the reachability.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 73 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 743.6. Notifications3.6.1. Managing the notification queueExample of a request to retrieve an awaiting message:C:C:C: C: C: une-reference-client-par-exempleC: C:The request to acknowledge the receipt that the message was taken intoaccount by the client of the message in the waiting queue is as follows:C:C:C: C: C: une-reference-client-par-exempleC: C:Example of the answer sent by the server (we consider this is the onlyawaiting message):S:S:S: S: S: Command completed successfullyS: S: S: S: une-reference-client-par-exempleS: frnic-00000006S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 74 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 753.6.2. Asynchronous notificationsIn this chapter we will give notification examples for:• Transfer agreement (incoming registrar)• Transfer finished (incoming registrar)• Transfer rejected (incoming registrar)• Trade finished (incoming registrar)• Delete finished• Restore finished• Create finished• Update [admin] finished• Update [context] finished• Transfer agreement (incoming registrar)S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2008-12-26T00:00:01.0ZS: Transfer approved.S: S: S: S: ndd-de-test-0001.frS: clientApprovedS: BEentrantIDS: 2008-12-25T00:00:00.0ZS: BEsortantIDS: 2008-12-26T00:00:00.0ZS: S: S: S: frnic-00000010S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 75 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 76• Transfer finished (incoming registrar)S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2008-12-26T00:01:00.0ZS: Transfer completed.S: S: S: S: ndd-de-test-0001.frS: S: une-reference-client-par-exempleS: frnic-00000007S: S: 2008-12-26T00:01:00.0ZS: S: S: S: frnic-00000012S: S: S:• transfer rejected (incoming registrar)S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2008-12-26T00:00:01.0ZS: Transfer rejected.S: S: S: S: ndd-de-test-0001.frS: clientRejectedS: BEentrantIDS: 2008-12-25T00:00:00.0ZS: BEsortantIDS: 2009-01-16T00:00:00.0ZS: S: S: S: frnic-00000010S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 76 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 77• trade finished (incoming registrar)S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-01-03T00:00:00.0ZS: Trade completed.S: S: S: S: ndd-de-test-0001.frS: S: une-reference-client-par-exempleS: frnic-00000011S: S: 2009-01-03T00:00:00.0ZS: S: S: S: frnic-00000015S: S: S:• delete finishedS:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-01-03T00:00:00.0ZS: Deletion completed.S: S: S: S: ndd-de-test0001.frS: S: une-reference-client-par-exempleS: frnic-00000005S: S: 2009-01-03T00:00:00.0ZS: S: S: S: FRNIC-27244-CLIENT-1254926575S: TEST-kenobi-6435-29-1254926575.803S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 77 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 78• restore finishedS:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-01-03T00:00:00.0ZS: Deletion aborted. Domain successfully restored.S: S: S: S: ndd-de-test0001.frS: S: une-reference-client-par-exempleS: frnic-00000005S: S: 2009-01-03T00:00:00.0ZS: S: S: S: FooBarS: frnic-00000025S: S: S:S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2010-06-04T09:11:27.0ZS: Pending update (restore) completed successfully.S: S: S: S: ndd-de-test0001.frS: S: FRNIC-27195-CLIENT-1275642606S: DEV-photon-26192-3-1275642606.46913S: S: 2010-06-04T09:10:15.0ZS: S: S: S: FRNIC-27404-CLIENT-1275643628S: DEV-photon-27325-3-1275643628.62759S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 78 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 79• create finishedS:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2010-06-03T15:23:23.0ZS: Pending creation completed successfully.S: S: S: S: dom-epp-wytxubuz.frS: S: FRNIC-18673-CLIENT-1275578515S: DEV-photon-18294-4-1275578517.15639S: S: 2010-06-03T15:22:09.0ZS: S: S: S: FRNIC-18687-CLIENT-1275578623S: DEV-photon-18318-12-1275578623.9696S: S: S:• update [admin] finishedS:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2010-06-04T10:30:28.0ZS: Pending update (contacts) completed successfully.S: S: S: S: dom-epp-hyclebod.frS: S: FRNIC-27901-CLIENT-1275647287S: DEV-photon-27377-4-1275647289.31733S: S: 2010-06-04T10:28:32.0ZS: S: S: S: FRNIC-27920-CLIENT-1275647486S: DEV-photon-27344-7-1275647486.82448S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 79 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 80• update [context] finishedS:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2010-06-04T09:52:28.0ZS: Pending update (hold/authInfo) completed successfully.S: S: S: S: dom-epp-hyclebod.frS: S: FRNIC-27505-CLIENT-1275645007S: DEV-photon-27393-9-1275645009.72202S: S: 2010-06-04T09:50:28.0ZS: S: S: S: FRNIC-27522-CLIENT-1275645283S: DEV-photon-27331-8-1275645283.06911S: S: S:3.6.3. Exogenous notificationsIn this chapter we will give notification examples for:• Transfer requested (outgoing registrar)• Transfer agreement (incoming registrar)• Transfer finished (outgoing registrar)• Transfer canceled• Trade initiated (outgoing registrar)• Trade outgoing holder agreement• Trade incoming holder agreement• Trade incoming and outgoing holder agreement• Trade finished (outgoing registrar)• Trade canceled• Recover finished (outgoing registrar)• Start of qualification procedure• End of qualification procedure• Switch to substantiation procedure• Suspension of a domain name• Blocking of a domain name• Unblocking of a domain name• End of the Substantiation procedure with deletion of the portfolio• positive outcome of the Substantiation procedure with unblocking of theportfolio and updating of the WHOIS database• Contact deletionAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 80 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 81• Transfer requested (outgoing registrar)S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2008-12-25T00:02:00.0ZS: Transfer requested.S: S: S: S: ndd-de-test-0001.frS: pendingS: BEentrantIDS: 2008-12-25T00:00:00.0ZS: BEsortantIDS: 2009-01-02T00:00:00.0ZS: S: S: S: une-reference-client-du-BEactuel-par-exempleS: frnic-00000008S: S: S:• Transfer agreement (incoming registrar)S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-10-06T16:27:19.0ZS: Transfer approved.S: S: S: S: ndd-de-test-001.frS: clientApprovedS: BEentrantIDS: 2009-10-06T16:27:08.0ZS: BEsortantIDS: 2009-10-06T16:27:19.0ZS: S: S: S: une-reference-client-du-BEactuel-par-exempleS: frnic-00000008S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 81 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 82• Transfer finished (outgoing registrar)S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-10-06T16:27:20.0ZS: Transfer completed.S: S: S: S: ndd-de-test-001.frS: clientApprovedS: TEST_2S: 2009-10-06T16:27:08.0ZS: TESTS: 2009-10-06T16:27:20.0ZS: S: S: S: FRNIC-17331-CLIENT-1254902552S: DEV-photon-17205-4-1254902552.81518S: S: S:• Transfer canceled (outgoing registrar)S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-10-07T14:18:33.0ZS: Transfer aborted.S: S: S: S: ndd-de-test-001.frS: clientCancelledS: -huqlycuw772-.frS: 2009-10-07T14:18:31.0ZS: -huqlycuw772-.frS: 2009-10-07T14:18:33.0ZS: S: S: S: FRNIC-27244-CLIENT-1254926575S: TEST-kenobi-6591-24-1254926575.49702S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 82 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 83• Transfer canceled (incoming registrar)S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-10-07T14:18:33.0ZS: Transfer aborted.S: S: S: S: ndd-de-test-001.frS: S: FRNIC-25860-CLIENT-1254925111S: TEST-kenobi-5723-27-1254925111.01848S: S: 2009-10-07T14:18:31.0ZS: S: S: S: FRNIC-27244-CLIENT-1254926575S: TEST-kenobi-6435-29-1254926575.803S: S: S:• Trade initiated (outgoing registrar)S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-12-25T00:02:00.0ZS: Trade requested.S: S: S: S: S: S: S: ndd-de-test-0001.frS: pendingS: BEdemandeurIDS: 2009-01-01T00:00:00.0ZS: 2009-01-16T00:00:00.0ZS: BEactuelIDS: MM4567S: 2009-01-16T00:00:00.0ZS: S: S: S: S: S: S: une-reference-client-du-BEactuel-par-exempleS: frnic-00000012S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 83 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 84• Trade outgoing holder agreementS:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-01-02T00:00:01.0ZS: Trade in progress.S: S: S: S: S: S: S: ndd-de-test-0001.frS: oldHolderApprovedS: BEdemandeurIDS: 2009-01-01T00:00:00.0ZS: 2009-01-16T00:00:00.0ZS: BEactuelIDS: MM4567S: 2009-01-02T00:00:00.0ZS: S: S: S: S: S: S: une-reference-client-du-BEactuel-par-exempleS: frnic-00000013S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 84 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 85• Trade incoming holder agreementS:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2010-05-28T16:06:25.0ZS: Trade in progress.S: S: S: S: S: S: S: gateway-dev-1275062768-286.frS: newHolderApprovedS: -naqjanir666-.frS: 2010-05-28T16:06:18.0ZS: IP649S: 2010-05-28T16:06:25.0ZS: TESTS: 2010-06-12T16:06:18.0ZS: S: S: S: S: S: S: FRNIC-25057-CLIENT-1275400281S: DEV-photon-23773-7-1275400281.18398S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 85 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 86• Trade outgoing and incoming holder agreementS:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-01-03T00:00:00.0ZS: Trade in progress.S: S: S: S: S: S: S: ndd-de-test-0001.frS: holdersApprovedS: BEdemandeurIDS: 2009-01-01T00:00:00.0ZS: 2009-01-03T00:00:00.0ZS: BEactuelIDS: MM4567S: 2009-01-02T00:00:00.0ZS: S: S: S: S: S: S: une-reference-client-du-BEactuel-par-exempleS: frnic-00000014S: S: S:• Trade finished (outgoing registrar)S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-08-28T14:49:55.0ZS: Trade completed.S: S: S: S: S: S: S: ventedentreprise.frS: clientApprovedS: -ryjzifyz909-.frS: 2009-08-28T15:54:53.0ZS: -vycfazur780-.frS: S: S: S: S: S: S: PROD-nergal-8234-51-1251471004.60964S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 86 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 87• Trade canceled (outgoing registrar)S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-05-13T01:10:05.0ZS: Trade aborted.S: S: S: S: S: S: S: moskitul.frS: clientCancelledS: -xanmaqub851-.frS: 2009-04-27T14:49:37.0ZS: 2009-05-12T12:49:37.0ZS: 2009-05-12T12:49:37.0ZS: S: S: S: S: S: S: PROD-nergal-6724-12-1251461542.74779S: S: S:• Recover finished (outgoing registrar)S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2010-04-15T02:20:50.0ZS: Recover completed.S: S: S: S: S: S: S: identification-histo-problem.frS: -hexfyreg992-.frS: 2010-04-15T02:20:48.0ZS: NFC11S: TESTS: S: S: S: S: S: S: FRNIC-25906-CLIENT-1275402635S: DEV-photon-25788-3-1275402635.52974S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 87 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 88• Start of qualification procedureS:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2011-08-29T15:13:00.0ZS: Qualification process begins.S: S: S: S: S: S: S: ZNE51S: S: S: pendingS: S: 493020995S: S: S: pendingS: +33.123456789S: toto@nic.frS: S: S: S: S: S: S: S: PROD-nergal-11934-8-1914719304.12345S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 88 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 89• End of qualification procedureIf reachability and/or eligibility checks succeedS:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2011-08-29T15:14:00.0ZS: Qualification process finished.S: S: S: S: S: S: S: ZNE51S: S: S: okS: S: 493020995S: S: S: okS: toto@nic.frS: S: S: S: S: S: S: S: PROD-nergal-11934-8-1914719404.12345S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 89 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 90If reachability and/or eligibility checks failS:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2011-08-29T15:14:00.0ZS: Qualification process finished.S: S: S: S: S: S: S: ZNE51S: S: S: koS: S: 493020995S: S: S: okS: toto@nic.frS: S: S: S: S: S: S: S: PROD-nergal-11934-8-1914719404.12345S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 90 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 91• Switch to substantiation procedureIn the event of a complaint, or a report without being able to check theeligibility and reachability data, or contact details that are implausible.S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2011-08-29T15:14:00.0ZS: Qualification process in progress.S: S: S: S: S: S: S: ZNE51S: S: S: koS: S: 493020995S: S: S: okS: toto@nic.frS: S: S: S: S: S: S: S: PROD-nergal-11934-9-1914819404.12345S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 91 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 92• Suspension of a domain nameCAUTION: this notification is sent as many times as there aresuspended domain names.S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-05-05T07:52:50.0ZS: Holder qualification status prevents some operations.S: S: S: S: nic.frS: DOM000002018460-FRNICS: S: XXX1234S: -rocfisor895-.frS: S: S: S: S: S: S: S: S: S: S: S: S: S: S: FRNIC-31789-CLIENT-1241510727S: DEV-photon-31648-2-1241510727.18924S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 92 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 93• Blocking of a domain nameCAUTION: this notification is sent as many times as there areblocked domain names.S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-05-05T07:52:50.0ZS: Holder qualification status prevents some operations.S: S: S: S: nic.frS: DOM000002018460-FRNICS: S: S: S: S: XXX1234S: -rocfisor895-.frS: S: S: S: S: S: S: S: S: S: S: S: S: S: S: FRNIC-31789-CLIENT-1241510727S: DEV-photon-31648-2-1241510727.18924S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 93 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 94• Unblocking of a domain nameThe status of the domain names switches from serverHold toserverProhibited if the unblocking does not correspond to the end of theSubstantiation procedure.The status of the domain names switches from serverHold to ok if theunblocking corresponds to positive outcome of the Substantiation procedure.CAUTION: this notification is sent as many times as there are domainnames.S:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2011-11-10T06:42:50.0ZS: Holder qualification status doesn't prevent operations anylonger.S: S: S: S: nomdomaine1.frS: DOM000001978303-FRNICS: S: BVJN1S: BLST1S: BLST1S: TESTS: 2011-11-10T06:42:48.0ZS: 2012-11-10T00:00:00.0ZS: 2011-11-10T06:42:48.0ZS: S: authInfoS: S: S: S: S: DOM000001978303-FRNICS: DEV-photon-2257-3-1320930348.06826S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 94 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 95• End of the Substantiation procedure with deletion of the portfolioNotification of the end of the qualification procedure has already beendescribed earlier in this chapter. To this are added the notifications for thedeleted domain names.CAUTION: this notification is sent as many times as there are domainnames.S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2009-05-05T07:52:50.0ZS: Domain deletion after failure in qualificationprocess.S: S: S: S: nomdomaine1.frS: DOM000001978303-FRNICS: S: S: ET1323S: VL999S: VL666S: -wuhgejav499-.frS: S: WarlordZ666S: S: S: S: S: S: S: S: S: S: FRNIC-31789-CLIENT-1241510727S: DEV-photon-31648-2-1241510727.18924S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 95 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 96• Positive outcome of the Substantiation procedure with unblocking ofthe portfolio and updating of the WHOIS databaseThis case corresponds to the transmission of the notifications alreadydescribed (“If reachability and/or eligibility checks succeed” and“Unblocking of a domain name”).• Contact deletionS:S:S: S: S: Command completed successfully; ack to dequeueS: S: S: 2010-02-03T11:37:46.0ZS: Contact deletion completedS: S: S: S: BE408S: BE408-FRNICS: S: S: EpongeS: S: 1, rue de la mareS: ParisS: 75001S: FRS: S: S: +33.654321789S: titi@tutu.tataS: -huqlycuw772-.frS: -huqlycuw772-.frS: 2009-10-21T09:40:34.0ZS: 2009-10-21T09:40:34.0ZS: S: S: S: S: S: S: S: BobS: S: S: S: S: S: S: FRNIC-17859-CLIENT-1267782109S: TEST-kenobi-23883-5-1267782109.19864S: S: S:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 96 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 973.7. Return codes and error messsagesEventhough we strongly recommend to refer yourself to RFC 4930 that contains thecomplete list of all the return codes that can be sent by the EPP server following aclient command, we indicate further down the ones really implemented in ourserver. You will also find the list of error messages the server may return whennecessary.Correctly understanding the return codes is important. Their list will not evolve andthe codes are not ambiguous. As for the error messages it is not safe to script them.They can evolve with new administrative rules, some cases may be refined forinstance. Most of the time they will be associated to a part of the client request withthe problematic elements reproduced in the server answer. In addition, even if at thetime of writting this document, only the english language is available as a languagechoice, any new language will lead to the localisation of the messages. The returncodes are not impacted by this « problem ».Here is a message example returned by the server following an erroneouscommand:S:S:S: S: S: Parameter value policy errorS: S: S: dom-epp-defquruz-xucmexip.comS: S: not an AFNIC zoneS: S: S: S: S: FRNIC-11642-CLIENT-1254846489S: DEV-photon-11442-17-1254846489.34186S: S: S:3.7.1. Return codesReturn codes (element ) answer to a logic and are codedon 4 numbers. A problem with EPP is that the list is fixed and cannot beextended. Eventhough using a generic return code is possible and adding newcodes in the AFNIC extension, we have chosen to modify the sandard and add 3new codes to the existing list. The logic of the codes has been kept untouched.To recognize the new codes, you need to remember that the third number on theleft will alway be 9 ().You will also find in RFC 4930 the literal values associated to the codes that aresent in the element. If the server was to be localised, a correspondingtranslation would be given and the meaning of the heading would be kept.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 97 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 98The « 1000 series » corresponds to codes returned when the operation requestedby the client was taken into account.• 1000 : Is the normal return code for a command that was handlednormaly and totally executed and that is not part of other return codes inthis series.• 1001 : This code indicates the command was taken into account but thatits complete execution is delayed. The final result will be known later onand will sent in a message placed in the notification queue of theconcerned registrar(s). The number of commands for which this codewill be systematically returned is limited but would also be returnedwhen, for an unusual reason, the server should need to postpone theexecution of a command usually answering a 1000 code.• 1300 : This return code is reserved to the use of the command (inquestion mode) and indicates there are no awaiting messages.• 1301 : This code is also reserved for the command and will beused to indicate there is one message in the server answer and that thismessage is ready to be deleted of the message queue.• 1500 : This return code will be used to answer to the logout request() that was successful.The « 2000 series » corresponds to codes returned when a problem was detectedand that the command could not be taken normally into account.• 2000 : Code returned when the command is unknown.• 2001 : Code returned when a syntax error is found.• 2002 : Code returned when the received command, correct on a syntaxpoint of view, cannot be understood because of its context. For instance,if a logout command is received when the same client has not finishedthe connection phase...• 2003 : Code returned when a compulsory parameter is missing in thecommand. For instance, a command withoutthe element…• 2004 : Code returned when an element value is not within the limitsspecified by the EPP protocol. For instance, trying to create a domain "-too-much-dashes- -and-spaces.fr" will return this error.• 2101 : This code will be returned when the server will receive acommand incorrect on the EPP level but not present in ourimplementation. For instance the command.• 2102 : This code is returned when a command implemented on ourserver requested by a client includes an option not taken into account.• 2103 : This code is returned if the client send a command with anextension not know by the server.• 2106 : Code returned when a command is done on adomain name for which it is not possible. For instance, if the requestcomes from a registrar already in charge of the domain name.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 98 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 99• 2190 : Return code similar to 2106 but in the case of a command. (Code added by ourselves and not defined in the EPPstandard.• 2200 : Code returned during a login/password verification during theEPP server connection phase.• 2201 : Code returned when a command is being executed by a registrarwith no rights. For instance, a registrar that would try to send a "cancel"command on a outgoing domain name following a transfer operation.• 2202 : Code returned when the registrar requesting the command couldhave done so if he had given the correct authorizations. Typically, thiscode will be used during a transfer request when the password() is invalid.• 2300 : Code returned when a domain transfer command is sent and thedomain is alreay undergoing a transfer.• 2304 : Code returned when the status of an object is not compatible withthe command sent to the server. For instance, in case a technical updatecommand is sent for a deleted domain name under redemption.• 2305 : Code returned when a command cannot be executed becauserelations with other objects in the database are blocking. For instance,during a domain deletion request when some name servers are still beingused with this zone on other domain names managed by AFNIC.• 2306 : Code returned when the value of an element respects the EPPsyntax but does not respect a specific AFNIC rule. Most of the time thiserror will indicate the problematic element but also a message indicatingwhich rule was not respected. It is possible that this error messageshould not be present, as this code is being used as a value by default.The case where this code could be returned, for instance, is when anindividual contact with civil status data (a potential domain holder) willbe used as a technical contact during a command.• 2390 : This code is returned during a command when used on adomain name already undergoing a transmission.• 2391 : This code is returned when a cancel command or a information request is sent when there is no ongoing on this domain name.• 2400 : Code returned when an internal problem prevents a commandfrom being successfully completed. Normally this code should not bereturned often, its presence indicates there are some problems on ourregistration chain. In any case, it is wise to inform the AFNIC supportteam in case you find this error code.• 2500 : Code returned in a similar case to the 2400 code. In this case theserver decides to end the session. This case should not occur often.• 2501 : This code is returned if the phase cannot be completed.• 2502 : This code will be returned if, in the case the number of sessionsper registrar would be limited, that the limit has been reached when anew command is sent.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 99 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 1003.7.2. Error messagesThe list of messages further down corresponds to what will be indicated in theserver answer element . The complete list of messages can be found inRFC 4930, and may be suject to change. Some cases may be refined, somedissapear according to registration policy changes for example. For the moment,only an english version of these messages is available. In the future they may belocalized like the rest of the EPP server.The first list refers to errors that can be returned during domain nameoperations.• « not an AFNIC zone »• « zone is not opened for registration »• « domain name in use »• « domain name doesn't exist »• « domain name in use (deletion process) »• « domain name in use (deletion process, waiting for purge) »• « bad syntax »• « registry bad syntax »• « forbidden Name »• « city name (AFNIC authinfo mandatory) »• « special request (AFNIC authinfo mandatory) »• « protected Sub Level Domain (AFNIC authinfo mandatory) »• « protected label syntax (AFNIC authinfo mandatory) »• « no operation allowed on this domain name »• « authinfo value is not correct »• « authinfo/holder/registrar/domain relationship is invalid »• « legal entity infos seems to be incorrect »• « there are still subordinate hosts »• « registrant is not a sponsored contact »• « registrant is not a "physical person" »• « registrant seems to have a bad birth date »• « registrant seems to be under 18 »• « registrant seems to be too old »• « identification data problem »• « registrant is obsoleted »• « “physical persons” can only register .fr/.re domain names »• « admin contact has no E-Mail address »• « admin contact has no phone number »• « admin contact is not a sponsored contact »• « admin contact doesn't exist »• « admin contact is obsoleted »• « tech contact doesn't exist »• « tech contact is not a sponsored contact »• « potential holder physical person contact can't be used as a techcontact »Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 100 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 101• « other operation in progress »• « glue is needed for this name server »• « holder identification problem prevents it's usage »• « holder identification problem prevents operation »• « legal issue prevents operation »• « pending request prevents operation »• « mandatory admin or technical contact is missing »• « similar domain name already exists »• « domain name MUST have, at least, TWO different name servers »• « domain name MUST have either 0 or, at least, TWO different nameservers »The second list refers to errors that can be returned during contact operations.• « country code is illegal »• « country code is undefined »• « street is illegal »• « street is undefined »• « post code is illegal »• « post code is undefined »• « city is illegal »• « city is undefined »• « city cedex is illegal for this country »• « city cedex is illegal »• « birth place geographical check failure »• « non-profit announcePage mandatory if publishedDate present »• « non-profit publishedDate mandatory if announcePage present »• « can't update contact disclosure restriction for legal entitie holders »• « can't update contact disclosure restriction for tech class »• « can't update contact country code for tech class »• « can't update phone number »• « 'legalStatus' value is illegal »• « phone number is illegal »• « fax number is illegal »• « bogus organization contact without extended data. Should not exist.Must not be used in operations »• « waldec ID prohibited if 'legalStatus' is set to 'company' »• « non-profit publishedDate prohibited if 'legalStatus' is set to'company' »• « 'siren' or 'trademark' element missing while it's mandatory »• « 'trademark' element value seems to be syntaxically incorrect accordingAFNIC rules »• « role objects can't be updated through EPP interface »• « 'siren' element value seems to be syntaxically incorrect accordingAFNIC rules »• « contact handle is illegal »• « registrant doesn't exist »3.8. RFCsHere is a reminder of the RFCs to imperatively read on which our EPPimplemenntation was done:Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 101 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 102• RFC 3375 - protocole registry-registrar :http://www.ietf.org/rfc/rfc3375.txt• RFC 5730 – Extensible Provisioning Protocol (EPP) :http://www.ietf.org/rfc/rfc5730.txt• RFC 5731 - Domain Name Mapping : http://www.ietf.org/rfc/rfc5731.txt• RFC 5732 – Host Mapping : http://www.ietf.org/rfc/rfc5732.txt• RFC 5733 – Contact Mapping : http://www.ietf.org/rfc/rfc5733.txt• RFC 5734 - EPP over TCP : http://www.ietf.org/rfc/rfc5734.txt• RFC 3915 - Domain Registry Grace Period mapping :http://www.ietf.org/rfc/rfc3915.txt• RFC 5910 - Domain Name System (DNS) Security Extensions Mapping:http://www.rfc-editor.org/rfc/rfc5910.txt4. Web interface : the ticket system4.1. General principles on ticketsAll operations on the domain names via the Web interface and involving anasynchronous operation (update[tech], delete, trade, transfer) may be followedthrough a ticket and information message system sent by email.In AFNIC's internal information system, a ticket is sent as soon as a request isreceived by Web interface and considered as valid.A status system allows a follow-up on the evolution and handling of the operation.4.2. Ticket formatA ticket has a number un the form NIC0000000xxxxx/xxxxxx.It systematically has the fields DOMAINE=XXX, TICKET=numéro duticket,OPERATION=XXX and ETAT=XXX.Other fields may appear according to the operation.4.3. Description of all the ticketsSOperation S : Domain deletionExisting status : Fini (finished)S - FinishedFrom: NIC France Tickets Subject: FR-NIC, nom-de-domaine-concerne.fr: Fini[NIC00001234567]To: noc[Texte introductif]Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 102 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 103DOMAINE=nom-de-domaine-concerne.frOPERATION=SuppressionETAT=FiniTICKET=NIC00001234567/751825FORMULAIRE=4869407REFERENCE=NUMEROSEQUENCE=2[Texte conclusif]Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 103 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 104TOperation T : <strong>Technical</strong> modification on a domainExisting status : Abandonné (canceled), Fini (finished)T - FinishedFrom: domain@nic.frSubject: Re: FR-NIC, nom-de-domaine-concerne.fr: FormulaireOnline [1234567] TTo: noc| Infos sur l'opération et le bureau d'enregistrement| 1a. (C)réation (D)élégation (S)uppression.........: T| 1b. Code du bureau d'enregistrement...............: CODEBE| 1c. Mot de passe du bureau d'enregistrement.......: xxxxxxxx| 1e. Référence client..............................: refclient| 1f. Version formulaire............................: 2.5.0|| Infos sur le nom de domaine| 2a. Nom de domaine complet........................: nom-dedomaine-concerne.fr| [../..]| Serveur de nom primaire pour le domaine| 6a. Serveur primaire..............................: ns.exemple.fr| 6b. Adresse(s) IP du primaire.....................:|| Serveur(s) de nom secondaire pour le domaine| 7a. Serveur secondaire............................: nt.exemple.fr| 7b. Adresse(s) IP du secondaire...................:| 7c. Serveur secondaire............................:| 7d. Adresse(s) IP du secondaire...................:| 7e. Serveur secondaire............................:| 7f. Adresse(s) IP du secondaire...................:| 7g. Serveur secondaire............................:| 7h. Adresse(s) IP du secondaire...................:| 7j. Adresse(s) IP du secondaire...................:| 7k. Serveur secondaire............................:| 7l. Adresse(s) IP du secondaire...................:| 7m. Serveur secondaire............................:| 7n. Adresse(s) IP du secondaire...................:Bonjour,ZONE : nom-de-domaine-concerne.frNS : ns.exemple.frNS : nt.exemple.fr==> SUCCESS[Texte conclusif]Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 104 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 105T - CanceledFrom: domain@nic.frSubject: Re: FR-NIC, nom-de-domaine-concerne.fr: FormulaireOnline [1234567] TTo: noc| Infos sur l'opération et le bureau d'enregistrement| 1a. (C)réation (D)élégation (S)uppression.........: T| 1b. Code du bureau d'enregistrement...............: CODEBE| 1c. Mot de passe du bureau d'enregistrement.......: xxxxxxxx| 1e. Référence client..............................: refclient|| Infos sur le nom de domaine| 2a. Nom de domaine complet........................: nom-dedomaine-concerne.fr| [../..]| Serveur de nom primaire pour le domaine| 6a. Serveur primaire..............................: ns.exemple.fr| 6b. Adresse(s) IP du primaire.....................:|| Serveur(s) de nom secondaire pour le domaine| 7a. Serveur secondaire............................: nt.exemple.fr| 7b. Adresse(s) IP du secondaire...................:| 7c. Serveur secondaire............................:| 7d. Adresse(s) IP du secondaire...................:| 7e. Serveur secondaire............................:| 7f. Adresse(s) IP du secondaire...................:| 7g. Serveur secondaire............................:| 7h. Adresse(s) IP du secondaire...................:| 7i. Serveur secondaire............................:| 7j. Adresse(s) IP du secondaire...................:| 7k. Serveur secondaire............................:| 7l. Adresse(s) IP du secondaire...................:| 7m. Serveur secondaire............................:| 7n. Adresse(s) IP du secondaire...................:Bonjour,Le zone-check ne passe pas :f> Toutes les adresses IP doivent être distinctes| Conseil: ZoneCheck| To avoid losing all connectivity with the autoritative DNS in case of| network outage it is advised to host the DNS on different networks.|| Réf: IETF RFC2182 (Abstract)| The Domain Name System requires that multiple servers exist for every| delegated domain (zone). This document discusses the selection of| secondary servers for DNS zones. Both the physical and topological| location of each server are material considerations when selecting| secondary servers. The number of servers appropriate for a zone is also| discussed, and some general secondary server maintenance issues| considered.`----- -- -- - - -: Les serveurs de noms ns.exemple.fr., nt.exemple.fr.: utilisent la même adresse IP (10.0.0.1).`..... .. .. . . .=> générique==> ÉCHECVeuillez donc :- Verifier votre nouvelle configuration avec zone-checkPour cela vous pouvez utiliser sur l'url suivantehttp://www.afnic.fr/outils/zonecheck/zc.cgi?afnic&intro=t&explain=t&details=t&progress=counter&zone=nom-de-domaineconcerne.fr&ns0=ns.exemple.fr&ns1=nt.exemple.fr- REFAIRE une demande de modification (via le formulaire on-line ou viamel a l'adresse domain@nic.fr)[Texte conclusif]Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 105 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 106POperation P : Voluntary transmissionExisting status : Attente Mail (awaiting email validation),Abandonné (canceled), Fini (finished)From: NIC France Formulaire Online Subject: FR-NIC, nom-de-domaine-concerne.fr: Transmissiondemandee / Transmission requestedTo: noc bureau d’enregistrement sortant[English version below]Madame, Monsieur,Nous vous informons que nous avons reçu une demande de transmissiondu nom de domaine 'nom-de-domaine-concerne.fr', de Titulaire-sortantvers Titulaire-entrant.Nous sommes actuellement dans l'attente de la validation des cédantet repreneur.Sans réponse avant 15 jours, la demande sera abandonnée.[...]From: NIC France Formulaire Online Subject: FR-NIC, nom-de-domaine-concerne.fr: Transmissiondemandee / Transmission requestedTo: titulaire entrant[English version below]Madame, Monsieur,Nous vous informons que nous avons reçu une demande de transmissiondu nom de domaine 'nom-de-domaine-concerne.fr', de Titulaire-sortantvers Titulaire-entrant.Il semble que vous demandez à devenir le nouveau titulaire de ce nomde domaine.Afin d'accepter ou refuser cette transmission, veuillez cliquer l'undes liens suivants.-------------------------------------------------------------------------------ATTENTION:une fois que vous aurez cliqué sur un lien, vous ne pourrez pasmodifier votre réponse !-------------------------------------------------------------------------------- Acceptez cette transmission:http://...- Refusez cette transmission:http://...Faute de réponse avant 15 jours, la demande sera abandonnée.[...]Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 106 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 107From: NIC France Formulaire Online Subject: FR-NIC, nom-de-domaine-concerne.fr: Transmissiondemandee / Transmission requestedTo: titulaire sortant[English version below]Madame, Monsieur,Nous vous informons que nous avons reçu une demande de transmissiondu nom de domaine 'nom-de-domaine-concerne.fr', de Titulaire-sortantvers Titulaire-entrant.Il semble que vous soyez l'actuel titulaire de ce nom de domaine.Afin d'accepter ou refuser cette transmission, veuillez cliquer l'undes liens suivants.-------------------------------------------------------------------------------ATTENTION:une fois que vous aurez cliqué sur un lien, vous ne pourrez pasmodifier votre réponse !-------------------------------------------------------------------------------- Acceptez cette transmission:http://...- Refusez cette transmission:http://...Faute de réponse avant 15 jours, la demande sera abandonnée.[...]P – Awaiting Email ValidationFrom: NIC France Tickets Subject: FR-NIC, nom-de-domaine-concerne.fr: Attente Mail[NIC000012345678]To: noc[Texte introductif]DOMAINE=nom-de-domaine-concerne.frOPERATION=TransmissionETAT=Attente MailTICKET=NIC000012345678/123456FORMULAIRE=1234567REFERENCE=REFCLIENTNUMEROSEQUENCE=1La transmission demandée est en 'Attente Mail'.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 107 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 108P – CanceledFrom: NIC France Tickets Subject: FR-NIC, nom-de-domaine-concerne.fr: Abandonne[NIC000012345678]To: nocSystème de gestion des tickets :(Documentation = )DOMAINE=nom-de-domaine-concerne.frOPERATION=TransmissionETAT=AbandonneTICKET=NIC000012345678/123456FORMULAIRE=1234567REFERENCE=REFCLIENTNUMEROSEQUENCE=2Opération abandonnée.Expiration Delai 15 joursP - FinishedFrom: NIC France Tickets Subject: FR-NIC, nom-de-domaine-concerne.fr: Fini[NIC000012345678]To: nocSystème de gestion des tickets :(Documentation = )DOMAINE=nom-de-domaine-concerne.frOPERATION=TransmissionETAT=FiniTICKET=NIC000012345678/123456FORMULAIRE=1234567REFERENCE=REFCLIENTNUMEROSEQUENCE=3AUTH_INFO=XXXXX-111116ZZZZZ-00000TITU_NH=ABC123-FRNICTITU_KEY=ABCDEF-123TITU_MAIL=quelquun@example.example[Texte conclusif]Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 108 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 109POperation P : Forced transmissionExisting status : Attente Vérification (awaitingverification), Fini (finished)P – Awaiting verificationFrom:Subject:To: noc(in progress)P - FinishedFrom: NIC France Tickets Subject: FR-NIC, nom-de-domaine-concerne.fr: Fini[NIC000012345678]To: nocSystème de gestion des tickets :(Documentation = )DOMAINE=nom-de-domaine-concerne.frOPERATION=TransmissionETAT=FiniTICKET=NIC000012345678/123456FORMULAIRE=1234567REFERENCE=REFCLIENTNUMEROSEQUENCE=2AUTH_INFO=XXXXX-111116ZZZZZ-00000TITU_NH=ABC123-FRNICTITU_KEY=ABCDEF-123TITU_MAIL=quelquun@example.exampleOpération effectuée.[Texte conclusif]Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 109 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 110DOperation D : Registrar changeExisting status : Attente Opposition (awaiting opposition), AttenteAccord (awaiting agreement), Abandonne(canceled), Attente Verification (awaitingverification), Fini (finished)D – Awaiting oppositionFrom: NIC France Tickets Subject: FR-NIC, nom-de-domaine-concerne.fr: AttenteOppositionTo: noc bureau d’enregistrement entrantMadame, Monsieur,Une demande de résiliation a été envoyée à l'ancien prestataire(AFNIC registry).Un délai de 8 jours lui est accordé, pour s'opposer à cetteopération.En cas de réponse favorable, ou faute de réponse à cette date, ladélégation sera transférée.En cas de réponse négative, le délai initial sera porte à 22 jours.Nous vous rappelons qu'il est du devoir de votre client d'informerson ancien prestataire de sa volonté de résilier la gestion de sondomaine. Ceci doit être fait par lettre recommandée avec accusé deréception.Dans l'intéret de tous et pour accélérer la procédure, nous vousdemandons de le rappeler à votre client.[Texte conclusif]D – Awaiting oppositionFrom: NIC France Tickets Subject: FR-NIC, nom-de-domaine-concerne: Attente OppositionTo: noc bureau d’enregistrement sortantMadame, Monsieur,Nous vous envoyons ce message pour vous signaler que nous avons reçuune demande de changement de prestataire sur le domaine :DOMAINE=nom-de-domaine-concerne.frOPERATION=Changement PETAT=Attente OppositionIl semble que ce soit votre Société (AFNIC registry) qui aitactuellement la gestion de ce domaine.En cas d'accord, veuillez renvoyer ce message à auto-ticket@nic.fren ne conservant que les lignes suivantes :[-------------------------------------------------------------------]Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 110 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 111AUTH=71C60595D551E2C3ACTION=ACCORD[-------------------------------------------------------------------]Ou en cas de désaccord, veuillez renvoyer ce message à autoticket@nic.fravant le 20/11/2009 en ne conservant que les lignes suivantes :[-------------------------------------------------------------------]AUTH=71C60595D551E2C3ACTION=OPPOSITION[-------------------------------------------------------------------]Faute de réponse dans les 8 jours suivant la saisie, la délégationsera transférée.[Texte conclusif]D – FinishedFrom: NIC France Tickets Subject: FR-NIC, nom-de-domaine-concerne.fr: Fini[NIC00001234567]To: noc bureau d’enregistrement entrant[Texte introductif]DOMAINE=nom-de-domaine-concerne.frOPERATION=Changement PETAT=FiniTICKET=NIC00001234567/484934FORMULAIRE=4869185REFERENCE=NUMEROSEQUENCE=3From: NIC France Tickets Subject: FR-NIC, nom-de-domaine-concerne.fr: DelegationResilieeTo: noc bureau d’enregistrement sortantMadame, Monsieur,Nous venons de changer la délégation du domaine nom-de-domaineconcerne.frau profit d'un nouveau prestataire.Pour que ce changement de délegation se déroule dans de bonnesconditions, nous vous demandons de rester "secondaire non officiel"le temps nécessaire à la propagation des nouvelles informations(au moins 5 jours).Si vos serveurs de nom étaient autoritaires pour le domaine sus-cité(en primaire ou secondaire), nous vous demandons de vous déclarersecondaire pour le domaine concerné et d'indiquer la machine[BUG] (DNS=[BUG]) comme origine.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 111 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 1125. Operations that can only be handled byemail/faxFor situations that require en email or fax answer, an email is sent fromauto-gdd@afnic.fr in addition to the information notification.5.1. Authorization code generationAuthorization code cance request notification :From: auto-gdd@afnic.frSubject: AFNIC - Notification d'abandon de la demande de generation decode pour ${domaine}To: nocBonjour,L'AFNIC vous informe que la demande de generation de code pour letitulaire ${titulaire.prenom} ${titulaire.nom} pour le nom de domaine${domaine} a été abandonné à votre demande.Nous restons à votre disposition pour tout autre renseignement.Cordialement,L'équipe Gestion des DomainesAFNICAuthorization code rejection notification :From: auto-gdd@afnic.frSubject: AFNIC - Notification de rejet de la demande de generation decode pour ${domaine}To : nocBonjour,L'AFNIC vous informe que la demande de generation de coded'autorisation pour le titulaire ${titulaire.prenom} ${titulaire.nom}pour le nom de domaine ${domaine} a été rejeté pour la raison suivante:${commentaire}Nous restons à votre disposition pour tout autre renseignement.Cordialement,L'équipe Gestion des DomainesAFNICAuthorization code generation notification :From: auto-gdd@afnic.frSubject: AFNIC - Notification de generation de code d'autorisation pour${domaine}To : nocBonjour,L'AFNIC vous informe que la demande de generation de code pour letitulaire ${titulaire.prenom} ${titulaire.nom}pour le nom de domaine ${domaine} a été acceptée.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 112 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 113Votre code d'autorisation est :${code}Nous restons à votre disposition pour tout autre renseignement.Cordialement,L'équipe Gestion des DomainesAFNIC5.2. Trade validationTrade validation by fax cancelation:From : auto-gdd@afnic.frSubject: AFNIC - Notification d'abandon de la demande de trade sur${domaine}To : nocBonjour,L'AFNIC vous informe que le ticket ${ticket.id} concernantle trade du domaine ${domaine} a été abandonné.Nous restons à votre disposition pour tout autre renseignement.Cordialement,L'équipe Gestion des DomainesAFNIC5.3. Notification of Monitoring of the Qualification ProcedureIn parallel to the EPP notifications, email notifications are sent to the registrars notusing EPP.Format of the email notifications for the launch of the qualification process:From: AFNIC Subject: AFNIC - Qualification ET1323-FRNIC - STATUS=startTo: noc[Introductory text]HOLDER=ET1323-FRNICSTATUS=start[End text]Format of the email notifications for the end of the qualification process:From: AFNIC Subject: AFNIC - Qualification ET1323-FRNIC - STATUS=finishedTo: noc[Introductory text]HOLDER=ET1323-FRNICSTATUS= finishedELIG=valeur_de_l_identifiant ou KOAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 113 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 114REACH=valeur_du_media_joignable (EMAIL/PHONE)[...][End text]Format of the email notification for a switch to "problem" status:From: AFNIC Subject: AFNIC - Qualification ET1323-FRNIC - STATUS=problemTo: noc[Introductory text]HOLDER=ET1323-FRNICSTATUS=problem[End text]5.4. Notification of Suspension, Blocking and Deletion ofDomain Name PortfolioAs explained above, when a procedure starts with a request for supportingdocuments, the domain names associated with the portfolio are then suspended.If there is no positive outcome in the first month after the switch to suspendedstatus, the domain names associated with the holder are blocked.If there is no positive outcome in the first month after the switch to blocked status,the domain names associated with the holder are deleted.If the portfolio is suspended / blocked / deleted, a notification email is sent to theregistrar and to the holder of the domain names in question.Format of the email notifications concerning the suspension / blocking / deletion ofa portfolio of domain names:From: AFNIC Subject: AFNIC - Qualification ET1323-FRNIC –Suspension/Blocking/Deletion of a portfolio of domain namesTo: noc[Introductory text]HOLDER=ET1323-FRNICSTATUS=problemDOMAIN=nomdedomaine1.frDOMAIN=nomdedomaine2.fr[...][End text]Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 114 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 1155.5. Substantiation emailWhether the registrar works with EPP or email, in the case of Substantiationprocedure, an email is sent by auto-gdd@afnic.fr to request additional informationin order to solve the problem.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 115 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 1166. DAS (Domain Availability Service)The Domain Availability Service (DAS) is preferred to the EPP command .This service leans upon a standard whose technical specifications can be found in:• RFC5144 (A Domain Availability Check (DCHK) Registry Type for theInternet Registry Information Service (IRIS)), for a description of the datastructures implemented,• RFC 4993 (A Lightweight UDP Transfer Protocol for the Internet RegistryInformation Service) for a description of the transport protocol6.1. Parameters to interrogate the service• in production, the server name and port number are not necessary withautomatic discovery.Eg: dchk afnic.fr• on the sandbox, it is necessary to indicate the test server: dchk.test.nic.fr andport number: 715Eg: dchk-h-p 715 dchk.test.nic.fr nic.fr6.2. The information available6.2.1. Validity of the domain testedThe first tests concern the validity of the domain name. A specific error code isreturned when the name syntax is not correct, either by the presence of invalidcharacters or the fact of a specific rule to AFNIC (domain names with one letter forexample).6.2.2. domain nameThis is the primary function of this service. Once the answer is "nameNotFound",the registrar is absolutly certain that the domain name may be registered and willhave no special restrictions on registration. Moreover, in the case of an existingdomain name, states "redemptionPeriod" and "delete" respectively indicate thatthe domain name is in redemption period after a delete operation for the first andthe domain name will be destroyed in the hour for the second (redemption periodfinished on standby of Garbage Collector).Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 116 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 1176.2.3. State of DNS publicationWhen a domain name exists in the registry, the service discriminates that thedomain name is published or not in the DNS. If the status "active" is returned toa domain name, it means that it exists and is published in the DNS. The status"inactive" indicate that the field exists but is not published in DNS. Notehowever, DNS zones are updated once an hour, and during this time, a domainname in the status "active" may not yet have been published and not to be foundfollowing a request DNS.6.2.4. Information on restrictions relating to this domain nameWhether registered or not, a domain name may be subject to certain limitationsin the registration. Some are irrevocable, others require authorization codes. Inboth cases, we were obliged to introduce "sub-status" specific to AFNIC inorder to bring more precision.• Reserved domain names (state "reserved") for which a procedure withauthorization code is required.• "city" specifies that the name is reserved for a town.• "special" / "sld" / "protectedLabel" for specific legal frameworks.• Another type of restriction (state "policyNonCompliant")• "forbidden" indicates that the name can never be registered.• "equivalentExists" indicates that a domain name with the same labelalready exists in the area.6.2.5. Key dates on existing domain namesUp to three dates can be answered for a domain name:• The creation date (createdDateTime) of domain name,• the date of last modification (lastDatabaseUpdateDateTime)• the expiration date of domain name (expirationDateTime)It is important to note that we use exactly the same format of date as for EPPserver. The dates are with format UTC.6.3. DAS and IDNAccounting for IDNs is an integral part of the existing DAS protocol used byAFNIC, namely IRIS:DCHK (RFC 5144); on the other hand, this protocol refersto the IDNA2003 standard. In the DAS protocol implemented by AFNIC(IDNA2008), the Nameprep step no longer exists. However, as discussed in the IDNparagraph, given the alphabet used, and in order to be consistent with our otherinterfaces and current uses at AFNIC, we also accept uppercase input.Association Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 117 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 118It is possible to query an IDN in its ASCII or Unicode form; on the other hand, the'entityClass' attribute of the element will not be the same. In thecase of an ASCII form, indicate "domain-name"; in the case of a Unicode form,indicate "idn". This is not specific to AFNIC, so if your client code complies withthe RFC, no change is to be expected.The answer, in the case of an IDN query, will contain an additional element, namely containing the Unicode version of the domain name. On the other hand,unlike the domain name entered, only the 67 characters listed above will be used asoutput (no capitals). The element of the answer will alwayscontain the ASCII form of the domain name. The values of the 'entityClass' and'entityName' attributes in the answer will be identical to those in the query.6.4. Examples6.4.1. Domain name that does not exist and is not subject to anyrestrictionsResquest:> dchk nic007.frAnswer:nic007.fr: freeAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 118 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 1196.4.2. Domain name subject to prior reviewRequest:> dchk nazis.frAnswer:nazis.fr: policyNoncompliantnazis.frlastDatabaseUpdateDateTimeforbiddenLegal issue6.4.3. Fanciful domain nameRequest:> dchk nic_france.frAnswer:nic_france.fr: invalidAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 119 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 1206.4.4. Domain name that exists and is not subject to any restrictionsRequest:> dchk nic.frAnswer:nic.fr: active [2011-01-21T22:24:31.0Z]nic.fr1994-12-31T23:00:00.0Z2011-01-21T22:24:31.0Z6.4.5. Deleted domain name in redemption periodRequest:> dchk ouais-okay-super.frAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 120 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 121Answer :ouais-okay-super.fr: redemptionPeriod [2011-04-04T09:21:04.0Z]ouais-okay-super.fr2010-03-03T16:35:07.0Z2011-05-04T09:21:04.0Z2011-04-04T09:21:04.0Z6.4.6. Existing domain name and subject to prior reviewRequest:> dchk paris.frAnswer:paris.fr: reserved [2006-10-05T15:58:33.0Z]paris.frcityCity name2001-07-11T22:00:00.0Z2006-10-05T15:58:33.0ZAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 121 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 1226.4.7. Query on different domains with differentRequest:> dchk nic007.fr afnic.fr --nic--.frAnswer:nic007.fr: freeafnic.fr: active [2009-11-09T15:47:45.0Z]--nic--.fr: invalid]afnic.fr2001-12-10T23:00:00.0Z2009-11-09T15:47:45.0ZAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 122 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 1236.4.8. IDN query in its Unicode formRequest:> dchk àáâãäåæçèéêëìíîïñòóôõöœßùúûüýÿ.frAnswer:àáâãäåæçèéêëìíîïñòóôõöœßùúûüýÿ.fr: active [2012-01-20T13:16:24.0Z] xn--zcabdefghijklmnopqr0btuvwx7eza0a1a2a2dx0o.fràáâãäåæçèéêëìíîïñòóôõöœßùúûüýÿ.fr2012-01-20T13:16:24.0Z2012-01-20T13:16:24.0Z6.4.9. IDN query in its ACE formRequest:> dchk xn--zcabdefghijklmnopqr0btuvwx7eza0a1a2a2dx0o.frAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 123 -November 2009


TECHNICAL INTEGRATION GUIDE – February 25th, 2013 124Answer :xn--zcabdefghijklmnopqr0btuvwx7eza0a1a2a2dx0o.fr: active [2012-01-20T13:16:24.0Z] xn--zcabdefghijklmnopqr0btuvwx7eza0a1a2a2dx0o.fràáâãäåæçèéêëìíîïñòóôõöœßùúûüýÿ.fr2012-01-20T13:16:24.0Z2012-01-20T13:16:24.0ZAssociation Française pour le Nommage Internet en Coopération | www.afnic.fr | contact@afnic.frTwitter : @AFNIC | Facebook : afnic.fr<strong>Technical</strong> <strong>Integration</strong> <strong>Guide</strong>- 124 -November 2009

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!