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>
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.
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".
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>
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.
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).
<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.
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.
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">
<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
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>
</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">
<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