Internet Engineering Task Force G. Lozano Internet-Draft ICANN Intended status: Standards Track June 24, 2016 Expires: December 26, 2016 RDAP Transformation of Contact Information draft-lozano-regext-rdap-transf-contact-inf-00 Abstract This document adds support for RDAP Transformation (i.e. translation and transliteration) of Contact Information. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on December 26, 2016. Copyright Notice Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Lozano Expires December 26, 2016 [Page 1] Internet-Draft RDAP Transformation of Contact Information June 2016 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. RDAP Conformance object . . . . . . . . . . . . . . . . . . . 2 3. Transformation object class . . . . . . . . . . . . . . . . . 3 4. Transformations object class . . . . . . . . . . . . . . . . 3 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 8.1. Normative References . . . . . . . . . . . . . . . . . . 11 8.2. Informative References . . . . . . . . . . . . . . . . . 11 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 11 1. Introduction Generic TLDs (gTLDs) Domain Name Registries and Registrars operating according to an agreement with the Internet Corporation for Assigned Names and Numbers (ICANN), are required to follow ICANN Consensus Policies. On 2015/09/28, the ICANN Board adopted the GNSO Council Policy Recommendations concerning the translation and transliteration of contact information as presented in the "Final Report on the Translation and Transliteration of Contact Information Policy Development Process" (T&T Report, see [TTOCI]). The T&T Report recommends: 1. Contact information that has been transformed (i.e. transliteration or translated) must be marked as such and their source(s) indicated. This specification is intended to be used by gTLD Domain Name Registries and Registrars in order to support this recommendation. 2. RDAP Conformance object A server that conforms to this specification MUST include the string literal "rdap_transformation_of_contact_information" in the "rdapConformance" member of the topmost JSON object of all responses provided by the server. An example of a rdapConformance data structure including this extension: Lozano Expires December 26, 2016 [Page 2] Internet-Draft RDAP Transformation of Contact Information June 2016 "rdapConformance" : [ "rdap_level_0", "rdap_transformation_of_contact_information" ] 3. Transformation object class A transformation object class represents the transformation (i.e. transliteration or translation) of an entity object. The transformation object class uses jCard [RFC7095] to represent contact information, such as postal addresses, email addresses, phone numbers and names of organizations and individuals. Many of the types of information that can be represented with jCard have no use in RDAP, such as birthdays, anniversaries, and gender. The transformation object class contains the following members: o objectClassName -- the string "transformation". o vcardArray -- a jCard with the entity's contact information. The language property MUST be included in the jCard object in case of a translation in order to indicate the language that the contact information was translated to. o sourceOfTransformation -- a string containing the source of the transformation. The possible values of sourceOfTransformation are: registry, registrar or reseller. o typeOfTransformation -- a string containing the type of the transformation. The possible values of typeOfTransformation are: translation or transliteration. o An OPTIONAL transliterationStandard -- a string containing the standard (e.g. ISO 9, ISO 7098, etc.) used for the transliteration. This element MUST be present if typeOfTransformation is transliteration. 4. Transformations object class The transformations object is an array of transformation objects (defined in Section 3) included in an entity object. If a transformations object is included, the parent entity object MUST show the contact information as originally inputted by the user. The following is an example of a JSON domain object, that includes a transformations object, representing a forward DNS delegation point that might be served by a DNR. Lozano Expires December 26, 2016 [Page 3] Internet-Draft RDAP Transformation of Contact Information June 2016 { "objectClassName":"domain", "handle":"XXXX", "ldhName":"xn--fo-5ja.example", "unicodeName":"foo.example", "variants":[ { "relation":[ "registered", "conjoined" ], "variantNames":[ { "ldhName":"xn--fo-cka.example", "unicodeName":"foo.example" }, { "ldhName":"xn--fo-fka.example", "unicodeName":"foo.example" } ] }, { "relation":[ "unregistered", "registration restricted" ], "idnTable":".EXAMPLE Swedish", "variantNames":[ { "ldhName":"xn--fo-8ja.example", "unicodeName":"foo.example" } ] } ], "status":[ "locked", "transfer prohibited" ], "publicIds":[ { "type":"ENS_Auth ID", "identifier":"1234567890" } ], "nameservers":[ { Lozano Expires December 26, 2016 [Page 4] Internet-Draft RDAP Transformation of Contact Information June 2016 "objectClassName":"nameserver", "handle":"XXXX", "ldhName":"ns1.example.com", "status":[ "active" ], "ipAddresses":{ "v6":[ "2001:db8::123", "2001:db8::124" ], "v4":[ "192.0.2.1", "192.0.2.2" ] }, "remarks":[ { "description":[ "She sells sea shells down by the sea shore.", "Originally written by Terry Sullivan." ] } ], "links":[ { "value":"http://example.net/nameserver/XXXX", "rel":"self", "href":"http://example.net/nameserver/XXXX", "type":"application/rdap+json" } ], "events":[ { "eventAction":"registration", "eventDate":"1990-12-31T23:59:59Z" }, { "eventAction":"last changed", "eventDate":"1991-12-31T23:59:59Z" } ] }, { "objectClassName":"nameserver", "handle":"XXXX", "ldhName":"ns2.example.com", "status":[ Lozano Expires December 26, 2016 [Page 5] Internet-Draft RDAP Transformation of Contact Information June 2016 "active" ], "ipAddresses":{ "v6":[ "2001:db8::125", "2001:db8::126" ], "v4":[ "192.0.2.3", "192.0.2.4" ] }, "remarks":[ { "description":[ "She sells sea shells down by the sea shore.", "Originally written by Terry Sullivan." ] } ], "links":[ { "value":"http://example.net/nameserver/XXXX", "rel":"self", "href":"http://example.net/nameserver/XXXX", "type":"application/rdap+json" } ], "events":[ { "eventAction":"registration", "eventDate":"1990-12-31T23:59:59Z" }, { "eventAction":"last changed", "eventDate":"1991-12-31T23:59:59Z" } ] } ], "secureDNS":{ "zoneSigned":true, "delegationSigned":true, "maxSigLife":604800, "keyData":[ { "flags":257, "protocol":3, Lozano Expires December 26, 2016 [Page 6] Internet-Draft RDAP Transformation of Contact Information June 2016 "algorithm":1, "publicKey":"AQPJ////4Q==", "events":[ { "eventAction":"last changed", "eventDate":"2012-07-23T05:15:47Z" } ] } ] }, "remarks":[ { "description":[ "She sells sea shells down by the sea shore.", "Originally written by Terry Sullivan." ] } ], "links":[ { "value":"http://example.net/domain/XXXX", "rel":"self", "href":"http://example.net/domain/XXXX", "type":"application/rdap+json" } ], "port43":"whois.example.net", "events":[ { "eventAction":"registration", "eventDate":"1990-12-31T23:59:59Z" }, { "eventAction":"last changed", "eventDate":"1991-12-31T23:59:59Z", "eventActor":"joe@example.com" }, { "eventAction":"transfer", "eventDate":"1991-12-31T23:59:59Z", "eventActor":"joe@example.com" }, { "eventAction":"expiration", "eventDate":"2016-12-31T23:59:59Z", "eventActor":"joe@example.com" } Lozano Expires December 26, 2016 [Page 7] Internet-Draft RDAP Transformation of Contact Information June 2016 ], "entities":[ { "objectClassName":"entity", "handle":"XXXX", "vcardArray":[ "vcard", [ ["version", {}, "text", "4.0"], ["fn",{"language":"zh"},"text","王五"], ["adr", {"language":"zh"}, "text", [ "", "1827号", "1047 牛山珍护膝村", "连云港市", "江苏省", "中国" ] ], ["tel", {}, "uri", "tel:+86146-7515-1740" ], ["email", {}, "text", "王五@例.例" ] ] ], "transformations":[ { "objectClassName":"transformation", "vcardArray":[ "vcard", [ ["version", {}, "text", "4.0"], ["fn", {"language":"en"}, "text", "Wang Wu"], ["adr", {"language":"en"}, "text", [ "", "No. 1827", "1047 Niu Shan Zhen Hu Xi Cun", "Lianyungang City", "Jiangsu Province", "China" Lozano Expires December 26, 2016 [Page 8] Internet-Draft RDAP Transformation of Contact Information June 2016 ] ], ["tel", {}, "uri", "tel:+86146-7515-1740" ], ["email", {}, "text", "王五@例.例" ] ] ], "sourceOfTransformation":"registry", "typeOfTransformation":"translation" }, { "objectClassName":"transformation", "vcardArray":[ "vcard", [ ["version", {}, "text", "4.0"], ["fn",{"language":"sp"},"text","Wang Wu"], ["adr", {"language":"sp"}, "text", [ "", "No. 1827", "1047 Niu Shan Zhen Hu Xi Cun", "Ciudad Lianyungang", "Provincia Jiangsu", "China" ] ], ["tel", {}, "uri", "tel:+86146-7515-1740" ], ["email", {}, "text", "王五@例.例" ] ] ], "sourceOfTransformation":"registry", "typeOfTransformation":"translation" } ], "status":[ "validated", "locked" ], Lozano Expires December 26, 2016 [Page 9] Internet-Draft RDAP Transformation of Contact Information June 2016 "roles":[ "registrant" ], "remarks":[ { "description":[ "She sells sea shells down by the sea shore.", "Originally written by Terry Sullivan." ] } ], "links":[ { "value":"http://example.net/entity/xxxx", "rel":"self", "href":"http://example.net/entity/xxxx", "type":"application/rdap+json" } ], "events":[ { "eventAction":"registration", "eventDate":"1990-12-31T23:59:59Z" }, { "eventAction":"last changed", "eventDate":"1991-12-31T23:59:59Z" } ] } ] } 5. Acknowledgements TBD. 6. IANA Considerations TBD. 7. Security Considerations TBD. Lozano Expires December 26, 2016 [Page 10] Internet-Draft RDAP Transformation of Contact Information June 2016 8. References 8.1. Normative References [RFC7095] Kewisch, P., "jCard: The JSON Format for vCard", RFC 7095, DOI 10.17487/RFC7095, January 2014, . 8.2. Informative References [TTOCI] ICANN, "Final Report on the Translation and Transliteration of Contact Information Policy Development Process", June 2015, . Author's Address Gustavo Lozano ICANN 12025 Waterfront Drive, Suite 300 Los Angeles 90292 US Phone: +1.3103015800 Email: gustavo.lozano@icann.org Lozano Expires December 26, 2016 [Page 11]