DAS: Domain Availability Service

Afnic is providing a service in order to check a domain name's availability: DAS (Domain Availability Service).


This service should be preferred to the EPP command domain:check.

This service leans upon a standard whose technical specifications can be found in:

  • RFC5144 (A Domain Availability Check (DCHK) Registry Type for the Internet Registry Information Service (IRIS)), for a description of the data structures implemented,
  • RFC 4993 (A Lightweight UDP Transfer Protocol for the Internet Registry Information Service) for a description of the transport protocol

Parameters to interrogate the service

  • in production, the server name and port number are not necessary with automatic discovery.
    Eg: dchk afnic.fr
  • on the sandbox, it is necessary to indicate the test server: dchk.sandbox.nic.fr and port number: 715
    Eg: dchk-h-p 715 dchk.sandbox.nic.fr nic.fr

New features of the DAS v 2 :

  • Introduction of the "inactive" status. The current version still mentions "active" when the domain name is in the Registry. Now there is a distinction, like in the EPP system. This new status is also present if one of the two following status is mentioned.
  • Introduction of the "redemptionPeriod" and "delete" status
    • "redemptionPeriod" status: when the domain name is"DELETED" and in redemption period.  
    • "delete" status: when the redemption period is over and that the domain name is pending for its "final deletion"  of the system (Garbage Collector) ("disposition" means "pending"). In the first version of the DAS, in these cases, the server's answer was also "active". 
  • Addition of 3 dates:    
    • Domain name creation date (initial creation date, which is different from the anniversary date).  
    • Last update    
    • the date on which the domain is supposed to expire (the domain name status is “DELETED”).
As for EPP, the dates are in UTC. 
  • "Refining" of the status "reserved" and "policyNoncompliant". A capsule description (in english for the moment) has been added (the same used for EPP). "subStatus" has also been added.

 


Correction of a bug:

In the first version of the DAS, when the domain name had an incorrect format, the answer was not right.

  • 1st version with the incorrect answer:

dchk -v --ex __nic__.fr
[Request beautified]
< ?xml version="1.0" encoding="UTF-8"?>
< iris1:request xmlns:iris1="urn:ietf:params:xml:ns:iris1">
< iris1:searchSet>
< iris1:lookupEntity registryType="dchk1" entityClass="domain-name" entityName="__nic__.fr"/>
< /iris1:searchSet>
< /iris1:request>
[Response beautified]
< ?xml version="1.0" encoding="UTF-8" standalone="yes"?>
< iris:response xmlns:iris="urn:ietf:params:xml:ns:iris1">
< iris:resultSet>
< iris:answer>
< domain xmlns="urn:ietf:params:xml:ns:dchk1" authority="fr" registryType="dchk1" entityClass="domain-name" entityName="__nic__.fr">
< domainName>__nic__.fr
< status>
< reserved/>
< policyNoncompliant/>
< /status>
< /domain>
< /iris:answer>
< /iris:resultSet>
< /iris:response>

[Result]
__nic__.fr: policyNoncompliant
  • New version with the correct answer:

dchk -v --ex __nic__.fr
[Request beautified]
< ?xml version="1.0" encoding="UTF-8"?>
< iris1:request xmlns:iris1="urn:ietf:params:xml:ns:iris1">
< iris1:searchSet>
< iris1:lookupEntity registryType="dchk1" entityClass="domain-name" entityName="__nic__.fr"/>
< /iris1:searchSet>
< /iris1:request>

[Response beautified]
< ?xml version="1.0" encoding="UTF-8" standalone="yes"?>
< iris:response xmlns:iris="urn:ietf:params:xml:ns:iris1">
< iris:resultSet>
< iris:answer/>
< iris:invalidName/>
< /iris:resultSet>
< /iris:response>
[Result]
__nic__.fr: invalid

 

Connection/correspondence List for Checker/EPP errors:

  • When the registration is forbidden:

 

Form 2.5.0/EPP   subStatus Description
domaine_generique forbidden Legal issue
already_exist_equivalent equivalentExists Equivalent name in use
  •  When it's a reserved term (even if it is already registered):

Form 2.5.0/EPP   subStatus Description
domaine_reserve_commune city City name
domaine_reserve_special special Special request
domaine_reserve_sld sld Protected Sub Level Domain
domaine_reserve_convention protectedLabel Protected label syntax
 

