Tech-invite   3GPPspecs   Glossaries   IETFRFCs   Groups   SIP   ABNFs   Ti+   Search in Tech-invite

in Index   Prev   Next
in Index   Prev   Next  Group: REGEXT

RFC 8543

Extensible Provisioning Protocol (EPP) Organization Mapping

Pages: 43
Proposed STD
Part 2 of 2 – Pages 27 to 43
First   Prev   None

Top   ToC   Page 27   prevText
5.  Formal Syntax

   An EPP object mapping is specified in XML Schema notation.  The
   formal syntax presented here is a complete schema representation of
   the object mapping suitable for automated validation of EPP XML
   instances.  The BEGIN and END tags are not part of the schema; they
   are used to note the beginning and ending of the schema for URI
   registration purposes.

      BEGIN
      <?xml version="1.0" encoding="UTF-8"?>

      <schema targetNamespace="urn:ietf:params:xml:ns:epp:org-1.0"
             xmlns:org="urn:ietf:params:xml:ns:epp:org-1.0"
             xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
             xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
             xmlns="http://www.w3.org/2001/XMLSchema"
             elementFormDefault="qualified">

      <!--
      Import common element types.
      -->
       <import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
       <import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
Top   ToC   Page 28
       <annotation>
         <documentation>
           Extensible Provisioning Protocol v1.0
           organization provisioning schema.
         </documentation>
       </annotation>

      <!--
      Child elements found in EPP commands.
      -->
       <element name="create" type="org:createType"/>
       <element name="delete" type="org:sIDType"/>
       <element name="update" type="org:updateType"/>
       <element name="check" type="org:mIDType"/>
       <element name="info" type="org:infoType"/>
       <element name="panData" type="org:panDataType"/>

      <!--
      Utility types.
      -->
       <simpleType name="statusType">
         <restriction base="token">
           <enumeration value="ok"/>
           <enumeration value="hold"/>
           <enumeration value="terminated"/>
           <enumeration value="clientDeleteProhibited"/>
           <enumeration value="clientUpdateProhibited"/>
           <enumeration value="clientLinkProhibited"/>
           <enumeration value="linked"/>
           <enumeration value="pendingCreate"/>
           <enumeration value="pendingUpdate"/>
           <enumeration value="pendingDelete"/>
           <enumeration value="serverDeleteProhibited"/>
           <enumeration value="serverUpdateProhibited"/>
           <enumeration value="serverLinkProhibited"/>
         </restriction>
       </simpleType>

       <simpleType name="roleStatusType">
         <restriction base="token">
           <enumeration value="ok"/>
           <enumeration value="clientLinkProhibited"/>
           <enumeration value="linked"/>
           <enumeration value="serverLinkProhibited"/>
         </restriction>
       </simpleType>

       <complexType name="roleType">
Top   ToC   Page 29
         <sequence>
           <element name="type" type="token"/>
           <element name="status" type="org:roleStatusType"
             minOccurs="0" maxOccurs="3"/>
           <element name="roleID" type="token" minOccurs="0"/>
         </sequence>
       </complexType>

       <complexType name="postalInfoType">
         <sequence>
           <element name="name"
             type="org:postalLineType"/>
           <element name="addr"
             type="org:addrType" minOccurs="0"/>
         </sequence>
         <attribute name="type"
           type="org:postalInfoEnumType"
           use="required"/>
       </complexType>

       <complexType name="contactType">
         <simpleContent>
           <extension base="eppcom:clIDType">
             <attribute name="type" type="org:contactAttrType"
               use="required"/>
             <attribute name="typeName" type="token"/>
           </extension>
         </simpleContent>
       </complexType>

       <simpleType name="contactAttrType">
         <restriction base="token">
           <enumeration value="admin"/>
           <enumeration value="billing"/>
           <enumeration value="tech"/>
           <enumeration value="abuse"/>
           <enumeration value="custom"/>
         </restriction>
       </simpleType>

       <complexType name="e164Type">
         <simpleContent>
           <extension base="org:e164StringType">
             <attribute name="x" type="token"/>
           </extension>
         </simpleContent>
       </complexType>
