Simple Registration Reporting
Afilias
Toronto
Canada
jyee@afilias.info
Afilias
Horsham
PA
United States
jgalvin@afilias.info
Applications and Real-Time
Internet Engineering Task Force
template
Domain name registries and registrars report to each other by sharing bulk information through files. This document creates two IANA registries to create a standard reporting mechanism between domain name registries and registrars. The first IANA registry lists standard data elements and their syntax for inclusion in the files. The second IANA registry lists standard reports based on the standard data elements. Each report is a file formatted as a CSV file. The advantage of this reporting mechanism is that reports, each file, can be imported by recipients without any prior knowledge of their contents, although reporting is enhanced with a minimum of knowledge about the files. The mechanism for the transmission and reception of the files is a matter of local policy.
Introduction
Currently, domain name registry operators (the producer) create and set their own domain name registration reports for use by their registrars (the consumer). Among the distinctions that vary by producers is the syntax of the data provided, e.g., date formats, and the format of the collection of the data provided, e.g., the report may be a CSV file that tends to allow for straightforward importation or a PDF file that can be problematic to import. In addition, although there are a number of best practice reports that have evolved, these are not currently documented as such, which results in a fair amount of customization on the part of the consumers to import data.
This document standardizes the name and syntax of the data elements to be used across all existing domain name registration reports and creates an IANA registry of them to facilitate their evolution, including adding additional data elements as needed. In addition, a known set of existing standard reports using the aforementioned data elements is specified in another IANA registry to facilitate the evolution of the reports and adding additional report definitions as needed.
Each report definition MUST use the data elements defined here, including all future reports. Future reports and future data elements may be specified in their own individual documents, updating the IANA registries as needed.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119.
Data Element Specification
Data elements are grouped into categories for convenience. There is no other significance to the groupings.
Each data element conceptually represents the column heading in a printed report. It is a single unit of information that can be passed from the producer to the consumer. The primary purposes of the IANA registry of data elements are to ensure that each data element is assigned a unique name and that the syntax of each data element is specified.
The name of the data element MUST be unique and this characteristic MUST be enforced by registry. The name is used in the report definition (in the next section) to alert the consumer as to what to expect in the file and how to import the data element.
The field names MUST NOT contain any whitespace and MAY use US-ASCII underscores (_) as a separator.
The US-ASCII comma (,) and backslash (\) are special and MUST NOT appear in any field name or data element value. In order to include either character it must be quoted as follows.
- COMMA - to insert a comma precede it with a backslash thus (\,).
- BACKSLASH - to insert a backslash precede it with a backslash thus (\\).
The syntax of the data element MAY be whatever is appropriate for the information to be passed. In most cases it will be imported from other standard specifications where the data element is already defined for use in other protocols. In all cases the syntax restriction mentioned above MUST be respected.
The subsections below comprise an initial list of known data elements commonly being used between producers and consumers as of the date of publication of this document. The title of the subsection is the field name for the data element.
General Information Fields
TLD
The string of the top level domain involved that SHOULD be in A-LABEL format.
Server_TRID
The transaction identifier issued by EPP Server. The format MUST conform to “type:trIDStringType” as specified in RFC 5730.
Domain
This is the domain name in EPP RFC 5731 domain object and it SHOULD be in A-Label format.
Transaction_Type
The type of transform action made to the domain object (CREATE, DELETE, UPDATE, TRANSFER, RENEW) as specified in RFC 5730 Section 2.9.3
Ojbect_Type
The object type involved in the report. In the EPP environment, an object could be domain RFC 5731, contact RFC 5733, or host RFC 5732.
DateTime
The timestamp of the transaction recorded in the system. The date and time format follows the “type=dateTime” specification as defined in RFC 5731.
Term
The number of unit added to the domain registration period in "domain:period" RFC 5731 in create command or renew command. If there’s no "domain:period", it should take the default value set by the registry.
Fee
The amount of money charged or returned (shown as negative value) to the registrar. The numeric format MUST conform to the currency specified below in Section 2.1.9. The format must conform to “balanceType” as defined in RFC 8748
Currency
The currency used in the money charged as documented above in Section 2.1.18. It is recommended for currency code to follow ISO 4217standard.
Status
The status of domain object. It MUST be one of the values specified in RFC 5731 Section 2.3.
Registrar
The name of the registrar. This field is text/string with no naming convention enforced.
Period
The type of time (year, month) in ‘Term’ described above in Section 2.1.7
Description
Additional information regarding the current entry in the report. It is provided by the producer and its actual value is a matter of local policy.
Domain Price Fields
Domain_Create
The fee charged to create the domain. The format must conform to “balanceType” as defined in [draft-ietf-regext-epp-fees]
Domain_Renew
The fee charged to renew the domain. The format must conform to “balanceType” as defined in [draft-ietf-regext-epp-fees]
Domain_Transfer
The fee charged to transfer the domain. The format must conform to “balanceType” as defined in [draft-ietf-regext-epp-fees]
Domain_Restore
The fee charged to restore the domain. The format must conform to “balanceType” as defined in [draft-ietf-regext-epp-fees]
Timestamp Fields
Start_Date
The timestamp of when the domain object becomes available. The date and time format follows the “type=dateTime” specification as defined in RFC 5731.
Deleted_Date
The timestamp of when the domain was deleted by the end user. The date and time format follows the “type=dateTime” specification as defined in RFC 5731.
RGP_Date
The timestamp of when the domain will complete its redemption grace period. In BestPractice.domains, this is referred to as ‘expired’. The date and time format follows the “type=dateTime” specification as defined in RFC 5731.
Purge_Date
The timestamp of when the domain will be purged and become available again. In BestPractice.domains, this is referred to as ’purged’. The date and time format follows the “type=dateTime” specification as defined in RFC 5731.
Updated_Date
The timestamp of the last time the domain object was updated. In BestPractice.domains, this is referred to as ‘Updated’. The date and time format follows the “type=dateTime” specification as defined in RFC 5731.
Create_Date
The timestamp of the domain object was allocated. The date and time format follows the “type=dateTime” specification as defined in RFC 5731.
Expiry_Date
The timestamp of the domain object will expire. The date and time format follows the “type=dateTime” specification as defined in RFC 5731.
Registration Information Fields
Registrar_ID
The identifier assigned to the registrar. If the registrar is accredited under ICANN, it MUST be the registrar’s IANA ID. Otherwise it is a value known between the producer and the consumer.
Server_Registrant_ID
The identifier assigned to the contact object that is associated as registrant of the domain name that MUST conform to “clIDType” specified in RFC 5730.
DNSSEC
The value MUST be either ‘YES’ or ‘NO’ to indicate whether the domain is DNSSEC signed.
Server_Contact_ID
The identifier of the contact object assigned by registry system.
Contact_Type
The value MUST be one of value as defined by “contactAttrType” in RFC 5731.
Contact_Name
The name of the contact object. Usually it is the name of an individual or an organization as described in RFC 5733 Section 2.3
INUSE
MUST be either “YES” or “NO” to indicate whether the contact object is associated with a domain object.
Nameserver_Host
The full domain name of the host object. The name MUST be in A-Label format.
Nameserver_IP
The IP address of the host object. The syntax of the IPv4 address MUST conform to RFC 791. The syntax of the IPv6 address MUST conform to RFC 4291.
Client_Contact_ID
The identifier of the contact object assigned by registrar.
Report Definition Specification
Each report specification conceptually represents a file of comma separated values (commonly called a CSV file) where the values are selected from the data elements specified above. The first row of the file is a comma separated list of field names as specified in the data element registry. The remaining rows of the file are the unordered sets of data elements, one set per row, where each row is one transaction in the report.
Each data element conceptually represents the column heading in a printed report. The first row represents the column headings and each succeeding row represents a transaction of the report.
A consumer MUST be able to receive data elements that are not recognized and MAY skip them accordingly, both in the header row and in the transaction rows.
A report is specified in the report registry with two pieces of information. First is the name of the report. This can be whatever is appropriate as defined by the producer of the report. The name of the report MUST be unique and this characteristic MUST be enforced by registry.
Second is the ordered list of field names of what is included in the report. The field names MUST be listed in the data element registry specified above. The field names and the data MUST appear in the report in the order listed in the report registry.
The subsections below comprise an initial list of standard reports commonly being used between producers and consumers as of the data of publication of this document. The title of the subsection is the report name.
Transaction Report
Transaction Report Definition Table
Field |
Reference |
TLD |
RFC XXXX |
Server_TRID |
|
Domain |
|
DateTime |
|
Registrar_ID |
|
Registrar |
|
Transaction_Type |
|
Period |
|
Term |
|
Fee |
|
Currency |
|
Description |
|
Premium Name Report
Premium Name Report Definition Table
Field |
Reference |
TLD |
RFC XXXX |
Domain |
|
Status |
|
Description |
|
Currency |
|
Domain_Create |
|
Domain_Renew |
|
Domain_Transfer |
|
Domain_Restore |
|
Start_Date |
|
Domain RGP Report
Domain RGP Report Definition Table
Field |
Reference |
TLD |
RFC XXXX |
Domain |
|
Deleted_Date |
|
RGP_Date |
|
Purge_Date |
|
Reserved Domain Report
Reserved Domain Report Definition Table
Field |
Reference |
TLD |
RFC XXXX |
Domain |
|
Status |
|
Domain Inventory Report
Domain Inventory Report Definition Table
Field |
Reference |
TLD |
RFC XXXX |
Domain |
|
Updated_Date |
|
Registrar_ID |
|
Create_Date |
|
Expiry_Date |
|
Server_Registrant_ID |
|
DNSSEC |
|
Status |
|
Contact Inventory Report
Contact Inventory Report Definition Table
Field |
Reference |
Server_Contact_ID |
|
Client_Contact_ID |
|
TLD |
|
Domain |
|
Contact_Type |
|
Contact_Name |
|
Updated_Date |
|
INUSE |
|
Registrar_ID |
|
Host Inventory Report
Host Inventory Report Definition Table
Field |
Reference |
TLD |
RFCXXXX |
Nameserver_Host |
|
Nameserver_IP |
|
Acknowledgements
The authors would like to thank Roger Carney, Jody Kolker for their reviews and suggestions
IANA Considerations
This document asks IANA to create two new registries. Each registry is a first-come first-served registry.
DETAILS TO BE SPECIFIED AS THE DOCUMENT EVOLVES.
Field Definition
The field name must be unique and case insensitive.
PROPOSED FIELD NAME TABLE ENTRY. DETAILS TO BE SPECIFIED AS THE DOCUMENT EVOLVES.
- Name of field
- Enforced to be case-insensitive (if appropriate) unique
- Reference document defining the field, including section number
- Should be an RFC in many cases
- Registrant
- Will be IESG for initial entries
- Status
- MUST be active, inactive, unknown
Report Definition
The report name must be unique and case insensitive. that any future submission must not have the same case insensitive match with prior entry.
- Name of report
- Document Status
- Reference (including section number)
- Registrant: IESG
- TLD: any
- Status: active
Security Considerations
TBD
Internationalization Considerations
The character encoding for the file contents MUST use UTF-8.
References
Normative References
Key words for use in RFCs to Indicate Requirement Levels
In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.
Internet Protocol
IP Version 6 Addressing Architecture
Extensible Provisioning Protocol (EPP)
Extensible Provisioning Protocol (EPP) Domain Name Mapping
Extensible Provisioning Protocol (EPP) Host Mapping
Extensible Provisioning Protocol (EPP) Contact Mapping
Registry Fee Extension for the Extensible Provisioning Protocol
Informative References
Writing I-Ds and RFCs using XML
This memo presents a technique for using XML (Extensible Markup Language) as a source format for documents in the Internet-Drafts (I-Ds) and Request for Comments (RFC) series. This memo provides information for the Internet community.
Guidelines for Writing RFC Text on Security Considerations
All RFCs are required to have a Security Considerations section. Historically, such sections have been relatively weak. This document provides guidelines to RFC authors on how to write a good Security Considerations section. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.
Guidelines for Writing an IANA Considerations Section in RFCs
Many protocols make use of identifiers consisting of constants and other well-known values. Even after a protocol has been defined and deployment has begun, new values may need to be assigned (e.g., for a new option type in DHCP, or a new encryption or authentication transform for IPsec). To ensure that such quantities have consistent values and interpretations across all implementations, their assignment must be administered by a central authority. For IETF protocols, that role is provided by the Internet Assigned Numbers Authority (IANA).
In order for IANA to manage a given namespace prudently, it needs guidelines describing the conditions under which new values can be assigned or when modifications to existing values can be made. If IANA is expected to play a role in the management of a namespace, IANA must be given clear and concise instructions describing that role. This document discusses issues that should be considered in formulating a policy for assigning values to a namespace and provides guidelines for authors on the specific text that must be included in documents that place demands on IANA.
This document obsoletes RFC 2434. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.
ISO 4217 Currency Codes
International Organization for Standardization
File Naming Convention
TBD on file naming convention suggestion