Some examples:

 

  • Existing domain, published on the DNS:

 

< ?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
< iris:response xmlns:iris="urn:ietf:params:xml:ns:iris1">
< iris:resultSet>
< iris:answer>
< domain xmlns="urn:ietf:params:xml:ns:dchk1" authority="fr" registryType="dchk1" entityClass="domain-name" entityName="yahoo.fr">
< domainName>yahoo.fr
< status>
< active/>
< /status>
< createdDateTime>1996-09-19T22:00:00.0Z
< lastDatabaseUpdateDateTime>2007-09-13T06:11:33.0Z
< /domain>
< /iris:answer>
< /iris:resultSet>
< /iris:response>

 

  • Deleted domain in redemption period:

 

< ?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
< iris:response xmlns:iris="urn:ietf:params:xml:ns:iris1">
< iris:resultSet>
< iris:answer>
< domain xmlns="urn:ietf:params:xml:ns:dchk1" authority="fr" registryType="dchk1" entityClass="domain-name" entityName="ouais-okay-super.fr">
< domainName>ouais-okay-super.fr
< status>
< inactive/>
< redemptionPeriod/>
< /status>
< createdDateTime>2010-03-03T16:35:07.0Z
< expirationDateTime>2011-05-04T09:21:04.0Z
< lastDatabaseUpdateDateTime>2011-04-04T09:21:04.0Z
< /domain>
< /iris:answer>
< /iris:resultSet>
< /iris:response>

 

  • Deleted domain pending in Garbage Collector:

 

< ?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
< iris:response xmlns:iris="urn:ietf:params:xml:ns:iris1">
< iris:resultSet>
< iris:answer>
< domain xmlns="urn:ietf:params:xml:ns:dchk1" authority="fr" registryType="dchk1" entityClass="domain-name" entityName="floutchaploum-3000.fr">
< domainName>floutchaploum-3000.fr
< status>
< inactive/>
< delete disposition="pending"/>
< /status>
< createdDateTime>2010-02-18T16:59:32.0Z
< expirationDateTime>2010-03-20T16:59:43.0Z
< lastDatabaseUpdateDateTime>2010-02-18T16:59:43.0Z
< /domain>
< /iris:answer>
< /iris:resultSet>
< /iris:response>

 

  • Terms subject to prior review:
< ?xml version="1.0" encoding="UTF-8" standalone="yes"?>
< iris:response xmlns:iris="urn:ietf:params:xml:ns:iris1">
< iris:resultSet>
< iris:answer>
< domain xmlns="urn:ietf:params:xml:ns:dchk1" authority="fr" registryType="dchk1" entityClass="domain-name" entityName="nazi.fr">
< domainName>nazi.fr
< status>
< policyNoncompliant>
< subStatus authority="fr">forbidden
< description language="en">Legal issue
< /policyNoncompliant>
< /status>
< /domain>
< /iris:answer>
< /iris:resultSet>
< /iris:response>

< ?xml version="1.0" encoding="UTF-8" standalone="yes"?>
< iris:response xmlns:iris="urn:ietf:params:xml:ns:iris1">
< iris:resultSet>
< iris:answer>
< domain xmlns="urn:ietf:params:xml:ns:dchk1" authority="fr" registryType="dchk1" entityClass="domain-name" entityName="yahoo.com.fr">
< domainName>yahoo.com.fr
< status>
< policyNoncompliant>
< subStatus authority="fr">equivalentExists
< description language="en">Equivalent name in use
< /policyNoncompliant>
< /status>
< /domain>
< /iris:answer>
< /iris:resultSet>
< /iris:response>

 

  • Reserved terme:
< ?xml version="1.0" encoding="UTF-8" standalone="yes"?>
< iris:response xmlns:iris="urn:ietf:params:xml:ns:iris1">
< iris:resultSet>
< iris:answer>
< domain xmlns="urn:ietf:params:xml:ns:dchk1" authority="fr" registryType="dchk1" entityClass="domain-name" entityName="marseille.fr">
< domainName>marseille.fr
< status>
< active/>
< reserved>
< subStatus authority="fr">city
< description language="en">City name
< /reserved>
< /status>
< createdDateTime>2004-04-20T22:00:00.0Z
< lastDatabaseUpdateDateTime>2008-08-01T12:12:03.0Z
< /domain>
< /iris:answer>
< /iris:resultSet>
< /iris:response>

 

Top of the page