Top   ToC   Page 30
       <simpleType name="e164StringType">
         <restriction base="token">
           <pattern value="(\+[0-9]{1,3}\.[0-9]{1,14})?"/>
           <maxLength value="17"/>
         </restriction>
       </simpleType>

       <simpleType name="postalLineType">
         <restriction base="normalizedString">
           <minLength value="1"/>
           <maxLength value="255"/>
         </restriction>
       </simpleType>

       <simpleType name="optPostalLineType">
         <restriction base="normalizedString">
           <maxLength value="255"/>
         </restriction>
       </simpleType>

       <simpleType name="pcType">
         <restriction base="token">
           <maxLength value="16"/>
         </restriction>
       </simpleType>

       <simpleType name="ccType">
         <restriction base="token">
           <length value="2"/>
         </restriction>
       </simpleType>

       <complexType name="addrType">
         <sequence>
           <element name="street" type="org:optPostalLineType"
             minOccurs="0" maxOccurs="3"/>
           <element name="city" type="org:postalLineType"/>
           <element name="sp" type="org:optPostalLineType"
             minOccurs="0"/>
           <element name="pc" type="org:pcType"
             minOccurs="0"/>
           <element name="cc" type="org:ccType"/>
         </sequence>
       </complexType>

       <simpleType name="postalInfoEnumType">
         <restriction base="token">
           <enumeration value="loc"/>
Top   ToC   Page 31
           <enumeration value="int"/>
         </restriction>
       </simpleType>

      <!--
      Child element of commands that require only an identifier.
      -->
       <complexType name="sIDType">
         <sequence>
           <element name="id" type="eppcom:clIDType"/>
         </sequence>
       </complexType>

      <!--
      Child element of commands that accept multiple identifiers.
      -->
       <complexType name="mIDType">
         <sequence>
           <element name="id"
             type="eppcom:clIDType" maxOccurs="unbounded"/>
         </sequence>
       </complexType>

      <!--
      Pending action notification response elements.
      -->
       <complexType name="panDataType">
         <sequence>
           <element name="id" type="org:paCLIDType"/>
           <element name="paTRID" type="epp:trIDType"/>
           <element name="paDate" type="dateTime"/>
         </sequence>
       </complexType>

       <complexType name="paCLIDType">
         <simpleContent>
           <extension base="eppcom:clIDType">
             <attribute name="paResult" type="boolean"
              use="required"/>
           </extension>
         </simpleContent>
       </complexType>

      <!--
      Child elements of the <info> commands.
      -->
       <complexType name="infoType">
         <sequence>
Top   ToC   Page 32
           <element name="id"
             type="eppcom:clIDType"/>
         </sequence>
       </complexType>

      <!--
      Child elements of the <create> command.
      -->
       <complexType name="createType">
         <sequence>
           <element name="id"
             type="eppcom:clIDType"/>
           <element name="role"
             type="org:roleType" maxOccurs="unbounded"/>
           <element name="status"
             type="org:statusType" minOccurs="0" maxOccurs="4"/>
           <element name="parentId"
             type="eppcom:clIDType" minOccurs="0"/>
           <element name="postalInfo"
             type="org:postalInfoType" minOccurs="0" maxOccurs="2"/>
           <element name="voice"
             type="org:e164Type" minOccurs="0"/>
           <element name="fax"
             type="org:e164Type" minOccurs="0"/>
           <element name="email"
             type="eppcom:minTokenType" minOccurs="0"/>
           <element name="url"
             type="anyURI" minOccurs="0"/>
           <element name="contact"
             type="org:contactType"
             minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
       </complexType>

      <!--
      Child elements of the <update> command.
      -->
       <complexType name="updateType">
         <sequence>
           <element name="id"
             type="eppcom:clIDType"/>
           <element name="add"
             type="org:addRemType" minOccurs="0"/>
           <element name="rem"
             type="org:addRemType" minOccurs="0"/>
           <element name="chg"
             type="org:chgType" minOccurs="0"/>
         </sequence>
