diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc4414.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc4414.txt')
-rw-r--r-- | doc/rfc/rfc4414.txt | 2859 |
1 files changed, 2859 insertions, 0 deletions
diff --git a/doc/rfc/rfc4414.txt b/doc/rfc/rfc4414.txt new file mode 100644 index 0000000..794ea6c --- /dev/null +++ b/doc/rfc/rfc4414.txt @@ -0,0 +1,2859 @@ + + + + + + +Network Working Group A. Newton +Request for Comments: 4414 VeriSign, Inc. +Category: Standards Track February 2006 + + + An ENUM Registry Type + for the Internet Registry Information Service (IRIS) + +Status of This Memo + + This document specifies an Internet standards track protocol for the + Internet community, and requests discussion and suggestions for + improvements. Please refer to the current edition of the "Internet + Official Protocol Standards" (STD 1) for the standardization state + and status of this protocol. Distribution of this memo is unlimited. + +Copyright Notice + + Copyright (C) The Internet Society (2006). + +Abstract + + This document describes an Internet Registry Information Service + (IRIS) registry schema for registered ENUM information. The schema + extends the necessary query and result operations of IRIS to provide + the functional information service needs for syntaxes and results + used by ENUM registries. + + + + + + + + + + + + + + + + + + + + + + + + +Newton Standards Track [Page 1] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + +Table of Contents + + 1. Introduction ....................................................3 + 2. Document Terminology ............................................3 + 3. Schema Description ..............................................3 + 3.1. Query Derivatives ..........................................3 + 3.1.1. <findEnumsByE164> Query .............................3 + 3.1.2. <findEnumsByContact> Query ..........................4 + 3.1.3. <findContacts> Query ................................4 + 3.1.4. <findEnumsByHost> Query .............................4 + 3.1.5. Contact Search Group ................................5 + 3.2. Result Derivatives .........................................5 + 3.2.1. Privacy Labels ......................................5 + 3.2.2. Contact Group .......................................7 + 3.2.3. <enum> Result .......................................8 + 3.2.4. <host> Result ......................................12 + 3.2.5. <contact> Result ...................................13 + 3.2.6. <registrationAuthority> Result .....................15 + 3.2.7. <validationEntity> Result ..........................16 + 3.2.8. <communicationServiceProvider> Result ..............17 + 3.2.9. <validationEvent> Result ...........................18 + 3.3. Generic Code Derivatives ..................................19 + 3.3.1. <searchTooWide> ....................................19 + 3.3.2. <languageNotSupported> .............................19 + 3.4. Support for <iris:lookupEntity> ...........................19 + 4. Formal XML Syntax ..............................................21 + 5. Blocks Extensible Exchange Protocol (BEEP) Transport + Compliance .....................................................46 + 5.1. Message Pattern ...........................................46 + 5.2. Server Authentication .....................................46 + 6. URI Resolution .................................................46 + 6.1. Application Service Label .................................46 + 7. Internationalization Considerations ............................46 + 8. IANA Considerations ............................................47 + 8.1. XML Namespace URN Registration ............................47 + 8.2. S-NAPTR Registration ......................................48 + 8.3. BEEP Registration .........................................48 + 9. Security Considerations ........................................48 + 10. Normative References ..........................................48 + A. Contributions and Acknowledgements ............................50 + + + + + + + + + + + +Newton Standards Track [Page 2] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + +1. Introduction + + This document describes an IRIS registry schema for registries of + ENUM data using an XML Schema [4] derived from and using the IRIS [5] + schema. + + The schema given is this document is specified using the Extensible + Markup Language (XML) 1.0 as described in XML [1], XML Schema + notation as described in XML_SD [3] and XML_SS [4], and XML + Namespaces as described in XML_NS [2]. + +2. Document Terminology + + 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 [10]. + + This document uses the term "ENUM" as the fully qualified domain name + following the conventions of ENUM [17]. + +3. Schema Description + + IRIS requires the derivation of both query and result elements by a + registry schema. These descriptions follow. + + References to XML elements with no namespace qualifier are from the + schema defined in Section 4. References to elements and attributes + with the "iris" XML namespace qualifier are from the schema defined + in IRIS [5]. + + The descriptions contained within this section refer to XML elements + and attributes and their relation to the exchange of data within the + protocol. These descriptions also contain specifications outside the + scope of the formal XML syntax. Therefore, this section will use + terms defined by RFC 2119 [10] to describe the specification outside + the scope of the formal XML syntax. While reading this section, + please reference Section 4 for needed details on the formal XML + syntax. + +3.1. Query Derivatives + +3.1.1. <findEnumsByE164> Query + + <findEnumsByE164> finds ENUM domains by searching on prefixes of + E.164 numbers and returns <enum> (Section 3.2.3) results. + + The E.164 prefix is specified using the <e164Prefix> child of + <findEnumsByE164>. An optional child element of <findEnumsByE164>, + + + +Newton Standards Track [Page 3] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + <specificity>, can narrow the search to ENUM domains associated with + E.164 numbers that are either more specific or less specific. If the + <specificity> element is present and has the content 'less', then the + search is to be narrowed to E.164 numbers that are less specific + (i.e., have fewer digits). If the <specificity> element is present + and has the content 'more', then the search is to be narrowed to + E.164 numbers that are more specific (i.e., have more digits). + +3.1.2. <findEnumsByContact> Query + + <findEnumsByContact> finds ENUM domains by searches on fields + associated with an ENUM domain's contact. + + The allowable search fields are handled with either the + <contactHandle> element or one of the elements in the + "contactSearchGroup" (see Section 3.1.5). The <contactHandle> + element allows for the ENUM domains to be selected based on the + contact having the specified contact handle. + + The query MAY also be constrained further using the optional <role> + element. The contents of this element signify the role the contact + has with the ENUM domain. + + This query also provides optional <language> elements containing + language tags. Clients MAY use these elements to give a hint about + the natural language(s) of the affected element. Servers MAY use + this information in processing the query, such as tailoring + normalization routines to aid in more effective searches. + +3.1.3. <findContacts> Query + + <findContacts> searches for contacts given search constraints. + + The allowable search fields are handled by one of the elements in the + "contactSearchGroup" (see Section 3.1.5). + + This query also provides optional <language> elements containing + language tags. Clients MAY use these elements to give a hint about + the natural language(s) of the affected element. Servers MAY use + this information in processing the query, such as tailoring + normalization routines to aid in more effective searches. + +3.1.4. <findEnumsByHost> Query + + This query does a simple search for the ENUM domains being hosted by + a name server. The search is constrained using either the host name + [12], host handle, IPv4 address, or IPv6 address of the name server. + + + + +Newton Standards Track [Page 4] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + +3.1.5. Contact Search Group + + Some of the queries above have similar query constraints for + searching on contacts. This section describes those common + parameters. + + <commonName> allows the query to be constrained based on the common + name of the contact. The constraint can either constrain the query + by an exact match using the <exactMatch> element, or it may constrain + the query by a subset of the common name using the <beginsWith> and + <endsWith> elements. + + <organization> allows the query to be constrained based on the + organization name of the contact. It has the same semantics as the + <commonName> element. + + <eMail> constrains the query based on the e-mail address of the + contact. This may be done by an exact e-mail address using the + <exactMatch> element or by any e-mail address in a domain using the + <inDomain> element. The <inDomain> MUST only contain a valid domain + name (i.e., no '@' symbol), and the matching SHOULD take place only + on the domain given (i.e., no partial matches with respect to + substrings or parent domains). If either the contents of the + <inDomain> element or domain part of the contents of the <exactMatch> + element contain a name with non-ASCII characters, they MUST be + normalized according to the processes of RFC 3491 [15]. + + The <city>, <region>, and <postalCode> elements restrict the scope of + the query based on the city, region, or postal code of the contact, + respectively. Each one must only contain an <exactMatch> element + containing the exact city, region, or postal code (i.e., no substring + searches). + +3.2. Result Derivatives + +3.2.1. Privacy Labels + + Several of the results in this registry type have values that cannot + be given but must be specified as present or must be flagged so that + clients do not divulge them. In order to achieve this, some of the + results use the following element types: + + o "dateTimePrivacyType" - contains the XML Schema [3] data type + "dateTime". The contents of this element MUST be specified using + the 'Z' indicator for Coordinated Universal Time (UTC). + + o "stringPrivacyType" - contains the XML Schema [3] data type + "string". + + + +Newton Standards Track [Page 5] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + o "normalizedStringPrivacyType" - contains the XML Schema [3] data + type "normalizedString". + + o "tokenPrivacyType" - contains the XML Schema [3] data type + "token". + + o "enumStatusType" - describes a state for an ENUM domain. This + element has the following optional attributes: + + * 'scope' - indicates the scope or origin of the status value. + + * 'disposition' - contains either the value "pending", meaning + that initial processing for this status has begun and is not + yet complete, or the value "prohibited", meaning this ENUM + domain cannot achieve this status according to either the + registry or registrar of this ENUM domain. + + * 'actor' - contains either the value "registry", meaning this + status value has been associated with this ENUM domain by the + registry, or the value "registrar", meaning this status value + has been associated with this ENUM domain by the registrar. + + This element has the following optional child elements: + + * <appliedDate> - indicates the date and time the status was + applied. + + * <description> - provides a textual description of the status. + This element has a required 'language' attribute. + + * <subStatus> - indicates a jurisdictional-dependent reason for + this status value. This element has a required 'authority' + attribute to indicate the jurisdictional authority associated + with this sub-status. + + o "contactTypeType" - contains an optional <description> child + elements. Each <description> child element requires a 'language' + attribute. + + As specified, they are nillable and therefore may be present with + empty content or present with their specified content. The use of + these elements is also optional. + + If present without content, each of these element types MUST have one + or more of the following boolean attributes: + + o 'private' - if true, this specifies that the content is absent + because it may never be published. + + + +Newton Standards Track [Page 6] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + o 'denied' - if true, this specifies that the content is absent + because policy does not allow it to be given under the current + level of access. + + If present with content, each of these element types MAY have one or + more of the following boolean attributes: + + o 'doNotRedistribute' - if true, this specifies that the content is + not to be redistributed. + + o 'specialAccess' - if true, this specifies that the content has + been provided due to special access rights. + + These boolean attributes SHOULD be used in accordance with the level + of access being granted the recipient of the data. For example, + marking data as 'private' or 'denied' is to be expected if the user + is anonymous or has some other low level of access that does not + warrant viewing of that particular data. Likewise, data marked with + 'doNotRedistribute' or 'specialAccess' is to be expected if the user + is authenticated and has a high level of access. + +3.2.2. Contact Group + + Many of the results share a set of references to contacts regarding + an associated role. These are represented by the following elements: + + o <billingContact> + + o <technicalContact> + + o <administrativeContact> + + o <legalContact> + + o <zoneContact> + + o <abuseContact> + + o <securityContact> + + o <otherContact> + + Each of these elements contains an entity reference. The referent of + each MUST be a <contact> (Section 3.2.5). + + + + + + + +Newton Standards Track [Page 7] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + +3.2.3. <enum> Result + + An example of a <enum> result: + + <enum + authority="3.0.7.1.e164.arpa" registryType="ereg1" + entityClass="enum-handle" entityName="555-1234.001" > + + <e164Number>+1 703 555 1234</e164Number> + + <nameServer + iris:referentType="ereg:host" + authority="3.0.7.1.e164.arpa" registryType="ereg1" + entityClass="host-handle" entityName="ns1.001" /> + <nameServer + iris:referentType="ereg:host" + authority="3.0.7.1.e164.arpa" registryType="ereg1" + entityClass="host-handle" entityName="ns2.001" /> + + <registrant + iris:referentType="ereg:contact" + authority="3.0.7.1.e164.arpa" registryType="ereg1" + entityClass="contact-handle" entityName="beb140"> + <iris:displayName language="en"> + Bill Eckels + </iris:displayName> + </registrant> + + <technicalContact + iris:referentType="ereg:contact" + authority="3.0.7.1.e164.arpa" registryType="ereg1" + entityClass="contact-handle" entityName="mak21"> + <iris:displayName language="en"> + Mark Kosters + </iris:displayName> + </technicalContact> + + <status> + <create/> + <active/> + <delete + actor="registrar" + disposition="prohibited"> + <subStatus + authority="regr.example"> + AUTO-LOCK + </subStatus> + </delete> + + + +Newton Standards Track [Page 8] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + <update + actor="registrar" + disposition="prohibited"> + <subStatus + authority="regr.example"> + AUTO-LOCK + </subStatus> + </update> + <transfer + actor="registrar" + disposition="prohibited"> + <subStatus + authority="registrar.example"> + AUTO-LOCK + </subStatus> + </transfer> + <redemptionPeriod + actor="registry" + disposition="pending"> + <subStatus + authority="policy-body.example"> + STANDARD RGP + </subStatus> + </redemptionPeriod> + </status> + + </enum> + + The <enum> result represents an instance of an ENUM domain + assignment. The children of the <enum> element are as follows: + + o <e164Number> - the E.164 number for this ENUM domain as defined by + [13]. It is RECOMMENDED that only space characters be used + between the digits of these E.164 numbers, as of the international + number format defined in [14]. + + o <enumHandle> - a registry-unique assigned identifier to an ENUM + domain. + + o <nameServer> - MUST contain an entity reference to a referent of + type <host> (Section 3.2.4). + + o <registrant> - elements containing an entity reference to the + registrant of this ENUM domain. The referent MUST be a <contact> + (Section 3.2.5) result. + + o ENUM domain contacts - see Section 3.2.2. + + + + +Newton Standards Track [Page 9] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + o <status> - may contain at least one of the following elements of + type 'enumStatusType' (see Section 3.2.1). + + * <reserved> - this ENUM domain falls outside the normal + registration rules and/or processes for registration + + * <create> - assigned to a registrant + + * <active> - available via DNS (either via delegation or direct + publication) + + * <inactive> - unavailable via DNS + + * <dispute> - registrant assignment is in dispute + + * <delete> - registrant assignment removed + + * <transfer> - change of authority + + * <update> - modification of this ENUM domain + + * <renew> - renewal of ENUM domain registration + + * <addPeriod> - period at the creation or activation of this ENUM + domain (see RFC 3915 [18]) + + * <renewPeriod> - period at the renewal of this ENUM domain (see + RFC 3915 [18]) + + * <autoRenewPeriod> - period at the automatic renewal of this + ENUM domain (see RFC 3915 [18]) + + * <transferPeriod> - period at the transfer of this ENUM domain + (see RFC 3915 [18]) + + * <redemptionPeriod> - period at the redemption of this ENUM + domain (see RFC 3915 [18]) + + * <restore> - change to previous status of this ENUM domain + + * <other> - a status only defined by its <subStatus> child + element + + As stated in Section 3.2.1, each status value may have flags to + indicate the entity responsible for assigning the status (e.g., + actor='registrar') and the nature of the status (e.g., + disposition="prohibited"). Any one status value MUST NOT imply + other status values. For instance, <reserved> is just an + + + +Newton Standards Track [Page 10] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + indication that the ENUM domain is given special reserved + status; the <create disposition="prohibited"/> status value must + also be present to indicate that the ENUM domain cannot be + registered. + + o <registrationReference> - an element containing an entity + reference, the referent of which MUST be an <enum> + (Section 3.2.3). The intention of this element is to point to the + downstream registration reference. Therefore, if this is a result + given back by an ENUM domain registry, it should point to the ENUM + domain in the ENUM domain registrar or registrant service. + + o <registry> - contains an entity reference specifying the ENUM + domain registry operator for this ENUM domain that MUST be a + <registrationAuthority> (Section 3.2.6). + + o <registrar> - contains an entity reference specifying the ENUM + domain registrar operator for this ENUM domain that MUST be a + <registrationAuthority> (Section 3.2.6). + + o <validationEntity> - contains an entity reference specifying the + validation entity for this ENUM domain that MUST be a + <validationEntity> (Section 3.2.7). + + o communication service providers - the following elements contain + an entity reference with a relationship to the ENUM domain. The + referent of each MUST be a <communicationServiceProvider> + (Section 3.2.8). + + * <lineCSP> + + * <signalCSP> + + * <dataCSP> + + * <voiceCSP> + + * <otherCSP> + + o <validationEvent> -- elements containing an entity reference to + validation events related to this ENUM domain. The referent MUST + be a <validationEvent> (Section 3.2.9). + + o <initialDelegationDateTime> - an element containing the date and + time of the initial delegation of this ENUM domain. + + o <lastRenewalDateTime> - an element containing the date and time of + last renewal of this ENUM domain. + + + +Newton Standards Track [Page 11] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + o <expirationDateTime> - an element containing the date and time of + the expiration of this ENUM domain. + + o <lastContactModificationDateTime> - specifies the last time a + contact for the ENUM domain was added or removed. + + o <lastContactModificationBy> - an element containing an entity + reference. The referent MUST be a <contact> (Section 3.2.5) + responsible for the last addition or removal of a contact for this + ENUM domain. + + o <lastDelegationModificationDateTime> - an element containing the + date and time of the last time one of the nameservers was added or + removed for the delegation of this ENUM domain. + + o <lastDelegationModificationBy> - an element containing an entity + reference. The referent MUST be a <contact> (Section 3.2.5) + result and be responsible for the last addition or removal of a + nameserver for this ENUM domain. + + o <lastVerificationDateTime> - an element containing the date and + time of the last time the data for this domain was verified by the + responsible registration authority. + + o <iris:seeAlso> - an element containing an entity reference + specifying a referent that is indirectly associated with this + domain. + +3.2.4. <host> Result + + An example of a <host> result: + + <host + authority="iana.org" registryType="ereg1" + entityClass="host-handle" entityName="nsol184" > + <hostHandle>nsol184</hostHandle> + <hostName>a.iana-servers.net</hostName> + <ipV4Address>192.0.2.43</ipV4Address> + <hostContact + iris:referentType="ereg:contact" + authority="iana.org" registryType="ereg1" + entityClass="contact-handle" entityName="dbarton" /> + </host> + + The <host> element represents an instance of a host registration. + The children of the <host> element are as follows: + + o <hostHandle> - a registry-unique assigned identifier for the host. + + + +Newton Standards Track [Page 12] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + o <hostName> - the fully qualified domain name of the host. The + contents of this element are a host name and MUST conform to RFC + 1123 [19]. + + o <ipV4Address> - the content of which MUST conform to a valid + IP version 4 host address as specified by RFC 791 [8]. + + o <ipV6Address> - the content of which MUST conform to a valid + IP version 6 host address as specified by RFC 3513 [7]. + + o <hostContact> - an element containing an entity reference + specifying a contact associated with this host. The referent MUST + be <contact> (Section 3.2.5) results. + + o <createdDateTime> - an element containing the date and time this + host was created. + + o <lastModificationDateTime> - an element containing the date and + time this host was last modified. + + o <lastVerificationDateTime> - an element containing the date and + time this data for this host was last verified to be correct by + the appropriate registration authority. + + o <iris:seeAlso> - an element containing an entity reference + specifying a referent that is indirectly associated with this + host. + +3.2.5. <contact> Result + + An example of a <contact> result: + + <contact + authority="example.org" registryType="ereg1" + entityClass="contact-handle" entityName="example-admin" > + <contactHandle>example-admin</contactHandle> + <commonName>Example.Org Manager</commonName> + <organization>Internet Assigned Numbers Authority</organization> + <eMail>res-dom@example.org</eMail> + <postalAddress> + <address>123 Mocking Bird Lane</address> + <city>Some City</city> + <region>CA</region> + <postalCode>00000</postalCode> + <country>US</country> + </postalAddress> + <phone>+1234567890</phone> + </contact> + + + +Newton Standards Track [Page 13] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + The <contact> element represents an instance of a contact + registration. The children of the <contact> element are as follows: + + o <contactHandle> - a registry-unique assigned identifier for this + contact. + + o <commonName> - the name of the contact. + + o <language> - a specification of the language code to use to + localize the data in this result. + + o <type> - contains one of the following child elements: <person>, + <organization>, <role>, or <other>. Each of these elements is a + "contactTypeType" as defined in Section 3.2.1. + + o <organization> - an element containing the organization name of + the contact. + + o The <legalId> child element contains a jurisdictional identifier + of this contact (an example of such an identifier is a national + taxation ID or a commercial registry number). + + o <eMail> - elements containing an e-mail address for this contact. + + o <sip> - elements containing a SIP URI for this contact. + + o <postalAddress> - elements containing children representing a + postal address. <postalAddress> has the following children: + + * <address> - an element containing the street address for this + contact. + + * <city> - an element containing the city for this contact. + + * <region> - an element containing the national region for this + contact. + + * <postalCode> - an element containing the postal code for this + contact. + + * <country> - an element containing the country for this contact. + This SHOULD be a 2-letter country code compliant with ISO 3166 + [11]. + + o <phone> - elements containing a voice phone number for this + contact. If it begins with a '+' (plus) character, it MUST be a + number defined by E.164 [13]. The format number defined in E.164 + [13] is RECOMMENDED. + + + +Newton Standards Track [Page 14] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + o <fax> - elements containing a facsimile phone number for this + contact. If it begins with a '+' (plus) character, it MUST be a + number defined by E.164 [13]. The format number defined in E.164 + [13] is RECOMMENDED. + + o <createdDateTime> - an element containing the date and time this + contact was created. + + o <lastModificationDateTime> - an element containing the date and + time this contact was last modified. + + o <lastVerificationDateTime> - an element containing the date and + time this data for this contact was last verified to be correct by + the appropriate registration authority. + + o <translatedContacts> - an element containing an entity reference + specifying equivalents of this contact that have been translated + into other languages. The referent MUST be <contact> + (Section 3.2.5) results. + + o <iris:seeAlso> - an element containing an entity reference + specifying a referent that is indirectly associated with this + contact. + +3.2.6. <registrationAuthority> Result + + An example of a <registrationAuthority> result: + + <registrationAuthority + authority="iana.org" registryType="ereg1" + entityClass="registration-authority" entityName="iana" > + <serviceInstance + iris:referentType="iris:serviceIdentification" + authority="iana.org" registryType="ereg1" + entityClass="iris" entityName="id" /> + <organizationName> + Internet Assigned Numbers Authority + </organizationName> + <registrar /> + </registrationAuthority> + + The <registrationAuthority> result represents an entity capable of + registering domains. + + The <serviceInstance> child element of <registrationAuthority> + contains an entity reference pointing to the entity "id" in the + entity class "iris". + + + + +Newton Standards Track [Page 15] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + The <organizationName> child element contains the name of the + registration authority. + + The <legalId> child element contains an identifier of this + registration authority (an example of such an identifier is a + national taxation ID or a commercial registry number). + + The registration authority type child elements, <registry>, + <registrar>, and <other>, determine the role in which this + registration authority plays in the process of registering ENUM + domains. The intent of this element is to explain the various roles + a registration authority may have with regards to the authority areas + pointed to by the <serviceInstance> element. A client MAY understand + the relationship of a registration authority with respect to an ENUM + domain by the placement of the reference in the domain (e.g., + <registry> or <registrar>). + + contacts - see Section 3.2.2. + + <iris:seeAlso> - an element containing an entity reference specifying + a referent that is indirectly associated with this registration + authority. + +3.2.7. <validationEntity> Result + + An example of a <validationEntity> result: + + <validationEntity + authority="example.org" registryType="ereg1" + entityClass="validation-entity" entityName="govt" > + <serviceInstance + iris:referentType="iris:serviceIdentification" + authority="example.org" registryType="ereg1" + entityClass="iris" entityName="id" /> + <organizationName> + Some Government Authority + </organizationName> + <technicalContact + iris:referentType="iris:contact" + authority="example.org" registryType="ereg1" + entityClass="contact-handle" entityName="1234" /> + <administrativeContact + iris:referentType="iris:contact" + authority="example.org" registryType="ereg1" + entityClass="contact-handle" entityName="abc" /> + </validationEntity> + + + + + +Newton Standards Track [Page 16] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + The <validationEntity> result represents an entity responsible for + validating ENUM domains against E.164 [13] registrations. + + The <serviceInstance> child element of <validationEntity> contains an + entity reference pointing to the entity "id" in the entity class + "iris". + + The <organizationName> child element contains the name of the + validation authority. + + The <legalId> child element contains an identifier of this validation + authority (an example of such an identifier is a national taxation ID + or a commercial registry number). + + contacts - see Section 3.2.2. + + <iris:seeAlso> - an element containing an entity reference specifying + a referent that is indirectly associated with this validation + authority. + +3.2.8. <communicationServiceProvider> Result + + An example of a <communicationServiceProvider> result: + + <communicationServiceProvider + authority="bell.example.com" registryType="ereg1" + entityClass="csp" entityName="bellco" > + <serviceInstance + iris:referentType="iris:serviceIdentification" + authority="bell.example.com" registryType="ereg1" + entityClass="iris" entityName="id" /> + <organizationName> + Big Phone Co. + </organizationName> + <line /> + </communicationServiceProvider> + + The <communicationServiceProvider> result represents an entity + providing ENUM domain service. + + The <serviceInstance> child element of <communicationServiceProvider> + contains an entity reference pointing to the entity "id" in the + entity class "iris". + + The <organizationName> child element contains the name of the + registration authority. + + + + + +Newton Standards Track [Page 17] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + The <legalId> child element contains an identifier of this + communication service provider (an example of such an identifier is a + national taxation ID or a commercial registry number). + + The <cspId> child element contains an identifier unique to this + communication service provider and identifies this communication + service provider with regard to its operating jurisdiction. + + The child elements, <line>, <signal>, <data>, <voice>, and <other>, + detail the capabilities of this communication service provider. The + capabilities this communication service provider provides to a + specific ENUM domain are a subset of these capabilities and are + expressed in the <enum> result using the <lineCSP>, <signalCSP>, + <dataCSP>, <voiceCSP>, and <otherCSP> entity references. + + contacts - see Section 3.2.2. + + <iris:seeAlso> - an element containing an entity reference specifying + a referent that is indirectly associated with this communication + service provider. + +3.2.9. <validationEvent> Result + + An example of a <validationEvent> result: + + <validationEvent + authority="example.com" registryType="ereg1" + entityClass="validation-event" entityName="xyz-0123" > + <serial>xyz-0123</serial> + <validationEntity + iris:referentType="ereg:validationEntity" + authority="bell.example.com" registryType="ereg1" + entityClass="iris" entityName="id" /> + </validationEvent> + + The <validationEvent> result represents a record of validation for an + ENUM domain. + + The <serial> child element contains an identifier identifying this + validation event between a validation entity and a registrar. + + The <methodId> child element contains an identifier describing the + method used for validation. + + <registrar> - contains an entity reference specifying the ENUM domain + registrar operator for this validation event that MUST be a + <registrationAuthority> (Section 3.2.6). + + + + +Newton Standards Track [Page 18] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + <validationEntity> - contains an entity reference specifying the + validation entity for this validation event that MUST be a + <validationEntity> (Section 3.2.7). + + <executionDateTime> - an element containing the date and time of the + creation of this validation event. + + <expirationDateTime> - an element containing the date and time of the + expiration of this validation event. + + <iris:seeAlso> - an element containing an entity reference specifying + a referent that is indirectly associated with this validation event. + +3.3. Generic Code Derivatives + +3.3.1. <searchTooWide> + + Servers MAY use the <searchTooWide> error code when a query must be + narrowed to yield a result set acceptable to the policies of the + server operator. + +3.3.2. <languageNotSupported> + + The queries <findEnumsByContact> and <findContacts> support optional + language tags that allow a client to suggest to a server the + languages in which to scope the queries. If a client passes to the + server a language that the server does not support, the server MAY + use this error code to indicate that one of the languages is not + supported. + + This element contains child elements named <unsupportedLanguage>. + Each of these child elements specifies a language not supported by + the server. When a server returns this error, it MUST give the + languages from the query that are not supported. + +3.4. Support for <iris:lookupEntity> + + The following types of entity classes are recognized by the + <lookupEntity> query of IRIS for this registry: + + o host-name - the fully qualified domain name of a nameserver. It + yields a <host> (Section 3.2.4) in the response. + + o host-handle - the registry-unique identifier given a nameserver. + It yields a <host> (Section 3.2.4) in the response. + + + + + + +Newton Standards Track [Page 19] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + o e164 - an E.164 number as specified by [13]. It yields an <enum> + (Section 3.2.3) in the response. Clients SHOULD remove all non- + digit characters between the digits of an E.164 number, and + servers MUST ignore any non-digit characters between the digits of + an E.164 number (e.g., "+1 703 555 1234" is to be interpreted as + "+17035551234"). + + o enum - the fully qualified name of an ENUM domain. This is a + domain name as specified by RFC 3761 [17]. It yields an <enum> + (Section 3.2.3) in the response. + + o enum-handle - the registry-unique identifier given an ENUM domain. + It yields an <enum> (Section 3.2.3) in the response. + + o contact-handle - the registry-unique identifier given a contact. + It yields a <contact> (Section 3.2.5) in the response. + + o ipv4-address - the IPv4 address of a nameserver. It yields a + <host> (Section 3.2.4) in the response. + + o ipv6-address - the IPv6 address of a nameserver. It yields a + <host> (Section 3.2.4) in the response. + + o registration-authority - the name of a registration authority. It + yields a <registrationAuthority> (Section 3.2.6) in the response. + + o validation-entity - the name of a validation entity. It yields a + <validationEntity> (Section 3.2.7) + + o csp - the identifier of a communication service provider. Yields + a <communicationServiceProvider> (Section 3.2.8). + + o validation-event - the identifier for a validation event. It + yields a <validationEvent> (Section 3.2.9). + + o All names in these entity classes are case insensitive. + + + + + + + + + + + + + + + +Newton Standards Track [Page 20] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + +4. Formal XML Syntax + + This registry schema is specified in the XML Schema notation. The + formal syntax presented here is a complete schema representation + suitable for automated validation of an XML instance when combined + with the formal schema syntax of IRIS. + + <?xml version="1.0"?> + <schema xmlns="http://www.w3.org/2001/XMLSchema" + xmlns:ereg="urn:ietf:params:xml:ns:ereg1" + xmlns:iris="urn:ietf:params:xml:ns:iris1" + targetNamespace="urn:ietf:params:xml:ns:ereg1" + elementFormDefault="qualified" > + + <import namespace="urn:ietf:params:xml:ns:iris1" /> + + <annotation> + <documentation> + ENUM registry schema + derived from IRIS schema + </documentation> + </annotation> + + <!-- ========================================= --> + <!-- --> + <!-- Query Types --> + <!-- --> + <!-- ========================================= --> + + <!-- --> + <!-- Find ENUMs by E.164 --> + <!-- --> + + <complexType + name="findEnumsByE164Type"> + <complexContent> + <extension + base="iris:queryType"> + <sequence> + <element + name="e164Prefix" + type="token" /> + <element + name="specificity" + minOccurs="0" > + <simpleType> + <restriction + base="string"> + + + +Newton Standards Track [Page 21] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + <enumeration + value="less"/> + <enumeration + value="more"/> + </restriction> + </simpleType> + </element> + </sequence> + </extension> + </complexContent> + </complexType> + + <element + name="findEnumsByE164" + type="ereg:findEnumsByE164Type" + substitutionGroup="iris:query" /> + + <!-- --> + <!-- Find ENUMs By Contact --> + <!-- --> + + <complexType + name="findEnumsByContactType"> + <complexContent> + <extension + base="iris:queryType"> + <sequence> + <choice> + <group + ref="ereg:contactSearchGroup" /> + <element + name="contactHandle" + type="ereg:exactMatchParameter" /> + </choice> + <element + name="role" + minOccurs="0" + maxOccurs="1" > + <simpleType> + <restriction + base="string" > + <enumeration + value="registrant" /> + <enumeration + value="billingContact" /> + <enumeration + value="technicalContact" /> + <enumeration + + + +Newton Standards Track [Page 22] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + value="administrativeContact" /> + <enumeration + value="legalContact" /> + <enumeration + value="zoneContact" /> + <enumeration + value="abuseContact" /> + <enumeration + value="securityContact" /> + <enumeration + value="otherContact" /> + </restriction> + </simpleType> + </element> + <element + name="language" + type="language" + minOccurs="0" + maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + + <element + name="findEnumsByContact" + type="ereg:findEnumsByContactType" + substitutionGroup="iris:query" /> + + <!-- --> + <!-- Find Contacts --> + <!-- --> + + <complexType + name="findContactsType"> + <complexContent> + <extension + base="iris:queryType"> + <sequence> + <group + ref="ereg:contactSearchGroup" /> + <element + name="language" + type="language" + minOccurs="0" + maxOccurs="unbounded"/> + </sequence> + </extension> + + + +Newton Standards Track [Page 23] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + </complexContent> + </complexType> + + <element + name="findContacts" + type="ereg:findContactsType" + substitutionGroup="iris:query" /> + + <!-- --> + <!-- Find ENUMs By Host --> + <!-- --> + + <complexType + name="findEnumsByHostType"> + <complexContent> + <extension + base="iris:queryType"> + <sequence> + <choice> + <element + name="hostName" + type="ereg:exactMatchParameter" /> + <element + name="hostHandle" + type="ereg:exactMatchParameter" /> + <element + name="ipV4Address" + type="ereg:exactMatchParameter" /> + <element + name="ipV6Address" + type="ereg:exactMatchParameter" /> + </choice> + </sequence> + </extension> + </complexContent> + </complexType> + + <element + name="findEnumsByHost" + type="ereg:findEnumsByHostType" + substitutionGroup="iris:query" /> + + <!-- --> + <!-- Contact Search Group --> + <!-- --> + + <group + name="contactSearchGroup"> + + + +Newton Standards Track [Page 24] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + <choice> + <element + name="commonName" + type="ereg:exactOrPartialMatchParameter" /> + <element + name="organization" + type="ereg:exactOrPartialMatchParameter" /> + <element + name="eMail" + type="ereg:domainResourceParameter" /> + <element + name="sip" + type="ereg:domainResourceParameter" /> + <element + name="city" + type="ereg:exactMatchParameter" /> + <element + name="region" + type="ereg:exactMatchParameter" /> + <element + name="postalCode" + type="ereg:exactMatchParameter" /> + </choice> + </group> + + <complexType + name="exactOrPartialMatchParameter"> + <choice> + <group + ref="ereg:partialMatchGroup" /> + <group + ref="ereg:exactMatchGroup" /> + </choice> + </complexType> + + <complexType + name="exactMatchParameter"> + <group + ref="ereg:exactMatchGroup" /> + </complexType> + + <complexType + name="partialMatchParameter"> + <sequence> + <group + ref="ereg:partialMatchGroup" /> + </sequence> + </complexType> + + + +Newton Standards Track [Page 25] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + <complexType + name="domainResourceParameter" > + <choice> + <group + ref="ereg:exactMatchGroup" /> + <element + name="inDomain" + type="token" /> + </choice> + </complexType> + + <group + name="partialMatchGroup"> + <choice> + <sequence> + <element + name="beginsWith"> + <simpleType> + <restriction + base="token"> + <minLength + value="1"/> + </restriction> + </simpleType> + </element> + <element + minOccurs="0" + name="endsWith" + type="ereg:endsWithType" /> + </sequence> + <element + name="endsWith" + type="ereg:endsWithType" /> + </choice> + </group> + + <simpleType + name="endsWithType"> + <restriction + base="token"> + <minLength + value="1" /> + </restriction> + </simpleType> + + <group + name="exactMatchGroup"> + <sequence> + + + +Newton Standards Track [Page 26] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + <element + name="exactMatch" + type="normalizedString" /> + </sequence> + </group> + + <!-- ========================================= --> + <!-- --> + <!-- Result Types --> + <!-- --> + <!-- ========================================= --> + + <!-- --> + <!-- ENUM --> + <!-- --> + + <complexType + name="enumType"> + <complexContent> + <extension + base="iris:resultType"> + <sequence> + <element + name="e164Number" + type="token" /> + <element + name="enumHandle" + type="ereg:normalizedStringPrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="nameServer" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="registrant" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <group ref="ereg:contactGroup" /> + <element + name="lastContactModificationDateTime" + type="ereg:dateTimePrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + + + +Newton Standards Track [Page 27] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + <element + name="lastContactModificationBy" + type="iris:entityType" + minOccurs="0" + maxOccurs="1" /> + <element + name="status" + minOccurs="0" + maxOccurs="1"> + <complexType> + <choice + minOccurs="1" + maxOccurs="unbounded"> + <element + name="reserved" + type="ereg:enumStatusType" /> + <element + name="create" + type="ereg:enumStatusType" /> + <element + name="active" + type="ereg:enumStatusType" /> + <element + name="inactive" + type="ereg:enumStatusType" /> + <element + name="dispute" + type="ereg:enumStatusType" /> + <element + name="delete" + type="ereg:enumStatusType" /> + <element + name="transfer" + type="ereg:enumStatusType" /> + <element + name="renew" + type="ereg:enumStatusType" /> + <element + name="update" + type="ereg:enumStatusType" /> + <element + name="addPeriod" + type="ereg:enumStatusType" /> + <element + name="renewPeriod" + type="ereg:enumStatusType" /> + <element + name="autoRenewPeriod" + + + +Newton Standards Track [Page 28] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + type="ereg:enumStatusType" /> + <element + name="transferPeriod" + type="ereg:enumStatusType" /> + <element + name="redemptionPeriod" + type="ereg:enumStatusType" /> + <element + name="restore" + type="ereg:enumStatusType" /> + <element + name="other" + type="ereg:enumStatusType" /> + </choice> + </complexType> + </element> + <element + name="registrationReference" + type="iris:entityType" + minOccurs="0" + maxOccurs="1" /> + <element + name="registry" + type="iris:entityType" + minOccurs="0" + maxOccurs="1" /> + <element + name="registrar" + type="iris:entityType" + minOccurs="0" + maxOccurs="1" /> + <element + name="validationEntity" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="signalCSP" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="dataCSP" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="lineCSP" + + + +Newton Standards Track [Page 29] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded"/> + <element + name="voiceCSP" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="otherCSP" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="validationEvent" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded"/> + <element + name="initialDelegationDateTime" + type="ereg:dateTimePrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="lastRenewalDateTime" + type="ereg:dateTimePrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="expirationDateTime" + type="ereg:dateTimePrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="lastDelegationModificationDateTime" + type="ereg:dateTimePrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="lastDelegationModificationBy" + type="iris:entityType" + minOccurs="0" + maxOccurs="1" /> + <element + + + +Newton Standards Track [Page 30] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + name="lastVerificationDateTime" + type="ereg:dateTimePrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + ref="iris:seeAlso" + minOccurs="0" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + + <element + name="enum" + type="ereg:enumType" + substitutionGroup="iris:result" /> + + <!-- --> + <!-- Host --> + <!-- --> + + <complexType + name="hostType"> + <complexContent> + <extension + base="iris:resultType"> + <sequence> + <element + name="hostHandle" + type="ereg:normalizedStringPrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="hostName" + type="normalizedString" /> + <element + name="ipV4Address" + type="token" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="ipV6Address" + type="token" + minOccurs="0" + maxOccurs="unbounded" /> + + + +Newton Standards Track [Page 31] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + <element + name="hostContact" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="createdDateTime" + type="ereg:dateTimePrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="lastModificationDateTime" + type="ereg:dateTimePrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="lastVerificationDateTime" + type="ereg:dateTimePrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + ref="iris:seeAlso" + minOccurs="0" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + + <element + name="host" + type="ereg:hostType" + substitutionGroup="iris:result" /> + + <!-- --> + <!-- Contact --> + <!-- --> + + <complexType + name="contactType"> + <complexContent> + <extension + base="iris:resultType"> + <sequence> + <element + + + +Newton Standards Track [Page 32] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + name="contactHandle" + type="ereg:normalizedStringPrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="commonName" + type="ereg:normalizedStringPrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1"/> + <element + name="language" + type="language" + minOccurs="0" + maxOccurs="1" /> + <element + name="type" + minOccurs="0" + maxOccurs="1"> + <complexType> + <choice> + <element + name="person" + type="ereg:contactTypeType" /> + <element + name="organization" + type="ereg:contactTypeType" /> + <element + name="role" + type="ereg:contactTypeType" /> + <element + name="other" + type="ereg:contactTypeType" /> + </choice> + </complexType> + </element> + <element + name="organization" + type="ereg:normalizedStringPrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="legalId" + type="ereg:tokenPrivacyType" + nillable="true" + minOccurs="0" + + + +Newton Standards Track [Page 33] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + maxOccurs="unbounded" /> + <element + name="eMail" + type="ereg:stringPrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="sip" + type="ereg:stringPrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="postalAddress" + minOccurs="0" + maxOccurs="unbounded" > + <complexType> + <sequence> + <element + name="address" + type="ereg:stringPrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="city" + type="ereg:stringPrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="region" + type="ereg:stringPrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="postalCode" + type="ereg:normalizedStringPrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="country" + type="ereg:tokenPrivacyType" + nillable="true" + minOccurs="0" + + + +Newton Standards Track [Page 34] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + maxOccurs="1" /> + </sequence> + </complexType> + </element> + <element + name="phone" + type="ereg:normalizedStringPrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="fax" + type="ereg:normalizedStringPrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="createdDateTime" + type="ereg:dateTimePrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="lastModificationDateTime" + type="ereg:dateTimePrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="lastVerificationDateTime" + type="ereg:dateTimePrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="translatedContact" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + ref="iris:seeAlso" + minOccurs="0" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + + + + +Newton Standards Track [Page 35] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + <element + name="contact" + type="ereg:contactType" + substitutionGroup="iris:result" /> + + <!-- --> + <!-- Registration Authority --> + <!-- --> + + <complexType + name="registrationAuthorityType"> + <complexContent> + <extension + base="iris:resultType"> + <sequence> + <element + name="serviceInstance" + type="iris:entityType" + minOccurs="0" + maxOccurs="1" /> + <element + name="organizationName" + type="string" + minOccurs="0" + maxOccurs="1" /> + <element + name="legalId" + type="token" + minOccurs="0" + maxOccurs="1"/> + <choice + minOccurs="0" + maxOccurs="3"> + <element + name="registry"> + <complexType/> + </element> + <element + name="registrar"> + <complexType/> + </element> + <element + name="other"> + <complexType/> + </element> + </choice> + <group ref="ereg:contactGroup" /> + <element + + + +Newton Standards Track [Page 36] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + ref="iris:seeAlso" + minOccurs="0" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + + <element + name="registrationAuthority" + type="ereg:registrationAuthorityType" + substitutionGroup="iris:result" /> + + <!-- --> + <!-- Validation Entity --> + <!-- --> + + <complexType + name="validationEntityType"> + <complexContent> + <extension + base="iris:resultType"> + <sequence> + <element + name="serviceInstance" + type="iris:entityType" + minOccurs="0" + maxOccurs="1" /> + <element + name="organizationName" + type="string" + minOccurs="0" + maxOccurs="1" /> + <element + name="legalId" + type="token" + minOccurs="0" + maxOccurs="1"/> + <group ref="ereg:contactGroup" /> + <element + ref="iris:seeAlso" + minOccurs="0" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + + + + +Newton Standards Track [Page 37] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + <element + name="validationEntity" + type="ereg:validationEntityType" + substitutionGroup="iris:result" /> + + <!-- --> + <!-- Communication Service Provider --> + <!-- --> + + <complexType + name="communicationServiceProviderType"> + <complexContent> + <extension + base="iris:resultType"> + <sequence> + <element + name="serviceInstance" + type="iris:entityType" + minOccurs="0" + maxOccurs="1" /> + <element + name="organizationName" + type="string" + minOccurs="0" + maxOccurs="1" /> + <element + name="legalId" + type="token" + minOccurs="0" + maxOccurs="1"/> + <element + name="cspId" + type="token" + minOccurs="0" + maxOccurs="1"/> + <choice + minOccurs="0" + maxOccurs="5"> + <element + minOccurs="0" + maxOccurs="1" + name="line"> + <complexType/> + </element> + <element + minOccurs="0" + maxOccurs="1" + name="data"> + + + +Newton Standards Track [Page 38] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + <complexType/> + </element> + <element + minOccurs="0" + maxOccurs="1" + name="voice"> + <complexType/> + </element> + <element + minOccurs="0" + maxOccurs="1" + name="signal"> + <complexType/> + </element> + <element + minOccurs="0" + maxOccurs="1" + name="other"> + <complexType/> + </element> + </choice> + <group ref="ereg:contactGroup" /> + <element + ref="iris:seeAlso" + minOccurs="0" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + + <element + name="communicationServiceProvider" + type="ereg:communicationServiceProviderType" + substitutionGroup="iris:result" /> + + <!-- --> + <!-- Validation Event --> + <!-- --> + + <complexType + name="validationEventType"> + <complexContent> + <extension + base="iris:resultType"> + <sequence> + <element + name="serial" + + + +Newton Standards Track [Page 39] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + type="token" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="methodId" + type="token" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="validationEntity" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="registrar" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="executionDateTime" + type="ereg:dateTimePrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + name="expirationDateTime" + type="ereg:dateTimePrivacyType" + nillable="true" + minOccurs="0" + maxOccurs="1" /> + <element + ref="iris:seeAlso" + minOccurs="0" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + + <element + name="validationEvent" + type="ereg:validationEventType" + substitutionGroup="iris:result" /> + + <!-- --> + <!-- Contact Group --> + <!-- --> + + + + +Newton Standards Track [Page 40] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + <group name="contactGroup"> + <sequence> + <element + name="billingContact" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="technicalContact" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="administrativeContact" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="legalContact" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="zoneContact" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="abuseContact" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="securityContact" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + <element + name="otherContact" + type="iris:entityType" + minOccurs="0" + maxOccurs="unbounded" /> + </sequence> + </group> + + <!-- --> + <!-- Privacy Label Types --> + <!-- --> + + + +Newton Standards Track [Page 41] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + <attributeGroup + name="privacyLabelAttributeGroup"> + <attribute + name="private" + type="boolean" /> + <attribute + name="denied" + type="boolean" /> + <attribute + name="doNotRedistribute" + type="boolean" /> + <attribute + name="specialAccess" + type="boolean" /> + </attributeGroup> + + <complexType + name="dateTimePrivacyType"> + <simpleContent> + <extension + base="dateTime"> + <attributeGroup + ref="ereg:privacyLabelAttributeGroup" /> + </extension> + </simpleContent> + </complexType> + + <complexType + name="stringPrivacyType"> + <simpleContent> + <extension + base="string"> + <attributeGroup + ref="ereg:privacyLabelAttributeGroup" /> + </extension> + </simpleContent> + </complexType> + + <complexType + name="normalizedStringPrivacyType"> + <simpleContent> + <extension + base="normalizedString"> + <attributeGroup + ref="ereg:privacyLabelAttributeGroup" /> + </extension> + </simpleContent> + </complexType> + + + +Newton Standards Track [Page 42] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + <complexType + name="tokenPrivacyType"> + <simpleContent> + <extension + base="token"> + <attributeGroup + ref="ereg:privacyLabelAttributeGroup" /> + </extension> + </simpleContent> + </complexType> + + <complexType + name="enumStatusType"> + <sequence> + <element + name="appliedDate" + type="dateTime" + minOccurs="0" + maxOccurs="1" /> + <element + name="description" + minOccurs="0" + maxOccurs="unbounded"> + <complexType> + <simpleContent> + <extension + base="string"> + <attribute + name="language" + type="language" + use="required" /> + </extension> + </simpleContent> + </complexType> + </element> + <element + name="subStatus" + minOccurs="0" + maxOccurs="1"> + <complexType> + <simpleContent> + <extension + base="token"> + <attribute + type="token" + use="required" + name="authority"/> + </extension> + + + +Newton Standards Track [Page 43] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + </simpleContent> + </complexType> + </element> + </sequence> + <attributeGroup + ref="ereg:privacyLabelAttributeGroup" /> + <attribute + name="actor"> + <simpleType> + <restriction + base="string"> + <enumeration + value="registry"/> + <enumeration + value="registrar"/> + </restriction> + </simpleType> + </attribute> + <attribute + name="disposition"> + <simpleType> + <restriction + base="string"> + <enumeration + value="prohibited"/> + <enumeration + value="pending"/> + </restriction> + </simpleType> + </attribute> + <attribute + name="scope" + type="token" /> + </complexType> + + <complexType + name="contactTypeType"> + <sequence> + <element + name="description" + minOccurs="0" + maxOccurs="unbounded"> + <complexType> + <simpleContent> + <extension + base="string"> + <attribute + name="language" + + + +Newton Standards Track [Page 44] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + type="language" + use="required" /> + </extension> + </simpleContent> + </complexType> + </element> + </sequence> + <attributeGroup + ref="ereg:privacyLabelAttributeGroup" /> + </complexType> + + <!-- ========================================= --> + <!-- --> + <!-- Error Codes --> + <!-- --> + <!-- ========================================= --> + + <!-- --> + <!-- Search Too Wide --> + <!-- --> + + <element + name="searchTooWide" + type="iris:codeType" + substitutionGroup="iris:genericCode" /> + + <!-- --> + <!-- Language Not Supported --> + <!-- --> + + <complexType + name="languageNotSupportedType"> + <complexContent> + <extension + base="iris:codeType"> + <sequence> + <element + name="unsupportedLanguage" + type="language" + minOccurs="1" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + + <element + name="languageNotSupported" + + + +Newton Standards Track [Page 45] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + type="ereg:languageNotSupportedType" + substitutionGroup="iris:genericCode" /> + + </schema> + + Figure 1: ereg.xsd + +5. Blocks Extensible Exchange Protocol (BEEP) Transport Compliance + + IRIS allows several extensions of the core capabilities. This + section outlines those extensions allowable by IRIS-BEEP [6]. + +5.1. Message Pattern + + This registry type uses the default message pattern as described in + IRIS-BEEP [6]. + +5.2. Server Authentication + + This registry type only uses the basic Transport Layer Security (TLS) + server authentication method as described in IRIS-BEEP [6]. + +6. URI Resolution + +6.1. Application Service Label + + The application service label associated with this registry type MUST + be "EREG1". This is the abbreviated form of the URN for this + registry type, urn:ietf:params:xml:ns:ereg1. + +7. Internationalization Considerations + + Implementers should be aware of considerations for + internationalization in IRIS [5]. + + The social data associated with contacts may be non-ASCII, and could + contain virtually any Unicode character. The <language> element is + provided in queries that have potential to traverse such data. + Clients should use these elements to indicate to the server of the + target languages desired, and servers should use these elements to + better enable normalization and search processes (see + <http://www.unicode.org/reports/tr15/>). + + Clients needing to localize the data tags in this protocol should + take note that localization is only needed on the names of XML + elements and attributes with the exception of elements containing + date and time information. The schema for this registry has been + designed so that clients need not interpret the content of elements + + + +Newton Standards Track [Page 46] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + or attributes for localization, other than those elements containing + date and time information. + + Clients should also make use of the <language> elements provided in + many of the results. Results containing data that may be in Unicode + are accompanied by these elements in order to aid better presentation + of the data to the user. + + The "dateTimePrivacyType" element content conforms to the XML Schema + [3] data type "dateTime". The contents of this element MUST be + specified using the 'Z' indicator for Coordinated Universal Time + (UTC). + +8. IANA Considerations + +8.1. XML Namespace URN Registration + + This document makes use of a proposed XML namespace and schema + registry specified in XML_URN [16]. Accordingly, the following + registration information is provided for the IANA: + + o URN/URI: + + * urn:ietf:params:xml:schema:ereg1 + + o Contact: + + * Andrew Newton <andy@hxr.us> + + o XML: + + * The XML Schema specified in Section 4 + + o URN/URI: + + * urn:ietf:params:xml:ns:ereg1 + + o Contact: + + * Andrew Newton <andy@hxr.us> + + o XML: + + * None. + + + + + + + +Newton Standards Track [Page 47] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + +8.2. S-NAPTR Registration + + The following S-NAPTR application service tag [20] has been + registered with IANA according to the IANA considerations defined in + IRIS [5]: + + EREG1 + +8.3. BEEP Registration + + The following BEEP Profile URI has been registered with IANA + (http://www.iana.org/assignments/beep-parameters), in addition to the + registration provided in IRIS-BEEP [6]. + + http://iana.org/beep/iris1/ereg1 + +9. Security Considerations + + This document lays out no new considerations for security precautions + beyond that specified in IRIS [5]. + +10. Normative References + + [1] World Wide Web Consortium, "Extensible Markup Language (XML) + 1.0", W3C XML, February 1998, + <http://www.w3.org/TR/1998/REC-xml-19980210>. + + [2] World Wide Web Consortium, "Namespaces in XML", W3C XML + Namespaces, January 1999, + <http://www.w3.org/TR/1999/REC-xml-names-19990114>. + + [3] World Wide Web Consortium, "XML Schema Part 2: Datatypes", W3C + XML Schema, October 2004, <http://www.w3.org/TR/xmlschema-2/>. + + [4] World Wide Web Consortium, "XML Schema Part 1: Structures", W3C + XML Schema, October 2004, <http://www.w3.org/TR/xmlschema-1/>. + + [5] Newton, A. and M. Sanz, "IRIS: The Internet Registry + Information Service (IRIS) Core Protocol", RFC 3981, January + 2005. + + [6] Newton, A. and M. Sanz, "Using the Internet Registry + Information Service (IRIS) over the Blocks Extensible Exchange + Protocol (BEEP)", RFC 3983, January 2005. + + [7] Hinden, R. and S. Deering, "Internet Protocol Version 6 (IPv6) + Addressing Architecture", RFC 3513, April 2003. + + + + +Newton Standards Track [Page 48] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + + [8] Postel, J., "Internet Protocol", STD 5, RFC 791, September + 1981. + + [9] Mockapetris, P., "Domain names - implementation and + specification", STD 13, RFC 1035, November 1987. + + [10] Bradner, S., "Key words for use in RFCs to Indicate Requirement + Levels", RFC 2119, BCP 14, March 1997. + + [11] International Organization for Standardization, "Codes for the + representation of names of countries, 3rd edition", ISO + Standard 3166, August 1988. + + [12] Braden, R., "Requirements for Internet Hosts - Application and + Support", STD 3, RFC 1123, October 1989. + + [13] International Telecommunications Union, "The International + Public Telecommunication Numbering Plan", ITU-T Recommendation + E.164, February 2005. + + [14] International Telecommunications Union, "Notation for national + and international telephone numbers, e-mail addresses and Web + addresses", ITU-T Recommendation E.123, February 2001. + + [15] Hoffman, P. and M. Blanchet, "Nameprep: A Stringprep Profile + for Internationalized Domain Names (IDN)", RFC 3491, March + 2003. + + [16] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, + January 2004. + + [17] Faltstrom, P. and M. Mealling, "The E.164 to Uniform Resource + Identifiers (URI) Dynamic Delegation Discovery System (DDDS) + Application (ENUM)", RFC 3761, April 2004. + + [18] Hollenbeck, S., "Domain Registry Grace Period Mapping for the + Extensible Provisioning Protocol (EPP)", RFC 3915, September + 2004. + + [19] Braden, R., "Requirements for Internet Hosts - Application and + Support", STD 3, RFC 1123, October 1989. + + [20] Daigle, L. and A. Newton, "Domain-Based Application Service + Location Using SRV RRs and the Dynamic Delegation Discovery + Service (DDDS)", RFC 3958, January 2005. + + + + + + +Newton Standards Track [Page 49] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + +Appendix A. Contributions and Acknowledgements + + This document is a derivative of the specification used to define + forward domain registries for IRIS. Marcos Sanz was a major + contributor to that specification, and many of his words and ideas + are present in this document. Other contributors include Alexander + Mayrhofer, Bernie Hoeneisen, Otmar Lendl, and Scott Hollenbeck. + +Author's Address + + Andrew L. Newton + VeriSign, Inc. + 21345 Ridgetop Circle + Sterling, VA 20166 + USA + + Phone: +1.7039483382 + EMail: andy@hxr.us + URI: http://www.verisignlabs.com/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Newton Standards Track [Page 50] + +RFC 4414 ENUM Registry Type for IRIS February 2006 + + +Full Copyright Statement + + Copyright (C) The Internet Society (2006). + + This document is subject to the rights, licenses and restrictions + contained in BCP 78, and except as set forth therein, the authors + retain all their rights. + + This document and the information contained herein are provided on an + "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS + OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET + ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE + INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED + WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Intellectual Property + + The IETF takes no position regarding the validity or scope of any + Intellectual Property Rights or other rights that might be claimed to + pertain to the implementation or use of the technology described in + this document or the extent to which any license under such rights + might or might not be available; nor does it represent that it has + made any independent effort to identify any such rights. Information + on the procedures with respect to rights in RFC documents can be + found in BCP 78 and BCP 79. + + Copies of IPR disclosures made to the IETF Secretariat and any + assurances of licenses to be made available, or the result of an + attempt made to obtain a general license or permission for the use of + such proprietary rights by implementers or users of this + specification can be obtained from the IETF on-line IPR repository at + http://www.ietf.org/ipr. + + The IETF invites any interested party to bring to its attention any + copyrights, patents or patent applications, or other proprietary + rights that may cover technology that may be required to implement + this standard. Please address the information to the IETF at + ietf-ipr@ietf.org. + +Acknowledgement + + Funding for the RFC Editor function is provided by the IETF + Administrative Support Activity (IASA). + + + + + + + +Newton Standards Track [Page 51] + |