<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
There has to be one entity for each item to be referenced. 
An alternate method (rfc include) is described in the references. -->

<!ENTITY RFC7095 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7095.xml">

]>

<?rfc toc="yes"?>
<?rfc strict="yes"?>
<?rfc tocompact="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="yes"?>
<?rfc tocdepth="2"?>
<?rfc symrefs="yes"?>
<?rfc comments="yes" ?>
<?rfc sortrefs="yes" ?>

<rfc category="std" ipr="trust200902" docName="draft-lozano-regext-rdap-transf-contact-inf-00">
  <front>
    <title abbrev="RDAP Transformation of Contact Information">RDAP Transformation of Contact Information</title>
    
    <!-- add 'role="editor"' below for the editors if appropriate -->
    
    <!-- Another author who claims to be an editor -->
    <author fullname="Gustavo Lozano" initials="G." surname="Lozano">
      <organization>ICANN</organization>
      
      <address>
        <postal>
          <street>12025 Waterfront Drive, Suite 300</street>
          <city>Los Angeles</city>
          
          <code>90292</code>
          
          <country>US</country>
        </postal>
        
        <phone>+1.3103015800</phone>
        
        <email>gustavo.lozano@icann.org</email>
        
      </address>
    </author>
    
    <date day="24" month="Jun" year="2016"/>
    
    <!-- Meta-data Declarations -->
    
    <area>Applications</area>
    
    <workgroup>Internet Engineering Task Force</workgroup>
    
    <keyword>RDAP gTLD translation transliteration</keyword>
    
    <abstract>
      <t>
        This document adds support for RDAP Transformation (i.e. translation and transliteration) of Contact Information.
      </t>  
    </abstract>
  </front>
  
  <middle>
    
    <section anchor="introduction" title="Introduction">
      
      <t>
        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. 
      </t>
      <t>
      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&amp;T Report, see <xref target="TTOCI"/>).
      </t>
      <t>
        The T&amp;T Report recommends:
        <list style='numbers'>
          <t>
            Contact information that has been transformed (i.e. transliteration or translated) 
            must be marked as such and their source(s) indicated.
          </t>
        </list>
      </t>
      
      <t>
        This specification is intended to be used by gTLD Domain Name Registries and Registrars in order 
        to support this recommendation.
      </t>
      
    </section>
    
    <section title="RDAP Conformance object">
      <t>
        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.
      </t>
      
      <t>
        An example of a rdapConformance data structure including this extension:
      </t>
      <t>    
        <figure><artwork><![CDATA[
  "rdapConformance" :
  [
   "rdap_level_0",
   "rdap_transformation_of_contact_information"
  ]
]]>
        </artwork></figure>
      </t>
    </section>
    
    
    <section anchor="transformation" title="Transformation object class">
      <t>
        A transformation object class represents the transformation (i.e. transliteration or translation) of an
        entity object.
      </t>
      <t>
        The transformation object class uses jCard <xref target="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.
      </t>
      <t>
        The transformation object class contains the following members:
        <list style='symbols'>
          <t>
            objectClassName -- the string "transformation".
          </t>
          <t>
            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.
          </t>  
          <t>
            sourceOfTransformation -- a string containing the source of the transformation.
            The possible values of sourceOfTransformation are: registry, registrar or reseller.
          </t>  
          <t>
            typeOfTransformation -- a string containing the type of the transformation.
            The possible values of typeOfTransformation are: translation or transliteration. 
          </t>
          <t>
            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.
          </t>  
        </list>  
      </t>
    </section>
    
    <section title="Transformations object class">
      <t>
        The transformations object is an array of transformation objects (defined in
        <xref target="transformation"/>) included in an entity object.
      </t>  
      <t>
        If a transformations object is included, the parent entity object
        MUST show the contact information as originally inputted by the user.
      </t>      

      <t>
        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.
      </t>
      <t>    
        <figure><artwork><![CDATA[
{
  "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":[
    {
      "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":[
        "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,
        "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"
    }
  ],
  "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"
                ]
              ],
              ["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"
      ],
      "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"
        }
      ]
    }
  ]
}
]]>
        </artwork></figure>
      </t>
    </section>    
       
    <section anchor="Acknowledgements" title="Acknowledgements">
      
      <t>
        TBD.
      </t>
      
    </section>
    
    <section anchor="IANA" title="IANA Considerations">
      <t>
        TBD.
      </t>
        
    </section>
    
    <section anchor="Security" title="Security Considerations">
      <t>
        TBD.
      </t>
    </section>
    
  </middle>
  
  <back>
    <references title='Normative References'>	
          
      &RFC7095;
      
    </references>    
    
    <references title='Informative References'>	
                
      <reference anchor="TTOCI" target="http://gnso.icann.org/en/issues/gtlds/translation-transliteration-contact-final-12jun15-en.pdf">
        <front>
          <title abbrev='TTOCI'>Final Report on the Translation and Transliteration of
            Contact Information Policy Development Process</title>
          <author>
            <organization>ICANN</organization>
          </author>
          <date year='2015' month='June' />
        </front>
      </reference>
    </references>    

  </back>

</rfc>