Top   ToC   Page 33
       </complexType>

      <!--
      Data elements that can be added or removed.
      -->
       <complexType name="addRemType">
         <sequence>
           <element name="contact"
             type="org:contactType" minOccurs="0"
             maxOccurs="unbounded"/>
           <element name="role" type="org:roleType"
             minOccurs="0" maxOccurs="unbounded"/>
           <element name="status" type="org:statusType"
             minOccurs="0" maxOccurs="9"/>
         </sequence>
       </complexType>

      <!--
      Data elements that can be changed.
      -->
       <complexType name="chgType">
         <sequence>
           <element name="parentId"
             type="eppcom:clIDType" minOccurs="0"/>
           <element name="postalInfo"
             type="org:chgPostalInfoType"
             minOccurs="0" maxOccurs="2"/>
           <element name="voice"
             type="org:e164Type" minOccurs="0"/>
           <element name="fax"
             type="org:e164Type" minOccurs="0"/>
           <element name="email"
             type="eppcom:minTokenType" minOccurs="0"/>
           <element name="url"
             type="anyURI" minOccurs="0"/>
         </sequence>
       </complexType>

       <complexType name="chgPostalInfoType">
         <sequence>
           <element name="name"
             type="org:postalLineType" minOccurs="0"/>
           <element name="addr"
             type="org:addrType" minOccurs="0"/>
         </sequence>
         <attribute name="type"
           type="org:postalInfoEnumType" use="required"/>
       </complexType>
Top   ToC   Page 34
      <!--
      Child response elements.
      -->
       <element name="chkData" type="org:chkDataType"/>
       <element name="creData" type="org:creDataType"/>
       <element name="infData" type="org:infDataType"/>

      <!--
      <check> response elements.
      -->
       <complexType name="chkDataType">
         <sequence>
           <element name="cd" type="org:checkType"
             maxOccurs="unbounded" />
         </sequence>
       </complexType>

       <complexType name="checkType">
         <sequence>
           <element name="id" type="org:checkIDType"/>
           <element name="reason" type="eppcom:reasonType"
             minOccurs="0"/>
         </sequence>
       </complexType>

       <complexType name="checkIDType">
         <simpleContent>
           <extension base="eppcom:clIDType">
             <attribute name="avail" type="boolean"
               use="required"/>
           </extension>
         </simpleContent>
       </complexType>

      <!--
      <info> response elements.
      -->

       <complexType name="infDataType">
         <sequence>
           <element name="id"
             type="eppcom:clIDType"/>
           <element name="roid"
             type="eppcom:roidType"/>
           <element name="role"
             type="org:roleType" maxOccurs="unbounded"/>
           <element name="status"
             type="org:statusType" maxOccurs="9"/>
Top   ToC   Page 35
           <element name="parentId"
             type="eppcom:clIDType" minOccurs="0"/>
           <element name="postalInfo"
             type="org:postalInfoType" minOccurs="0" maxOccurs="2"/>
           <element name="voice"
             type="org:e164Type" minOccurs="0"/>
           <element name="fax"
             type="org:e164Type" minOccurs="0"/>
           <element name="email"
             type="eppcom:minTokenType" minOccurs="0"/>
           <element name="url"
             type="anyURI" minOccurs="0"/>
           <element name="contact"
             type="org:contactType" minOccurs="0"
             maxOccurs="unbounded"/>
           <element name="clID"
             type="eppcom:clIDType" minOccurs="0"/>
           <element name="crID"
             type="eppcom:clIDType"/>
           <element name="crDate"
             type="dateTime"/>
           <element name="upID"
             type="eppcom:clIDType" minOccurs="0"/>
           <element name="upDate"
             type="dateTime" minOccurs="0"/>
         </sequence>
       </complexType>
      <!--
      <create> response elements.
      -->
       <complexType name="creDataType">
         <sequence>
           <element name="id" type="eppcom:clIDType"/>
           <element name="crDate" type="dateTime"/>
         </sequence>
       </complexType>

      <!--

      End of schema.
      -->
      </schema>
      END
Top   ToC   Page 36
6.  Internationalization Considerations

   EPP is represented in XML, which provides native support for encoding
   information using the Unicode character set [UNICODE] and its more
   compact representations, including UTF-8.  Conformant XML processors
   recognize both UTF-8 [RFC3629] and UTF-16 [RFC2781].  Though XML
   includes provisions to identify and use other character encodings
   through use of an "encoding" attribute in an <?xml?> declaration, use
   of UTF-8 is RECOMMENDED.

   As an extension of the EPP organization object mapping, the elements
   and element content described in this document MUST inherit the
   internationalization conventions used to represent higher-layer
   domain and core protocol structures present in an XML instance that
   includes this extension.

7.  IANA Considerations

7.1.  XML Namespace

   This document uses URNs to describe XML namespaces and XML schemas
   conforming to a registry mechanism described in [RFC3688].  IANA has
   assigned the following URI.

   The organization namespace:

      URI: urn:ietf:params:xml:ns:epp:org-1.0

      Registrant Contact: IESG

      XML: None.  Namespace URIs do not represent an XML specification.

   The organization XML schema:

      URI: urn:ietf:params:xml:schema:epp:org-1.0

      Registrant Contact: IESG

      XML: See the "Formal Syntax" section of RFC 8543 (this document).
Top   ToC   Page 37
7.2.  EPP Extension Registry

   The EPP extension described in this document has been registered by
   IANA in the "Extensions for the Extensible Provisioning Protocol
   (EPP)" registry described in [RFC7451].  The details of the
   registration are as follows:

      Name of Extension: Extensible Provisioning Protocol (EPP)
      Organization Mapping

      Document status: Standards Track

      Reference: RFC 8543

      Registrant Name and Email Address: IESG, iesg@ietf.org

      TLDs: Any

      IPR Disclosure: None

      Status: Active

      Notes: None

7.3.  Role Type Values Registry

   IANA has created a new category of protocol registry for values of
   the organization roles.  The name of this registry is "EPP
   Organization Role Values".  The registration policy for this registry
   is "Expert Review" [RFC8126].

7.3.1.  Registration Template

   Value: The string value being registered.

   Description: Brief description of the organization role values.

   Registrant Name: For RFC specifications, state "IESG".  For other
   specifications, give the name of the responsible party.

   Registrant Contact Information: An email address, postal address, or
   some other information to be used to contact the registrant.
Top   ToC   Page 38
7.3.2.  Initial Registry Contents

   The following are the initial registry contents:

      Value: registrar

      Description: The entity object instance represents the authority
      responsible for the registration in the registry.

      Registrant: IESG, iesg@ietf.org

      Value: reseller

      Description: The entity object instance represents a third party
      through which the registration was conducted (i.e., not the
      registry or registrar).

      Registrant: IESG, iesg@ietf.org

      Value: privacyproxy

      Description: The entity object instance represents a third party
      who could help to register a domain without exposing the
      registrants' private information.

      Registrant: IESG, iesg@ietf.org

      Value: dns-operator

      Description: The entity object instance represents a third-party
      DNS operator that maintains the name servers and zone data on
      behalf of a registrant.

      Registrant: IESG, iesg@ietf.org

8.  Security Considerations

   The organization object may have personally identifiable information,
   such as <org:contact>.  This information is not a required element in
   this document that can be provided on a voluntary basis.  If it is
   provided, both client and server MUST ensure that authorization
   information is stored and exchanged with high-grade encryption
   mechanisms to provide privacy services, which are specified in
   [RFC5733].  The security considerations described in [RFC5730] or
   those caused by the protocol layers used by EPP will apply to this
   specification as well.
Top   ToC   Page 39
9.  References

9.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC3629]  Yergeau, F., "UTF-8, a transformation format of ISO
              10646", STD 63, RFC 3629, DOI 10.17487/RFC3629, November
              2003, <https://www.rfc-editor.org/info/rfc3629>.

   [RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
              DOI 10.17487/RFC3688, January 2004,
              <https://www.rfc-editor.org/info/rfc3688>.

   [RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
              Resource Identifier (URI): Generic Syntax", STD 66,
              RFC 3986, DOI 10.17487/RFC3986, January 2005,
              <https://www.rfc-editor.org/info/rfc3986>.

   [RFC5322]  Resnick, P., Ed., "Internet Message Format", RFC 5322,
              DOI 10.17487/RFC5322, October 2008,
              <https://www.rfc-editor.org/info/rfc5322>.

   [RFC5646]  Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying
              Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646,
              September 2009, <https://www.rfc-editor.org/info/rfc5646>.

   [RFC5730]  Hollenbeck, S., "Extensible Provisioning Protocol (EPP)",
              STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009,
              <https://www.rfc-editor.org/info/rfc5730>.

   [RFC5733]  Hollenbeck, S., "Extensible Provisioning Protocol (EPP)
              Contact Mapping", STD 69, RFC 5733, DOI 10.17487/RFC5733,
              August 2009, <https://www.rfc-editor.org/info/rfc5733>.

   [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.
Top   ToC   Page 40
   [UNICODE]  The Unicode Consortium, "The Unicode Standard",
              <http://www.unicode.org/versions/latest/>.

   [W3C.REC-xml-20081126]
              Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and
              F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth
              Edition)", World Wide Web Consortium Recommendation
              REC-xml-20081126, November 2008,
              <https://www.w3.org/TR/xml/>.

   [W3C.REC-xmlschema-1-20041028]
              Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn,
              "XML Schema Part 1: Structures Second Edition", World Wide
              Web Consortium Recommendation REC-xmlschema-1-20041028,
              October 2004,
              <http://www.w3.org/TR/2004/REC-xmlschema-1-20041028>.

   [W3C.REC-xmlschema-2-20041028]
              Biron, P. and A. Malhotra, "XML Schema Part 2: Datatypes
              Second Edition", World Wide Web Consortium Recommendation
              REC-xmlschema-2-20041028, October 2004,
              <http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>.

9.2.  Informative References

   [RFC2781]  Hoffman, P. and F. Yergeau, "UTF-16, an encoding of ISO
              10646", RFC 2781, DOI 10.17487/RFC2781, February 2000,
              <https://www.rfc-editor.org/info/rfc2781>.

   [RFC7451]  Hollenbeck, S., "Extension Registry for the Extensible
              Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451,
              February 2015, <https://www.rfc-editor.org/info/rfc7451>.
Top   ToC   Page 41
Acknowledgments

   The authors would like to thank Rik Ribbers, Marc Groeneweg, Patrick
   Mevzek, Antoin Verschuren, and Scott Hollenbeck for their careful
   review and valuable comments.

Authors' Addresses

   Linlin Zhou
   CNNIC
   4 South 4th Street, Zhongguancun, Haidian District
   Beijing, Beijing  100190
   China

   Email: zhoulinlin@cnnic.cn


   Ning Kong
   Consultant

   Email: ietfing@gmail.com


   Jiankang Yao
   CNNIC
   4 South 4th Street, Zhongguancun, Haidian District
   Beijing, Beijing  100190
   China

   Email: yaojk@cnnic.cn


   James Gould
   VeriSign, Inc.
   12061 Bluemont Way
   Reston, VA  20190
   United States of America

   Email: jgould@verisign.com
   URI:   http://www.verisign.com


   Guiqing Zhou

   Email: qing.joe@gmail.com