One document matched: draft-ietf-ecrit-additional-data-09.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<rfc category="std" ipr="trust200902" docName="draft-ietf-ecrit-additional-data-09.txt">
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc compact="no" ?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>
<front>
<title abbrev="Additional Call Data">Additional Data related to an Emergency Call</title>
<author fullname="Brian Rosen" initials="B.R" surname="Rosen">
<organization>NeuStar</organization>
<address>
<postal>
<street>470 Conrad Dr.</street>
<city>Mars</city>
<region>PA</region>
<code>16046</code>
<country>US</country>
</postal>
<phone>+1 724 382 1051</phone>
<email>br@brianrosen.net</email>
</address>
</author>
<author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
<organization>Nokia Siemens Networks</organization>
<address>
<postal>
<street>Linnoitustie 6</street>
<city>Espoo</city>
<code>02600</code>
<country>Finland</country>
</postal>
<phone>+358 (50) 4871445</phone>
<email>Hannes.Tschofenig@gmx.net</email>
<uri>http://www.tschofenig.priv.at</uri>
</address>
</author>
<author initials="R." surname="Marshall" fullname="Roger Marshall">
<organization>TeleCommunication Systems, Inc.</organization>
<address>
<postal>
<street>2401 Elliott Avenue</street>
<city>Seattle</city>
<region>WA</region>
<code>98121</code>
<country>US</country>
</postal>
<phone>+1 206 792 2424</phone>
<email>rmarshall@telecomsys.com</email>
<uri>http://www.telecomsys.com</uri>
</address>
</author>
<author fullname="Randall Gellens" initials="R." surname="Gellens">
<organization>Qualcomm Technologies, Inc.</organization>
<address>
<postal>
<street>5775 Morehouse Drive</street>
<city>San Diego</city>
<region>CA</region>
<code>92121</code>
<country>US</country>
</postal>
<email>rg+ietf@qti.qualcomm.com</email>
</address>
</author>
<date year="2013"/>
<area>RAI</area>
<workgroup>ECRIT</workgroup>
<keyword>I-D</keyword>
<keyword>Internet-Draft</keyword>
<keyword>Additional Call Data</keyword>
<keyword>Emergency Services</keyword>
<keyword>Call Information</keyword>
<abstract>
<t>When an emergency call is sent to a Public Safety Answering Point (PSAP),
the device that sends it, as well as any application service
provider in the path of the call, or access network provider through which the call
originated may have information about the call or the caller which the PSAP may be
able to use. This document describes data structures and a mechanism to convey such data to the PSAP.
The mechanism uses a Uniform Resource Identifier (URI), which may point to either an external resource or an object in the body of the SIP message.
The mechanism thus allows the data to be passed by reference (when the URI points to an external resource) or by value (when it points into the body of the message). This follows the tradition of prior
emergency services standardization work where data can be conveyed by value within the call signaling
(i.e., in body of the SIP message) and also by reference.</t>
</abstract>
</front>
<middle>
<!-- ******************************************************************************* -->
<section anchor="introduction" title="Introduction">
<t>When an IP-based emergency call is initiated a rich set of data from multiple data sources is conveyed to the
Public Safety Answering Point (PSAP). This data includes information about the calling party
identity, the multimedia capabilities of the device, the emergency service number, location information, and meta-data about the sources.
The device, the access network provider, and any service
provider in the call path may have even more information that may be useful for a PSAP call taker. This document extends the basic set of
data communicated with an IP-based emergency call providing call takers and the PSAP organization valuable insight and increased situational awareness.
</t>
<t>In general, there are three categories of data communicated in an emergency call:
<list style="hanging">
<t hangText="Data Associated with a Location:">Location data is conveyed in the Presence Information Data Format
Location Object (PIDF-LO) data structure originally defined in RFC 4119 <xref target="RFC4119"/>. There may be
data that is specific to the location not available in the location data structure itself, such as floor plans,
tenant and building owner contact data, heating, ventilation and air conditioning (HVAC) status, etc.</t>
<t hangText="Data Associated with a Call:">While information is carried in the call setup procedure itself
(as part of the SIP headers as well as in the body of the SIP message), there is additional data known by the
device making the call, or a service provider in the path of the call. This information may include the service provider contact information,
subscriber identity and contact
information, the type of service the service provider and access network provider offer, what kind of device is being used, etc. Some data is device or
service dependent data. For example, a car telematics system may have crash information. A medical monitoring
device may have sensor data.</t>
<t hangText="Data Associated with a Caller:">This is personal data about a caller, such as medical information and
emergency contact data.</t>
</list>
</t>
<t>This document only defines data structures relevant to data associated with the call. Other forms of additional data may use
this mechanism to carry data, but those blocks are not defined in this document.</t>
<t>For interoperability, there needs to be a common way for the
information conveyed to a PSAP to be encoded and identified.
Identification allows emergency services authorities to know
during call processing which types of data are present and to
determine if they wish to access it. A common encoding allows
the data to be accessed.
This document defines the data structures
and a way to communicate the information in several ways. Although current standization efforts around IP-based emergency
services are focused on the Session Initiation Protocol (SIP) and HTTP the data structures in XML format described in this document
are usable for other communication systems as well. In <xref target="data-structures"/> the data structures are defined and the SIP/HTTP transport
components are defined in <xref target="transport"/> to offer a clear separation between the two.</t>
<t>More technically, the data structure described in this document is represented as one or more "blocks" of information.
Each of the blocks is an XML structure with an associated Multipurpose Internet Mail
Extensions (MIME) type for encapsulation, and an extensible set of these types constitute
the data set. A registry is defined to list the block types that may be included.
</t>
<!--
<t>Devices or services may have data useful to PSAPs and emergency responders that is specific to the type of device or service providing the data. An example is telematics data available from vehicles equipped with sensors and mechanisms to provide the sensor data (for example, the VEDS data set). The mechanism described in this document can be used to provide such data by defining a MIME type and including a reference to the data in the Call-Info header. PSAPS and emergency responders have to be prepared in advance to handle such data, and may or may not choose to accept it. To control the types of data a PSAP or responder may encounter using this mechanism, a registry of data sets is created by this document. The registry allows the PSAP, responder, or entity processing the
call to identify in advance the types of data it is prepared to
accept, and fetch or access only those types.</t>
-->
</section>
<!-- ******************************************************************************* -->
<section title="Terminology">
<t> 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 <xref target="RFC2119">RFC 2119</xref>.</t>
<!-- <t>The term "Service Provider" is used throughout this document as a service entity in the path of an emergency call (such as a carrier or a relay service) or the access infrastructure provider who may provide location.</t> -->
<t>This document also uses terminology from <xref target="RFC5012"/>.
We use the term service provider to refer to an Application Service Provider (ASP) or to Voice Service Provider (VSP), which is a specific type of ASP. With the term "Access Network Provider" we refer to the Internet
Access Provider (IAP) and the Internet Service Provider (ISP) without further distinguishing these two entities, since the difference between the two is not relevant for this document. Note that the roles of ASP and access network provider may be provided by a single company.</t>
<t>In the data block definitions, see <xref target="data-structures"/>, the values for the "Use:" label are specified as one of:
<list style="hanging">
<t hangText="'Required':"> means they must be present in the data structure.</t>
<t hangText="'Conditional':"> means they must be present unless the specified condition is met, in which case the they may be present.</t>
<t hangText="'Optional':"> means they may be present.</t>
</list>
</t>
</section>
<!-- ******************************************************************************* -->
<section anchor="data-structures" title="Data Structures">
<t>This section defines the following five data structures, each as a data block. For each block we define the MIME type, and the XML data structure
<list style="hanging">
<t hangText="'Data Provider':"> This block supplies name and contact information for the entity that created the data. <xref target="data-provider"/> provides the details. </t>
<t hangText="'Service Information':"> This block supplies information about the service. The description can be found in <xref target="service-information"/>.</t>
<t hangText="'Device Information':"> This block supplies information about the device placing the call. Device information can be found in <xref target="device-information"/>.</t>
<t hangText="'Owner/Subscriber':"> This block supplies information about the owner of the device or about the subscriber. Details can be found in <xref target="owner-subscriber"/>.</t>
<t hangText="'Comment':"> This block provides a way to supply free form human readable text to the PSAP or emergency responders. This simple structure is defined in <xref target="comment"/>.</t>
</list>
</t>
<t>Note that the xCard format is re-used in some of the data structures to provide contact information. In a xCard there is no way to specify a "main" telephone number. These numbers are useful to emergency responders who are called to a large enterprise. This document adds a new property value to the "tel" property of the TYPE parameter called "main". It can be used in any xCard in additional data.</t>
<section anchor="data-provider" title="Data Provider Information">
<t>This block is intended to be provided by any service provider in the
path of the call or the access network provider. It includes
identification and contact information. This block SHOULD be
provided by every service provider in the call path, and by the
access network provider. Devices MAY use this block to provide
identifying information. The MIME subtype is "application/emergencyCall.ProviderInfo+xml".</t>
<section title="Data Provider String">
<t>
<list style="hanging">
<t hangText="Data Element:">Data Provider String<vspace blankLines="1"/>
</t>
<t hangText="Use:">Required<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><DataProviderString><vspace blankLines="1"/>
</t>
<t hangText="Description:">This is a plain language string suitable for displaying the
name of the service provider that created the additional data structure. If the device
created the structure the value is identical to the contact header in the SIP INVITE.
<!-- This data is required and should reflect the contact information of the owner of the
device. -->
<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:"> Inform the call taker of the identity of the entity
providing the additional call data structure.</t>
<t hangText="How Used by Call Taker:">Allows the call taker to interpret the data in
this structure. The source of the information often influences how the information is
used, believed or verified. </t>
</list>
</t>
</section>
<section title="Data Provider ID">
<t>
<list style="hanging">
<t hangText="Data Element:">Data Provider ID<vspace blankLines="1"/>
</t>
<t hangText="Use:">Conditional. Must be provided if the service provider is located in a jurisdiction that maintains such ids. Devices are not required to provide it.<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><ProviderID><vspace blankLines="1"/>
</t>
<t hangText="Description:">A jurisdiction specific code for the provider shown in the
<DataProvidedBy> element that created the structure of the call. <!-- NOTE:
In the US, the NENA Company ID must appear here. Additional information may be found
at http://www.nena.org/nena-company-id. The NENA Company ID shall be in the form of
any URI for example: urn:nena:companyid:<NENA Company ID>. --> This data SHOULD be provided if
the local jurisdiction maintains such an ID list. For example, in North America, this would be
a "NENA Company ID". Devices SHOULD NOT use this element.<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">Inform the call taker of the identity of the entity
providing the additional call data structure.<vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">Where jurisdictions have lists of providers the
Data Provider ID can be useful.</t>
</list>
</t>
</section>
<section title="Data Provider ID Series">
<t>
<list style="hanging">
<t hangText="Data Element:">Data Provider ID Series<vspace blankLines="1"/>
</t>
<t hangText="Use:">Conditional. If Data Provider ID is provided, Data Provider ID Series is required.<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><ProviderIDSeries><vspace blankLines="1"/>
</t>
<t hangText="Description:">Identifies the issuer of the
the ProviderId. A registry will reflect the following valid
entries: <list style="symbols">
<t>NENA</t>
<t>EENA</t>
</list>
<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">Identifies how to interpret the Data Provider ID.<vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">Determines which provider ID registry to consult for more information</t>
</list>
</t>
</section>
<section title="Type of Data Provider">
<t>
<list style="hanging">
<t hangText="Data Element:">Type of Data Provider ID<vspace blankLines="1"/>
</t>
<t hangText="Use:">Conditional. If Data Provider ID is provided, Type of Data Provider ID is required.<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><TypeOfProviderID><vspace blankLines="1"/>
</t>
<t hangText="Description:">Identifies the type of data provider id being supplied in
the ProviderId data element. A registry with an initial set of values is shown in the table below.
<figure anchor="TypeOfProviderID-Registry" title="Type of Data Provider ID Registry">
<artwork>
+------------------------------+------------------------------------+
| Token | Description |
+------------------------------+------------------------------------+
|Access Network Provider | Access network service provider |
|Service Provider | Calling or Origination telecom SP |
|Service Provider Subcontractor| A contractor to another kind of SP |
|Telematics Provider | A sensor based SP, especially |
| | vehicle based |
|Language Translation Provider | A spoken language translation SP |
|Expert Advice Provider | An SP giving expert advice |
|Emergency Modality Translation| An emergency call specific |
| | modality translation service |
| | e.g. for sign language |
|Relay Provider | A interpretation SP, for example, |
| | video relay for sign language |
| | interpreting |
|Other | Any other type of service provider |
+------------------------------+------------------------------------+
</artwork>
</figure><vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">Identifies what kind of data provider this is.<vspace blankLines="1"/></t>
<t hangText="How Used by Call Taker:">To decide who to contact when further information is needed</t>
</list>
</t>
</section>
<section title="Data Provider Contact URI">
<t>
<list style="hanging">
<t hangText="Data Element:">Data Provider Contact URI<vspace blankLines="1"/>
</t>
<t hangText="Use:">Required<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><ContactURI><vspace blankLines="1"/>
</t>
<t hangText="Description:">For a service provider the contact SHOULD be a contact
URI. This MUST be a SIP URI. If a telephone number is the contact
address it should be provided in the form of
sip:telephonenumber@serviceprovider:user=phone. If the call is from a device, this
would reflect the contact information of the owner of the
device. When provided by a service provider, this would be a URI to a 24/7 support organization tasked to provide PSAP support
for this emergency call.<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">Additional data providers may need to be contacted for
error or other unusual circumstances.<vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">To contact the supplier of the additional data for assistance in handling the call.</t>
</list>
</t>
</section>
<section title="Data Provider Languages(s) Supported">
<t>
<list style="hanging">
<t hangText="Data Element:">Data Provider Language(s) supported<vspace blankLines="1"/>
</t>
<t hangText="Use:">Conditional<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><Language><vspace blankLines="1"/>
</t>
<t hangText="Description:">The language used by the entity at the Data Provider Contact URI as an alpha 2-character code as defined in ISO
639-1:2002 Codes for the
representation of names of languages -- Part 1: Alpha-2 code Multiple instances of
this element may occur. Order is significant; preferred language should appear first.
This data is required if a Data Provider Contact URI is provided. The content must reflect the languages
supported at the contact URI.<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">Information needed to determine if emergency service authority can
communicate with the service provider or if an interpreter will be needed.<vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">If call taker cannot speak language(s) supported
by the service provider, a translation service will need to be added to the conversation.</t>
</list>
</t>
</section>
<section title="xCard of Data Provider">
<t>
<list style="hanging">
<t hangText="Data Element:">xCard of Data Provider<vspace blankLines="1"/>
</t>
<t hangText="Use:">Optional<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><DataProviderContact><vspace blankLines="1"/>
</t>
<t hangText="Description:">There are many fields in the xCARD and the creator of the data
structure is encouraged to provide as much information as they have available. N, ORG, ADR, TEL, EMAIL are suggested at a minimum. N should contain name of support group or device owner as appropriate. If more than one TEL property is provided, a parameter from the vCard Property Value registry MUST be specified on each TEL. For encoding of the xCard this specification uses the XML-based encoding specified in <xref target="RFC6351"/>.<vspace blankLines="1"/> and is hereinafter referred to as "xCard"</t>
<t hangText="Reason for Need:">Information needed to determine additional contact
information.<vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">Assists call taker by providing additional contact
information that may not be included in the SIP invite or the PIDF-LO.</t>
</list>
</t>
</section>
<section title="Subcontractor Principal">
<t>
<list style="hanging">
<t hangText="Data Element:">Subcontractor Principal<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><SubcontratorPrincipal><vspace blankLines="1"/>
</t>
<t hangText="Description:">If the data provider is a subcontractor to another
provider such as an access infrastructure provider or
telematics provider, this element contains the DataProviderString of the
service provider to indicate which provider the subcontractor is working for.
This data is required if the Data Provider type is subcontractor. <vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:"> Identify the entity the subcontractor works for.</t>
<t hangText="How Used by Call Taker:">Allows the call taker to understand what the relationship
between data providers and the service providers in the path of the call are. </t>
</list>
</t>
</section>
<section title="Subcontractor Priority">
<t>
<list style="hanging">
<t hangText="Data Element:">Subcontractor Priority<vspace blankLines="1"/>
</t>
<t hangText="Use:">Required<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><SubcontractorPriority><vspace blankLines="1"/>
</t>
<t hangText="Description:">If the subcontractor should be contacted first, this element should have a "sub" value. If the access or origination service provider should be contacted first, this element should have a "main" value.
This data is required if the Data Provider type is "subcontractor". <vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:"> Inform the call taker whether the network operator or the subcontractor should be contacted first if support is needed.</t>
<t hangText="How Used by Call Taker:">To decide which entity to contact first if assistance is needed.</t>
</list>
</t>
</section>
<section title="emergencyCall.ProviderInfo Example">
<figure anchor="emergencyCall.ProviderInfo-example-fig" title="emergencyCall.ProviderInfo Example">
<artwork>
<![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<ad:emergencyCall.ProviderInfo
xmlns:ad="urn:ietf:params:xml:ns:emergencyCall.ProviderInfo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ad:DataProviderString>Example VoIP Provider
</ad:DataProviderString>
<ad:ProviderID>ID123</ad:ProviderID>
<ad:ProviderIDSeries>NENA</ad:ProviderIDSeries>
<ad:TypeOfProvider>Service Provider</ad:TypeOfProvider>
<ad:ContactURI>sip:voip-provider@example.com</ad:ContactURI>
<ad:Language>EN</ad:Language>
<xc:DataProviderContact
xmlns:xc="urn:ietf:params:xml:ns:vcard-4.0">
<vcard>
<fn><text>Hannes Tschofenig</text></fn>
<n>
<surname>Hannes</surname>
<given>Tschofenig</given>
<additional/>
<prefix/>
<suffix>Dipl. Ing.</suffix>
</n>
<bday><date>--0203</date></bday>
<anniversary>
<date-time>20090808T1430-0500</date-time>
</anniversary>
<gender><sex>M</sex></gender>
<lang>
<parameters><pref><integer>1</integer></pref>
</parameters>
<language-tag>de</language-tag>
</lang>
<lang>
<parameters><pref><integer>2</integer></pref>
</parameters>
<language-tag>en</language-tag>
</lang>
<org>
<parameters><type><text>work</text></type>
</parameters>
<text>Example VoIP Provider</text>
</org>
<adr>
<parameters>
<type><text>work</text></type>
<label><text>Hannes Tschofenig
Linnoitustie 6
Espoo , Finland
02600</text></label>
</parameters>
<pobox/>
<ext/>
<street>Linnoitustie 6</street>
<locality>Espoo</locality>
<region>Uusimaa</region>
<code>02600</code>
<country>Finland</country>
</adr>
<tel>
<parameters>
<type>
<text>work</text>
<text>voice</text>
</type>
</parameters>
<uri>tel:+358 50 4871445</uri>
</tel>
<email>
<parameters><type><text>work</text></type>
</parameters>
<text>hannes.tschofenig@nsn.com</text>
</email>
<geo>
<parameters><type><text>work</text></type>
</parameters>
<uri>geo:60.210796,24.812924</uri>
</geo>
<key>
<parameters><type><text>home</text></type>
</parameters>
<uri>
http://www.tschofenig.priv.at/key.asc
</uri>
</key>
<tz><text>Finland/Helsinki</text></tz>
<url>
<parameters><type><text>home</text></type>
</parameters>
<uri>http://www.tschofenig.priv.at</uri>
</url>
</vcard>
</xc:DataProviderContact>
</ad:emergencyCall.ProviderInfo>
]]></artwork>
</figure>
</section>
</section>
<!-- ******************************************************************************* -->
<section anchor="service-information" title="Service Information">
<t>This block describes the service that the service provider provides
to the caller. It SHOULD be included by all SPs in the path of the
call. The mime subtype is "application/emergencyCall.SvcInfo+xml".</t>
<section title="Service Environment">
<t>
<list style="hanging">
<t hangText="Data Element:">Service Environment<vspace blankLines="1"/>
</t>
<t hangText="Use:">Required<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><SvcEnvironment><vspace blankLines="1"/>
</t>
<t hangText="Description:">This element defines whether a call is from a business or
residence caller. Currently, the only valid entries are 'Business' or 'Residence'.<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">To assist in determining equipment and manpower
requirements.<vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">Information may be used to assist in determining equipment and
manpower requirements for emergency responders. As the information is not always available, and the registry is not all encompassing, this is at best advisory information, but since it mimics a similar capability in some current emergency calling systems, it is known to be valuable. The service provider uses its best information (such as a rate plan, facilities used to deliver service or service description) to determine the information and is not responsible for determining the actual characteristics of the location where the call originates from.</t>
</list>
</t>
</section>
<section title="Service Delivered by Provider to End User">
<t>
<list style="hanging">
<t hangText="Data Element:">Service Delivered by Provider to End User<vspace blankLines="1"/>
</t>
<t hangText="Use:">Required<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><SvcDelByProvider><vspace blankLines="1"/>
</t>
<t hangText="Description:">This defines the type of service the end user has
subscribed to. The implied mobility of this service can not be relied upon.
A registry with a initial set of values is defined in the table below.
<figure anchor="SvcDelByProvider-Registry" title="Service Delivered by Provider to End User Registry">
<artwork>
+--------+----------------------------------------+
| Name | Description |
+--------+----------------------------------------+
| Wrless | Wireless Telephone Service: Includes |
| | Satellite, CDMA, GSM, Wi-Fi, WiMAX, |
| | LTE (Long Term Evolution) |
| Coin | Fixed Public Pay/Coin telephones: Any |
| | coin or credit card operated device |
| 1way | One way outbound service |
| Prison | Inmate call/service |
| Temp | Soft dialtone/quick service/warm |
| | disconnect/suspended |
| MLTS | Multi-line telephone system: Includes |
| | all PBX, Centrex, key systems, |
| | Shared Tenant Service |
| SenseU | Sensor, unattended: Includes devices |
| | that generate DATA ONLY. This is |
| | one-way information exchange and |
| | there will be no other form of |
| | communication |
| SenseA | Sensor, attended: Includes devices |
| | that are supported by a monitoring |
| | service provider or automatically |
| | open a two-way communication path |
| POTS | Wireline: Plain Old Telephone Service |
| VOIP | VoIP Telephone Service: A type of |
| | service that offers communication |
| | over internet protocol, such as Fixed|
| | Nomadic, Mobile, ... |
| Remote | Off premise extension |
| Relay | Relay Service: a type of service where |
| | there is a human 3rd party agent who |
| | provides some kind of additional |
| | assistance to the caller. Includes |
| | sign language relay and telematics |
| | services which provide a service |
| | assistant on the call. |
+--------+----------------------------------------+
</artwork>
</figure>
More than one value MAY be returned. For example, a VoIP inmate telephone service is a
reasonable combination.
<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">Knowing the type of service may assist the PSAP with the
handling of the call.<vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">Call takers often use this information to determine what kinds of questions
to ask callers, and how much to rely on supportive information. An emergency call from a prison is treated differently
that a call from a sensor device. As the information is not always available, and the registry is not all encompassing, this is at best advisory information, but since it mimics a similar capability in some current emergency calling systems, it is known to be valuable.</t>
</list>
</t>
</section>
<section title="Service Mobility Environment">
<t>
<list style="hanging">
<t hangText="Data Element:">Service Mobility Environment<vspace blankLines="1"/>
</t>
<t hangText="Use:">Required<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><SvcMobility><vspace blankLines="1"/>
</t>
<t hangText="Description:">This provides the service providers view of the mobility of the caller. As the service provider may not know the characteristics of the actual access network used, the value not be relied upon.
A registry will reflect the following initial valid entries:
<list style="symbols">
<t>Mobile: the device should be able to move at any time </t>
<t>Fixed: the device is not expected to move unless the service is relocated </t>
<t>Nomadic: the device is not expected to change its point of attachment while on a call</t>
<t>Unknown: no information is known about the service mobility environment for the device</t>
</list>
<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">Knowing the service provider's belief of mobility may assist the PSAP with the
handling of the call.<vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">To determine whether to assume the location of the caller might change.</t>
</list>
</t>
</section>
<section title="emergencyCall.SvcInfo Example">
<figure anchor="emergencyCall.SvcInfo-example-fig" title="emergencyCall.SvcInfo Example">
<artwork>
<![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<svc:emergencyCall.SvcInfo
xmlns:svc="urn:ietf:params:xml:ns:emergencyCall.SvcInfo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<svc:SvcEnvironment>Business</svc:SvcEnvironment>
<svc:SvcDelByProvider>MLTS</svc:SvcDelByProvider>
<svc:SvcMobility>Fixed</svc:SvcMobility>
</svc:emergencyCall.SvcInfo>
]]></artwork>
</figure>
</section>
</section>
<!-- ******************************************************************************* -->
<section anchor="device-information" title="Device Information">
<t> This block provides information about the device used to place the
call. It should be provided by any service provider that knows what
device is being used, and by the device itself. The mime subtype is
"application/emergencyCall.DevInfo+xml".
</t>
<section title="Device Classification">
<t>
<list style="hanging">
<t hangText="Data Element:">Device Classification<vspace blankLines="1"/>
</t>
<t hangText="Use:">Optional<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><DeviceClassification><vspace blankLines="1"/>
</t>
<t hangText="Description:">This data element defines the kind of device making
the emergency call. If the device provides the data structure, the device
information SHOULD be provided. If the service provider provides the
structure and it knows what the device is, the service provider SHOULD
provide the device information. Often the carrier does not know what the
device is. It is possible to receive two Additional Data Associated with a
Call data structures, one created by the device and one created by the
service provider. This information describes the device, not
how it is being used. This data element defines the kind of device making
the emergency call. The registry with the initial set of values is shown below.
<figure anchor="DeviceClassification-Registry" title="Device Classification Registry">
<artwork>
+--------+----------------------------------------+
| Token | Description |
+--------+----------------------------------------+
|Cordless| Cordless handset |
| Fixed | Fixed phone |
| Mobile | Mobile handset |
| ATA | analog terminal adapter |
|Satphone| Satellite phone |
| FSense | Stationary computing device (alarm |
| | system, data sensor) |
| Guard | Guardian devices |
| Desktop| Desktop PC |
| Laptop | Laptop computing device |
| Tablet | Tablet computing device |
| Alarm | Alarm system |
| MSense | Mobile Data sensor |
| Beacon | Personal beacons (spot) |
| Auto | Auto telematics |
| Truck | Truck telematics |
| Farm | Farm equipment telematics |
| Marine | Marine telematics |
| PDA | Personal digital assistant |
| PND | Personal navigation device) |
| SmrtPhn| Smart phone |
| Itab | Internet tablet |
| Game | Gaming console |
| Video | Video phone |
| Text | Other text device |
| NA | Not Available |
+--------+----------------------------------------+
</artwork>
</figure>
<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">The device classification implies the
capability of the calling device and assists in identifying the meaning of
the emergency call location information that is being presented. For
example, does the device require human intervention to initiate a call or
is this call the result of programmed instructions? Does the calling
device have the ability to update location or condition changes?
Is this device interactive or a one-way reporting device?<vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">May assist with location of caller. For example, a
cordless handset may be outside or next door. May provide calltaker some context about
the caller, the capabilities of the device used for the call or the environment the device is being used in.</t>
</list>
</t>
</section>
<section title="Device Manufacturer">
<t>
<list style="hanging">
<t hangText="Data Element:">Device Manufacturer<vspace blankLines="1"/>
</t>
<t hangText="Use:">Optional<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><DeviceMfgr><vspace blankLines="1"/>
</t>
<t hangText="Description:">The plain language name of the manufacturer of the device.<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">Used by PSAP management for post-mortem
investigation/resolution.<vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">Probably not used by calltaker, but by PSAP
management.</t>
</list>
</t>
</section>
<section title="Device Model Number">
<t>
<list style="hanging">
<t hangText="Data Element:">Device Model Number<vspace blankLines="1"/>
</t>
<t hangText="Use:">Optional<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><DeviceModelNr><vspace blankLines="1"/>
</t>
<t hangText="Description:">Model number of the device.<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">Used by PSAP management for after action
investigation/resolution.<vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">Probably not used by calltaker, but by PSAP
management.</t>
</list>
</t>
</section>
<section title="Unique Device Identifier">
<t>
<list style="hanging">
<t hangText="Data Element:">Unique Device Identifier<vspace blankLines="1"/>
</t>
<t hangText="Use:">Optional<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><UniqueDeviceID><vspace blankLines="1"/>
</t>
<t hangText="Description:">String that identifies the specific device making the call
or creating an event.<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">Uniquely identifies the device as opposed to any signaling
identifiers encountered in the call signaling stream.<vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">Probably not used by calltaker they would need to
refer to management for investigation.</t>
</list>
</t>
</section>
<section title="Type of Device Identifier">
<t>
<list style="hanging">
<t hangText="Data Element:">Type of Device Identifier<vspace blankLines="1"/>
</t>
<t hangText="Use:">Conditional: must be provided if DeviceID is provided<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><TypeOfDeviceID><vspace blankLines="1"/>
</t>
<t hangText="Description:">Identifies the type of device identifier being generated in
the unique device identifier data element. A registry with an initial set of values can be seen below:
<figure anchor="TypeOfDeviceID-Registry" title="Registry with Device Identifier Types">
<artwork>
+--------+----------------------------------------+
| Token | Description |
+--------+----------------------------------------+
| MEID | Mobile Equipment Identifier (CDMA) |
| ESN | Electronic Serial Number(GSM) |
| MAC | Media Access Control Address (IEEE) |
| WiMAX | Device Certificate Unique ID |
| IMEI | International Mobile Equipment ID (GSM)|
| UDI | Unique Device Identifier |
| RFID | Radio Frequency Identification |
| SN | Manufacturer Serial Number |
+--------+----------------------------------------+
</artwork>
</figure>
<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">Identifies how to interpret the Unique Device Identifier.<vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">Additional information that may be used to assist
with call handling.</t>
</list>
</t>
</section>
<section title="Device/Service Specific Additional Data Structure">
<t>
<list style="hanging">
<t hangText="Data Element:">Device/service specific additional data structure<vspace blankLines="1"/>
</t>
<t hangText="Use:">Optional<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><DeviceSpecificData><vspace blankLines="1"/>
</t>
<t hangText="Description:">A URI representing additional data whose schema is specific
to the device or service which created it. An example is the VEDs structure for a
vehicle telematics device. The URI, when dereferenced, MUST yield a data structure
defined by the Device/service specific additional data type value.
Different data may be created by each
classification; e.g., telematics creates VEDS data set.
<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">Provides device/service specific data that may be used by the
call taker and/or responders.<vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">Provide information to guide call takers to select appropriate responders,
give appropriate pre-arrival instructions to callers, and advise responders of what to be prepared for. May
be used by responders to guide assistance provided.</t>
</list>
</t>
</section>
<section title="Device/Service Specific Additional Data Structure Type">
<t>
<list style="hanging">
<t hangText="Data Element:">Type of Device/service specific additional data structure<vspace blankLines="1"/>
</t>
<t hangText="Use:">Conditional. MUST be provided when Device/service specific additional URI is provided
<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><DeviceSpecificType><vspace blankLines="1"/>
</t>
<t hangText="Description:">Value from a registry defined by this document to describe the type of data
that can be retrieved from the Device/service specific additional data structure. Initial values are:
<list style="symbols">
<t>IEEE 1512 - USDOT Model for traffic incidents </t>
<t>VEDS</t>
</list>
<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">This data element allows identification of
externally defined schemas, which may have additional data that may assist in
emergency response.<vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">This data element allows the end user
(calltaker or first responder) to know what type of additional data may be available
to aid in providing the needed emergency services.
<vspace blankLines="1"/>
</t>
<t hangText="Note:">Information which is specific to a location or a caller (person) should not be placed in this section.</t>
</list>
</t>
</section>
<section title="Choosing between defining a new type of block or new type of device/service specific additional data">
<t>
For devices that have device or service specific data, there are two choices to carry it. A new block can be defined, or the device/service specific additional data URL the the DevInfo block can be used and a new type for it defined . The data passed would likely be the same in both cases. Considerations for choosing which mechanism to register under include:
<list style="hanging">
<t hangText="Applicability:">Information which will be carried by many kinds of devices or services are more appropriately defined as separate blocks.</t>
<t hangText="Privacy:">Information which may contain private data may be better sent in the DevInfo block, rather than a new block so that implementations are not tempted to send the data by value, and thus having more exposure to the data than forcing the data to be retrieved via the URL in DevInfo.</t>
<t hangText="Size:">Information which may be very may be better sent in the DevInfo block, rather than a new block so that implementations are not tempted to send the data by value. Conversely, data which is small may best be sent in a separate block so that it can be sent by value</t>
<t hangText="Availability of a server:">Providing the data via the device block requires a server be made available to retrieve the data. Providing the data via new block allows it to be sent by value (CID).</t>
</list>
</t>
</section>
<section title="emergencyCall.DevInfo Example">
<figure anchor="emergencyCall.DevInfo-example-fig" title="emergencyCallDevInfo Example">
<artwork>
<![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<svc:emergencyCall.DevInfo
xmlns:svc="urn:ietf:params:xml:ns:emergencyCall.DevInfo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<svc:DeviceClassification>Fixed phone</svc:DeviceClassification>
<svc:DeviceMfgr>Nokia</svc:DeviceMfgr>
<svc:DeviceModelNr>Lumia 800</svc:DeviceModelNr>
<svc:UniqueDeviceID>35788104</svc:UniqueDeviceID>
<svc:TypeOfDeviceID>IMEI</svc:TypeOfDeviceID>
</svc:emergencyCall.DevInfo>
]]></artwork>
</figure>
</section>
</section>
<!-- ******************************************************************************* -->
<!--
<section title="Telephone Number Privacy Indicator">
<t>In regions where callers can elect to suppress certain personally identifying information, the network or PSAP functionality can inspect privacy flags within the identity header to drive what information is passed, stored, or displayed to comply with local policy or law.</t>
<t>
<list style="hanging">
<t hangText="Data Element:">Telephone Number Privacy Indicator<vspace blankLines="1"/></t>
<t hangText="Use:">Required<vspace blankLines="1"/></t>
<t hangText="XML Element:"><TNPrivacyIndicator><vspace blankLines="1"/></t>
<t hangText="Description:">Some state and country regulations require that the caller's
name remains anonymous to all including emergency service authorities. Where this regulation is in place, the
callers name must be hidden using extensions defined for SIP.<vspace blankLines="1"/></t>
<t hangText="Reason for Need:">Some State regulations require that Non-Published
subscriber name remains private to all including emergency calls. Where this
regulation is in place, the end user\0x2019s name must be overlaid with blanks or the
verbiage, "Non-Published Number".<vspace blankLines="1"/></t>
<t hangText="How Used by Call Taker:">This is not beneficial to PSAPs; however, they
must follow state regulations. This indicator will allow for coding that overlays the
non-published subscriber name with the verbiage \0x201CNon-Published Number.\0x201D</t>
</list>
</t>
</section>
-->
<!-- ******************************************************************************* -->
<section anchor="owner-subscriber" title="Owner/Subscriber Information">
<t>This block describes the owner of the device (if provided by the
device) or the subscriber information, if provided by a service
provider. The contact location is not necessarily the location of
the caller or incident, but is rather the nominal contact address.
The mime subtype is "application/emergencyCall.Subscriber+xml".</t>
<section title="xCard for Subscriber's Data">
<t>
<list style="hanging">
<t hangText="Data Element:">xCARD for Subscriber's Data<vspace blankLines="1"/>
</t>
<t hangText="Use:">Conditional: Some services (e.g., prepaid phones, initialized phones, etc.) may not have this information.<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><SubscriberData><vspace blankLines="1"/>
</t>
<t hangText="Description:">Information known by the service provider or device about the
subscriber; e.g., Name, Address, Individual Telephone Number, Main Telephone Number and any
other data. N, ORG (if appropriate), ADR, TEL, EMAIL are suggested at a minimum. If more than one TEL property is provided, a parameter from the vCard Property Value registry MUST be specified on each TEL.<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">When the caller is unable to provide information, this data may be used to obtain it<vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">Obtaining critical information about the caller and possibly the location when it is not able to be obtained otherwise.</t>
</list>
</t>
</section>
<section anchor="emergencyCall.SubInfo-example" title="emergencyCall.SubInfo Example">
<figure anchor="emergencyCall.SubInfo-example-fig" title="emergencyCall.SubInfo Example">
<artwork>
<![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<ad:emergencyCall.SubInfo
xmlns:ad="urn:ietf:params:xml:ns:emergencyCall.SubInfo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xc:SubscriberData xmlns:xc="urn:ietf:params:xml:ns:vcard-4.0">
<vcards xmlns="urn:ietf:params:xml:ns:vcard-4.0">
<vcard>
<fn><text>Simon Perreault</text></fn>
<n>
<surname>Perreault</surname>
<given>Simon</given>
<additional/>
<prefix/>
<suffix>ing. jr</suffix>
<suffix>M.Sc.</suffix>
</n>
<bday><date>--0203</date></bday>
<anniversary>
<date-time>20090808T1430-0500</date-time>
</anniversary>
<gender><sex>M</sex></gender>
<lang>
<parameters><pref><integer>1</integer></pref>
</parameters>
<language-tag>fr</language-tag>
</lang>
<lang>
<parameters><pref><integer>2</integer></pref>
</parameters>
<language-tag>en</language-tag>
</lang>
<org>
<parameters><type><text>work</text></type>
</parameters>
<text>Viagenie</text>
</org>
<adr>
<parameters>
<type><text>work</text></type>
<label><text>Simon Perreault
2875 boul. Laurier, suite D2-630
Quebec, QC, Canada
G1V 2M2</text></label>
</parameters>
<pobox/>
<ext/>
<street>2875 boul. Laurier, suite D2-630</street>
<locality>Quebec</locality>
<region>QC</region>
<code>G1V 2M2</code>
<country>Canada</country>
</adr>
<tel>
<parameters>
<type>
<text>work</text>
<text>voice</text>
</type>
</parameters>
<uri>tel:+1-418-656-9254;ext=102</uri>
</tel>
<tel>
<parameters>
<type>
<text>work</text>
<text>text</text>
<text>voice</text>
<text>cell</text>
<text>video</text>
</type>
</parameters>
<uri>tel:+1-418-262-6501</uri>
</tel>
<email>
<parameters><type><text>work</text></type>
</parameters>
<text>simon.perreault@viagenie.ca</text>
</email>
<geo>
<parameters><type><text>work</text></type>
</parameters>
<uri>geo:46.766336,-71.28955</uri>
</geo>
<key>
<parameters><type><text>work</text></type>
</parameters>
<uri>
http://www.viagenie.ca/simon.perreault/simon.asc
</uri>
</key>
<tz><text>America/Montreal</text></tz>
<url>
<parameters><type><text>home</text></type>
</parameters>
<uri>http://nomis80.org</uri>
</url>
</vcard>
</vcards>
</xc:SubscriberData>
</ad:emergencyCall.SubInfo>
]]></artwork>
</figure>
</section>
</section>
<!-- ******************************************************************************* -->
<section anchor="comment" title="Comment">
<t>This block provides a mechanism for the data provider to supply extra, human readable information to the PSAP. It is not intended for a general purpose extension mechanism. The mime subtype is "application/emergencyCall.Comment+xml"</t>
<section title="Comment">
<t>
<list style="hanging">
<t hangText="Data Element:">EmergencyCall.Comment<vspace blankLines="1"/>
</t>
<t hangText="Use:">Optional<vspace blankLines="1"/>
</t>
<t hangText="XML Element:"><Comment><vspace blankLines="1"/>
</t>
<t hangText="Description:">Human readable text providing additional information to the PSAP staff.<vspace blankLines="1"/>
</t>
<t hangText="Reason for Need:">Explanatory information for values in the data structure <vspace blankLines="1"/>
</t>
<t hangText="How Used by Call Taker:">To interpret the data provided</t>
</list>
</t>
</section>
<section anchor="emergencyCall.Comment-example" title="emergencyCall.Comment Example">
<figure anchor="emergencyCall.Comment-example-fig" title="EmergencyCall.Comment Example">
<artwork>
<![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<sub:emergencyCall.Comment
xmlns:sub="urn:ietf:params:xml:ns:emergencyCall.Comment"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<sub:Comment xml:lang="en">This is an example text.</sub:Comment>
</sub:emergencyCall.Comment>
]]></artwork>
</figure>
</section>
</section>
</section>
<!-- ******************************************************************************* -->
<section anchor="transport" title="Transport">
<t>This section defines how to convey additional data to an
emergency service provider. Two different means are
specified: the first uses the call signaling; the second uses
the <provided-by> element of a PIDF-LO <xref target="RFC4119"/>.
<list style="numbers">
<t>
First, the ability to embed a Uniform Resource Identifier
(URI) in an existing SIP header field, the Call-Info
header, is defined. The URI points to the additional data
structure. The Call-Info header is specified in Section
20.9 of <xref target="RFC3261"/>. This document adds a new token with
the value 'emergencyCallData' for the Call-Info "purpose"
parameter. If the
"purpose" parameter is set to 'emergencyCallData' then the Call-Info header contains either an HTTPS URL pointing to an external resource or a CID (content indirection) URI that allows the data structure to be placed
in the body of the SIP message. The "purpose" parameter also contains an indication of what kind of data is available at the URI.
<vspace blankLines="1"/>
As the data is conveyed using a URI in the SIP signaling, the data itself may reside on an external resource, or may be
contained within the body of the SIP message. When the URI refers to data at an external resource, the data is said to be passed by reference.
When the URI refers to data contained within the body of the SIP message, the data is said to be passed by value. A PSAP or emergency responder is able to examine the type of data provided and selectively inspect the data it is interested in, while forwarding all of it (the values or references) to downstream entities.
<vspace blankLines="1"/>
To be conveyed in a SIP body additional data about a call is defined as a series of MIME objects, each with an XML data
structure contained inside. As usual, whenever more than one MIME part is included in the
body of a message, MIME-multipart (i.e., 'multipart/mixed') encloses
them all. This document defines the XML schemas and MIME types used for each
block. When additional data is passed by value in the SIP signaling, each CID URL points to one block in the body. Multiple URIs are used within a Call-Info header field (or multiple Call-Info header fields) to point to multiple blocks. When additional data is provided by reference (in SIP signaling or Provided-By), each HTTPS URL references one block; the data is retrieved with an HTTPS GET operation, which returns one of the blocks as an XML object.
</t>
<t>Second, the ability to embed additional data structures in the <provided-by> element of a PIDF-LO <xref target="RFC4119"/> is defined. Besides a service provider in the call path, the access network provider may also have similar information
that may be valuable to the PSAP. The access network provider may provide location in the form of
a PIDF-LO from a location server via a location configuration protocol. The data structures described in this document are not specific to the location itsef, but rather provides descriptive
information having to do with the immediate circumstances about the provision of the location (who the access network is,
how to contact that entity, what kind of service the access network provides, subscriber information, etc.). This data is
similar in nearly every respect to the data known by service providers in the path of the call. When the access network
provider and service provider are separate entities, the access network does not participate in the application layer signaling
(and hence cannot add a Call-Info header field to the SIP message), but may provide location information to assist in
locating the caller's device. The <provided-by> element of the PIDF-LO is a mechanism for the access network provider to supply the
information about the entity or organization that supplied this location information. For this reason, this document describes
a namespace per RFC 4119 for inclusion in the <provided-by> element of a PIDF-LO for adding information known
to the access network provider.</t>
</list>
</t>
<!--
<t>The subsequent sections specify how to transmit blocks of additional data.</t>
<t>Blocks can be sent by value (the data in the SIP body or PIDF-LO) or by reference (the data is retrieved via HTTPS from an external server). Data may be provided by the device and/or one or more service providers. For example, the device may provide device specific information by value, a telematics service provider may provide its contact data and data derived from the sensor data (e.g., injury prediction) by reference, and an access network provider may provide contact information by value, all in the same SIP INVITE.</t>
<t>The access network provider may supply additional data as well, by including the data within a Provided-By element of a PDIF-LO it returns for emergency use (e.g., if requested with a HELD "responseTime" attribute of "emergencyRouting" or "emergencyDispatch" <xref target="RFC5985"/>). Access network providers are expected to normally supply such information by reference (by including an HTTPS URI within the Provided-By element). This document defines a namespace and adds the namespace to the "provided-by" registry defined by PIDF-LO <xref target="RFC4119"/>.</t>
<section title="Transmitting Blocks of Additional Data" anchor="transmitting_blocks">
-->
<t>One or more blocks of data registered in the Emergency Call Additional Data registry, as defined in
<xref target="RegCreate"/>, may be included or referenced in the SIP signaling (using the Call-Info header field) or in the <provided-by> element
of a PIDF-LO. Every block must be one of the types in the registry. Since the data of an emergency call may come from multiple sources, the data itself needs information describing the source. Consequently, each entity adding additional data MUST supply the "Data Provider" block. All other blocks are optional, but each entity SHOULD supply any blocks where it has at least some of the information in the block.</t>
<section title="Transmitting Blocks using the Call-Info Header" anchor="using-call-info">
<t>A URI to
a block MAY be inserted in a SIP request or response method (most often INVITE or MESSAGE)
with a Call-Info header field containing a purpose of "emergencyCallData" together with the type of data available at the URI. The type of data is denoted by including the root of the MIME type (not including the emergencyCall prefix and the +xml suffix) with a "." separator. For example, when referencing a block with MIME type
'application/emergencyCall.ProviderInfo+xml', the 'purpose' parameter
is set to 'emergencyCallData.ProviderInfo'. An example "Call-Info"
header field for this would be:
</t>
<t>
<list style="hanging" hangIndent="4">
<t hangText="Call-Info:">https://www.example.com/23sedde3; purpose="emergencyCallData.ProviderInfo"
</t>
</list>
</t>
<t>
The Call-info header with purpose='emergencyCallData' MUST only be sent on an emergency
call, which can be ascertained by the presence of an emergency service urn in a Route header
of a SIP message.
</t>
<t>
If the data is provided by reference, an
HTTPS URI MUST be included and consequently
Transport Layer Security (TLS) protection is applied for protecting the retrieval of the information.</t>
<t>The data may also be supplied by value in a SIP message.
In this case, Content Indirection (CID) <xref target="RFC2392"/> is used, with the CID URL referencing the MIME body part.
</t>
<t> More than one Call-Info header with an emergencyCallData purpose can be expected, but at least one MUST be provided.
The device MUST provide one if it knows no service provider is in the path of the call. The
device MAY insert one if it uses a service provider. Any service provider in the path of the call MUST insert its own. For example, a device, a telematics service provider in the call path, as well as the mobile carrier handling
the call will each provide one. There may be circumstances where there is a service provider who is unaware that the call is an emergency call and cannot reasonably be expected to determine that it is an emergency call. In that case, that service provider is not expected to provide emergencyCallData.
</t>
</section>
<section title="Transmitting Blocks by Reference using the Provided-By Element">
<t>
The 'emergencyCallDataReference' element is used to transmit an additional data block by reference within a 'Provided-By' element of a PIDF-LO. The 'emergencyCallDataReference' element has two attributes: 'ref' to specify the URL, and 'purpose' to indicate the type of data block referenced. The value of 'ref' is an HTTPS URL that resolves to a data structure with information about the call. The value of 'purpose' is the same as used in a 'Call-Info' header field (as specified in <xref target="using-call-info"/>).
</t>
<t>
For example, to reference a block with MIME type
'application/emergencyCall.ProviderInfo+xml', the 'purpose' parameter
is set to 'emergencyCallData.ProviderInfo'. An example 'emergencyCallDataReference' element for this would be:
</t>
<t>
<list>
<t>
<emergencyCallDataReference ref="https://www.example.com/23sedde3" purpose="emergencyCallData.ProviderInfo"/>
</t>
</list>
</t>
</section>
<section title="Transmitting Blocks by Value using the Provided-By Element">
<t>
It is RECOMMENDED that access networks supply the data specified in this document by reference, but they MAY provide the data by value.
</t>
<t>
The 'emergencyCallDataValue' element is used to transmit an additional data block by value within a 'Provided-By' element of a PIDF-LO. The 'emergencyCallDataValue' element has one attribute: 'purpose' to indicate the type of data block contained. The value of 'purpose' is the same as used in a 'Call-Info' header field (as specified in <xref target="using-call-info"/>, and in <xref target="using-call-info"/>). The same XML structure as would be wrapped in the corresponding MIME type is placed inside the emergencyCallDataValue element.
</t>
<t>
For example:
<figure title="Example Provided-By by Value.">
<artwork>
<![CDATA[
<provided-by xmlns="urn:ietf:params:xml:ns:emergencyCallAddlData">
<emergencyCallDataValue purpose="emergencyCallData.ProviderInfo">
<ProviderID>Test</ProviderID>
<ProviderIDSeries>NENA</ProviderIDSeries>
<TypeOfProviderID>Access Infrastructure Provider
</TypeOfProviderID>
<ContactURI>sip:15555550987@burf.example.com;user=phone
</ContactURI>
</emergencyCallDataValue>
</provided-by>
]]>
</artwork>
</figure>
</t>
</section>
</section>
<!-- ******************************************************************************* -->
<section anchor="example" title="Examples">
<t>This section provides three examples of communicating additional data.
In <xref target="example1"/> additional data is communicated in a SIP INVITE per value. In <xref target="example2"/> we illustrate how additional data is added by a SIP proxy per reference. Finally, an example of conveying additional data in the <Provided-By> is illustrated.</t>
<t>
<figure anchor="example1" title="Example: Attaching Additional Data via CID to a SIP INVITE.">
<artwork>
<![CDATA[
INVITE sips:bob@biloxi.example.com SIP/2.0
Via: SIPS/2.0/TLS pc33.atlanta.example.com;branch=z9hG4bK74bf9
Max-Forwards: 70
To: Bob <sips:bob@biloxi.example.com>
From: Alice <sips:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.example.com
Call-Info: <http://wwww.example.com/alice/photo.jpg> ;purpose=icon,
<http://www.example.com/alice/> ;purpose=info,
<cid:1234567890@atlanta.example.com>
;purpose=emergencyCallData.ProviderInfo
Geolocation: <cid:target123@atlanta.example.com>
Geolocation-Routing: no
Accept: application/sdp, application/pidf+xml,
application/emergencyCallProviderinfo+xml
CSeq: 31862 INVITE
Contact: <sips:alice@atlanta.example.com>
Content-Type: multipart/mixed; boundary=boundary1
Content-Length: ...
--boundary1
Content-Type: application/sdp
...SDP goes here
--boundary1
Content-Type: application/pidf+xml
Content-ID: <target123@atlanta.example.com>
\0x2026PIDF-LO goes here
--boundary1--
Content-Type: application/emergencyCall.ProviderInfo+xml
Content-ID: <1234567890@atlanta.example.com>
...Additional Data goes here
--boundary1--
]]></artwork>
</figure>
</t>
<t>
<figure anchor="example2" title="Example: Attaching Additional Data per Reference in a SIP INVITE.">
<artwork>
<![CDATA[
INVITE sips:bob@biloxi.example.com SIP/2.0
Via: SIPS/2.0/TLS pc33.atlanta.example.com;branch=z9hG4bK74bf9
Max-Forwards: 70
To: Bob <sips:bob@biloxi.example.com>
From: Alice <sips:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.example.com
Call-Info: <http://wwww.example.com/alice/photo.jpg> ;purpose=icon,
<http://www.example.com/alice/> ;purpose=info,
<https://www.example.com/abc123456/>
;purpose=emergencyCallData.ProviderInfo
Geolocation: <cid:target123@atlanta.example.com>
Geolocation-Routing: no
Accept: application/sdp, application/pidf+xml,
application/emergencyCallProviderinfo+xml
CSeq: 31862 INVITE
Contact: <sips:alice@atlanta.example.com>
Content-Type: multipart/mixed; boundary=boundary1
Content-Length: ...
--boundary1
Content-Type: application/sdp
...SDP goes here
--boundary1
Content-Type: application/pidf+xml
Content-ID: <target123@atlanta.example.com>
PIDF-LO goes here
--boundary1--
]]></artwork>
</figure>
</t>
<t>
<figure anchor="example3" title="Example: Attaching Additional Data to Provided-By Element.">
<artwork>
<![CDATA[
TBD.
]]></artwork>
</figure>
</t>
</section>
<!-- ******************************************************************************* -->
<section title="XML Schemas">
<t>This section defines the XML schemas of the five data blocks.</t>
<section title="emergencyCall.ProviderInfo XML Schema">
<figure anchor="emergencyCallProviderInfo" title="emergencyCall.ProviderInfo XML Schema">
<artwork>
<![CDATA[
<?xml version="1.0"?>
<xs:schema
targetNamespace="urn:ietf:params:xml:ns:emergencyCall.ProviderInfo"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ad="urn:ietf:params:xml:ns:emergencyCall.ProviderInfo"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:xc="urn:ietf:params:xml:ns:vcard-4.0"
elementFormDefault="qualified"
ttributeFormDefault="unqualified">
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xs:simpleType name="iso3166a2">
<xs:restriction base="xs:token">
<xs:pattern value="[A-Z]{2}"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="emergencyCall.ProviderInfo">
<xs:complexType>
<xs:sequence>
<xs:element name="DataProviderString"
type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="ProviderID"
type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="ProviderIDSeries"
type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="TypeOfProvider"
type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="ContactURI" type="xs:anyURI"
minOccurs="1" maxOccurs="1"/>
<xs:element name="Language" type="ad:iso3166a2"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="DataProviderContact"
type="xc:vcardType" minOccurs="0"
maxOccurs="1"/>
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
]]></artwork>
</figure>
</section>
<section title="emergencyCall.SvcInfo XML Schema">
<figure anchor="addCallSvcInfo" title="emergencyCall.SvcInfo XML Schema">
<artwork>
<![CDATA[
<?xml version="1.0"?>
<xs:schema
targetNamespace="urn:ietf:params:xml:ns:emergencyCall.SvcInfo"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:svc="urn:ietf:params:xml:ns:emergencyCall.SvcInfo"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xs:element name="emergencyCall.SvcInfo">
<xs:complexType>
<xs:sequence>
<xs:element name="SvcEnvironment"
type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="SvcDelByProvider"
type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="SvcMobility"
type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="Link"
type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
]]></artwork>
</figure>
</section>
<section title="emergencyCall.DevInfo XML Schema">
<figure anchor="emergencyCallDevInfo" title="emergencyCallDevInfo XML Schema">
<artwork>
<![CDATA[
<?xml version="1.0"?>
<xs:schema
targetNamespace="urn:ietf:params:xml:ns:emergencyCall.DevInfo"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:svc="urn:ietf:params:xml:ns:emergencyCall.DevInfo"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xs:element name="emergencyCall.DevInfo">
<xs:complexType>
<xs:sequence>
<xs:element name="DeviceClassification"
type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="DeviceMfgr"
type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="DeviceModelNr"
type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="UniqueDeviceID"
type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="TypeOfDeviceID"
type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="DeviceSpecificData"
type="xs:anyURI" minOccurs="0" maxOccurs="1"/>
<xs:element name="DeviceSpecificType"
type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
]]></artwork>
</figure>
</section>
<section anchor="SubscriberXML" title="emergencyCall.SubInfo XML Schema">
<figure anchor="addCallSub" title="emergencyCall.SubInfo XML Schema">
<artwork>
<![CDATA[
<?xml version="1.0"?>
<xs:schema
targetNamespace="urn:ietf:params:xml:ns:emergencyCall.SubInfo"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:sub="urn:ietf:params:xml:ns:emergencyCall.SubInfo"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:xc="urn:ietf:params:xml:ns:vcard-4.0"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xs:element name="emergencyCall.SubInfo">
<xs:complexType>
<xs:sequence>
<!-- VCard data structure goes in here.
<xs:element name="SubscriberData"
type="xc:vcard" minOccurs="0" maxOccurs="1"/>
-->
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
]]></artwork>
</figure>
</section>
<section anchor="CommentXML" title="emergencyCall.Comment XML Schema">
<figure anchor="emergencyCall.Comment" title="EmergencyCall.Comment XML Schema">
<artwork>
<![CDATA[
<?xml version="1.0"?>
<xs:schema
targetNamespace="urn:ietf:params:xml:ns:emergencyCall.Comment"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:sub="urn:ietf:params:xml:ns:emergencyCall.Comment"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xs:element name="emergencyCall.Comment">
<xs:complexType>
<xs:sequence>
<xs:element name="Comment"
type="sub:CommentType" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="CommentType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="xml:lang"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>
]]></artwork>
</figure>
</section>
</section>
<!-- ******************************************************************************* -->
<section anchor="security" title="Security Considerations">
<t>The information in this data structure will usually be considered private. HTTPS is
specified to require the provider of the information to validate the credentials of the
requester. While the creation of a PKI that has global scope may be difficult, the
alternatives to creating devices and services that can provide critical information securely
are more daunting. The provider may enforce any policy it wishes to use, but PSAPs and responder agencies should deploy a PKI so that providers of additional data can check the certificate of the client and decide the appropriate policy to enforce based on that certificate.</t>
<t>Ideally, the PSAP and emergency responders will be given credentials signed by an authority trusted by the data provider. In most circumstances, nationally recognized credentials would be sufficient, and if the emergency services arranges a PKI, data providers could be provisioned with the root CA public key for a given nation. Some nations are developing a PKI for this, and related, purposes. Since calls could be made from devices where the device and/or the service provider(s) are not local to the emergency authorities, globally recognized credentials are useful. This might be accomplished by extending the notion of the "forest guide" described in <xref target="RFC5222"/> to allow the forest guide to provide the credential of the PKI root for areas that it has coverage information for, but standards for such a mechanism are not yet available. In its absence, the data provider will need to obtain the root CA credentials for any areas it is willing to provide additional data by out of band means. With the credential of the root CA for a national emergency services PKI, the data provider server can validate the credentials of an entity requesting additional data by reference.</t>
<t>The data provider also needs a credential that can be verified by the emergency services to know that it is receiving data from the right server. The emergency authorities could provide credentials, distinguishable from credentials it provides to emergency responders and PSAPs, which could be used to validate data providers. Such credentials would have to be acceptable to any PSAP or responder that could receive a call with additional data supplied by that provider. This would be extensible to global credential validation using the forest guide as above. In the absence of such credentials, the emergency authorities could maintain a list of local data providers' credentials provided to it out of band. At a minimum, the emergency authorities could obtain a credential from the DNS entry of the domain in the Addional Data URI to at least validate that the server is known to the domain providing the URI.</t>
<t>Data provided by devices by reference have similar credential validation issues to service providers, and the solutions are the same.</t>
</section>
<!-- ******************************************************************************* -->
<section anchor="privacy" title="Privacy Considerations">
<t>[Editor's Note: Text to be re-written.]</t>
<t>In regions where callers can elect to suppress certain personally identifying information, the network or PSAP functionality can inspect privacy flags within the SIP headers to determine what information may be passed, stored, or displayed to comply with local policy or law.</t>
<t>There is much private data in this information. Local regulations
may govern what data must be provided in emergency calls, but in
general, the emergency call system is often aided by the kinds of
information described in this document. There is a tradeoff between
the privacy considerations and the utility of the data. Certainly,
if the data cannot be protected, due to failure to establish (by TLS) a
secure connection to the data provider, data SHOULD NOT be sent unless
specifically required by regulation.
</t>
<t>Some forms of data can be sent by value in the SIP signaling or by value (URL in SIP signaling).
When data is sent by value, all intermediaries have access to the data.
If the data is private, sending by reference is more appropriate.</t>
</section>
<!-- ******************************************************************************* -->
<section title="IANA Considerations">
<section anchor="RegCreate" title="Registry creation">
<t>This document creates a new registry called 'Emergency Call Additional Data'. The following subregistries are created in Emergency Call Additional Data:</t>
<section title="Additional Call Data Provider ID Series Registry">
<t>This document creates a new subregistry called 'Additional Call Data Provider ID Series'. As defined in <xref target="RFC5226"/>, this registry
operates under "Expert Review" rules. The expert should determine that the entity requesting a new value is a legitimate issuer of service provider IDs suitable for use in Additional Call Data.</t>
<t>The content of this registry includes:</t>
<t>Name: The identifier which will be used in the ProviderIDSeries element</t>
<t>Source: The full name of the organization issuing the identifiers</t>
<t>URL: A URL to the organization for further information</t>
<t>The initial set of values is listed in the table below.</t>
<figure>
<artwork>
+-----------+-----------+--------------+----------------------+
| Name | Source | URL |
+-----------+--------------------------+----------------------+
| NENA | North American Emergency | http://www.nena.org |
| | Number Association | |
| EENA | European Emergency | http://www.eena.org |
| | Number Association | |
+-----------+--------------------------+----------------------+
</artwork>
</figure>
</section>
<section title="Additional Call Data Service Provider Type Registry">
<t>This document creates a new subregistry called 'Service Provider Type'. As defined in <xref target="RFC5226"/>, this registry
operates under "Expert Review". The expert should determine that the proposed new value is distinct from existing values and appropriate for use in the TypeOfServicerProvider element</t>
<t>The content of this registry includes:</t>
<t>Name: Value to be used in TypeOfServiceProvider.</t>
<t>Description: A short description of the type of service provider</t>
<t>The initial set of values is defined in <xref target="TypeOfProviderID-Registry"/>.</t>
</section>
<section title="Additional Call Data Service Delivered Registry">
<t>This document creates a new registry called 'Additional Call Data Service Delivered'. As defined in <xref target="RFC5226"/>, this registry
operates under "Expert Review" rules. The expert should consider whether the proposed service is unique from existing services and the definition of the service will be clear to implementors and PSAPS/responders.</t>
<t>The content of this registry includes:</t>
<t>Name: enumeration token of the service.</t>
<t>Description: Short description identifying the service.</t>
<t>The initial set of values are defined in <xref target="SvcDelByProvider-Registry"/>.</t>
</section>
<section title="Additional Call Data Device Classification Registry">
<t>This document creates a new registry called 'Additional Call Data Device Classification'. As defined in <xref target="RFC5226"/>, this registry
operates under "Expert Review" rules. The expert should consider whether the proposed class is unique from existing classes and the definition of the class will be clear to implementors and PSAPS/responders.</t>
<t>The content of this registry includes:</t>
<t>Name: enumeration token of the device classification.</t>
<t>Description: Short description identifying the device type.</t>
<t>The initial set of values are defined in <xref target="DeviceClassification-Registry"/>.</t>
</section>
<section title="Additional Call Data Device ID Type Type Registry">
<t>This document creates a new registry called 'Additional Call Data Device ID Type'. As defined in <xref target="RFC5226"/>, this registry
operates under "Expert Review" rules. The expert should ascertain that the proposed type is well understood, and provides the information useful to PSAPs and responders to uniquely identify a device.</t>
<t>The content of this registry includes:</t>
<t>Name: enumeration token of the device id type.</t>
<t>Description: Short description identifying type of device id.</t>
<t>The initial set of values are defined in <xref target="TypeOfDeviceID-Registry"/>.</t>
</section>
<section title="Device/Service Specific Additional Data Type Registry">
<t>This document creates a new registry called 'Device/Service Specific Additional Data Type Registry'. As defined in <xref target="RFC5226"/>, this registry
operates under "Expert Review" and "Specification Required" rules. The expert should ascertain that the proposed type is well understood, and provides information useful to PSAPs and responders. The specification must contain a complete description of the data, and a precise format specification suitable to allow interoperable implementations.</t>
<t>The content of this registry includes:</t>
<t>Name: enumeration token of the data type.</t>
<t>Description: Short description identifying the the data.</t>
<t>Specification: Citation for the specification of the data.</t>
<t>The initial set of values are listed below:</t>
<figure>
<artwork>
+---------+----------------------------------------+----------------+
| Token | Description | Specification |
+---------+----------------------------------------+----------------+
| IEE1512 | Common Incident Management Message Set | IEEE 1512-2006 |
+---------+----------------------------------------+----------------+
| VEDS | Vehicle Emergency Data Set | APCO/NENA VEDS |
+---------+----------------------------------------+----------------+
</artwork>
</figure>
</section>
<section title="Additional Call Data Blocks Registry">
<t>This document creates a new subregistry called 'Additional Call Data Blocks' in the purpose registry established by RFC 261. As defined in <xref target="RFC5226"/>, this registry
operates under "Expert Review" and "Specification Required" rules. The expert is responsible for verifying that the document contains a complete and clear specification of the block and the block does not obviously duplicate existing blocks.</t>
<t>The content of this registry includes:</t>
<t>Name: Element Name of enclosing block.</t>
<t>Reference: The document that describes the block</t>
<t>This document defines the following set of values:</t>
<figure>
<artwork>
+--------------+-----------+
| Token | Reference |
+--------------+-----------+
| ProviderInfo | RFCXXXX |
| SvcInfo | RFCXXXX |
| DevInfo | RFCXXXX |
| Subscriber | RFCXXXX |
| Comment | RFCXXXX |
+--------------+-----------+
RFC Editor Note:
replace XXXX in the table above with this documents RFC number
</artwork>
</figure>
</section>
</section>
<section title="'emergencyCallData' Purpose Parameter Value">
<t> This document defines the 'emergencyCall' value for the "purpose" parameter of the
Call-Info header field. The Call-Info header and the corresponding registry for the 'purpose' parameter
was established with RFC 3261 <xref target="RFC3261"/>. </t>
<figure>
<artwork>
<![CDATA[
Header Parameter New
Field Name Value Reference
---------- --------- ----------------- ---------
Call-Info purpose emergencyCall [This RFC]
]]>
</artwork>
</figure>
</section>
<section title="URN Sub-Namespace Registration for provided-by Registry Entry">
<t>This section registers the namespace specified in
<xref target="ecallAddDataNS"/> in the
provided-by registry established by RFC 4119, for usage within the 'provided-by' element of a PIDF-LO.</t>
<section title="Provided-By XML Schema">
<figure anchor="Provided-By-XML" title="Provided-By XML Schema">
<artwork>
<![CDATA[
<?xml version="1.0"?>
<xs:schema
targetNamespace="urn:ietf:params:xml:ns:pidf:geopriv10:emergencyCallData"
xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:ad="urn:ietf:params:xml:ns:pidf:geopriv10:emergencyCallData"
xmlns:xml="http://www.w3.org/XML/1998/namespace";
xmlns:pi="urn:ietf:params:xml:ns:emergencyCall.ProviderInfo"
xmlns:svc="urn:ietf:params:xml:ns:emergencyCall.SvcInfo"
xmlns:dev="urn:ietf:params:xml:ns:emergencyCall.DevInfo"
xmlns:sub="urn:ietf:params:xml:ns:emergencyCall.SubInfo"
xmlns:com="urn:ietf:params:xml:ns:emergencyCall.Comment"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- Additional Data By Reference -->
<xs:element name="emergencyCallDataReference">
<xs:complexType>
<xs:sequence>
<xs:element name="emergencyProviderInfo"
type="xs:anyURI" minOccurs="0" maxOccurs="1"/>
<xs:element name="emergencyServiceInfo"
type="xs:anyURI" minOccurs="0" maxOccurs="1"/>
<xs:element name="emergencyDeviceInfo"
type="xs:anyURI" minOccurs="0" maxOccurs="1"/>
<xs:element name="emergencySubscriberInfo"
type="xs:anyURI" minOccurs="0" maxOccurs="1"/>
<xs:element name="emergencyComment"
type="xs:anyURI" minOccurs="0" maxOccurs="1"/>
<xs:element name="anyOtherRefs"
type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:ComplexType>
</xs:element>
<!-- Additional Data By Value -->
<xs:element name="emergencyCallDataValue">
<xs:complexType>
<xs:sequence>
<xs:element name="emergencyProviderInfo"
type="pi:emergencyCall.ProviderInfo"
minOccurs="0" maxOccurs="1"/>
<xs:element name="emergencyServiceInfo"
type="svc:emergencyCall.SvcInfo"
minOccurs="0" maxOccurs="1"/>
<xs:element name="emergencyDeviceInfo"
type="dev:emergencyCall.DeviceInfo"
minOccurs="0" maxOccurs="1"/>
<xs:element name="emergencySubscriberInfo"
type="sub:emergencyCall.SubInfo"
minOccurs="0" maxOccurs="1"/>
<xs:element name="emergencyComment"
type="com:emergencyCall.Comment"
minOccurs="0" maxOccurs="1"/>
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:schema>
]]></artwork>
</figure>
</section>
</section>
<section title="MIME Registrations">
<section title="MIME Content-type Registration for 'application/emergencyCall.ProviderInfo+xml'">
<t>This specification requests the registration of a new MIME type
according to the procedures of RFC 4288 <xref target="RFC4288"/> and guidelines in RFC
3023 <xref target="RFC3023"/>.</t>
<t>
<list style="empty">
<t>MIME media type name: application</t>
<t>MIME subtype name: emergencyCall.ProviderInfo+xml</t>
<t>Mandatory parameters: none</t>
<t>Optional parameters: charset<vspace blankLines="1"/>
Indicates the character encoding of enclosed XML.
</t>
<t>Encoding considerations:<vspace blankLines="1"/>
Uses XML, which can employ 8-bit characters, depending on the
character encoding used.
See Section 3.2 of RFC 3023 <xref target="RFC3023"/>.
</t>
<t>Security considerations:<vspace blankLines="1"/>
This content type is designed to carry the data provider
information, which is a sub-category of additional
data about an emergency call.
<vspace blankLines="1"/>
Since this data contains personal information appropriate precautions
have to be taken to limit unauthorized access, inappropriate disclosure
to third parties, and eavesdropping of this information. Please refer
to <xref target="security"/> and <xref target="privacy"/> for more
information.</t>
<t>Interoperability considerations: None</t>
<t>Published specification: [TBD: This specification]</t>
<t>Applications which use this media type:
Emergency Services
</t>
<t>Additional information:<vspace blankLines="1"/>
Magic Number: None<vspace blankLines="1"/>
File Extension: .xml<vspace blankLines="1"/>
Macintosh file type code: 'TEXT'<vspace blankLines="1"/>
</t>
<t>Person and email address for further information:
Hannes Tschofenig, Hannes.Tschofenig@gmx.net
</t>
<t>Intended usage: LIMITED USE</t>
<t>Author:
This specification is a work item of the IETF ECRIT working
group, with mailing list address <ecrit@ietf.org>.
</t>
<t>Change controller:
The IESG <ietf@ietf.org>
</t>
</list>
</t>
</section>
<section title="MIME Content-type Registration for 'application/emergencyCall.SvcInfo+xml'">
<t>This specification requests the registration of a new MIME type
according to the procedures of RFC 4288 <xref target="RFC4288"/> and guidelines in RFC
3023 <xref target="RFC3023"/>.</t>
<t>
<list style="empty">
<t>MIME media type name: application</t>
<t>MIME subtype name: emergencyCall.SvcInfo+xml</t>
<t>Mandatory parameters: none</t>
<t>Optional parameters: charset<vspace blankLines="1"/>
Indicates the character encoding of enclosed XML.
</t>
<t>Encoding considerations:<vspace blankLines="1"/>
Uses XML, which can employ 8-bit characters, depending on the
character encoding used.
See Section 3.2 of RFC 3023 <xref target="RFC3023"/>.
</t>
<t>Security considerations:<vspace blankLines="1"/>
This content type is designed to carry the service information, which is a sub-category of additional
data about an emergency call.
<vspace blankLines="1"/>
Since this data contains personal information appropriate precautions
have to be taken to limit unauthorized access, inappropriate disclosure
to third parties, and eavesdropping of this information. Please refer
to <xref target="security"/> and <xref target="privacy"/> for more
information.</t>
<t>Interoperability considerations: None</t>
<t>Published specification: [TBD: This specification]</t>
<t>Applications which use this media type:
Emergency Services
</t>
<t>Additional information:<vspace blankLines="1"/>
Magic Number: None<vspace blankLines="1"/>
File Extension: .xml<vspace blankLines="1"/>
Macintosh file type code: 'TEXT'<vspace blankLines="1"/>
</t>
<t>Person and email address for further information:
Hannes Tschofenig, Hannes.Tschofenig@gmx.net
</t>
<t>Intended usage: LIMITED USE</t>
<t>Author:
This specification is a work item of the IETF ECRIT working
group, with mailing list address <ecrit@ietf.org>.
</t>
<t>Change controller:
The IESG <ietf@ietf.org>
</t>
</list>
</t>
</section>
<section title="MIME Content-type Registration for 'application/emergencyCall.DevInfo+xml'">
<t>This specification requests the registration of a new MIME type
according to the procedures of RFC 4288 <xref target="RFC4288"/> and guidelines in RFC
3023 <xref target="RFC3023"/>.</t>
<t>
<list style="empty">
<t>MIME media type name: application</t>
<t>MIME subtype name: emergencyCall.DevInfo+xml</t>
<t>Mandatory parameters: none</t>
<t>Optional parameters: charset<vspace blankLines="1"/>
Indicates the character encoding of enclosed XML.
</t>
<t>Encoding considerations:<vspace blankLines="1"/>
Uses XML, which can employ 8-bit characters, depending on the
character encoding used.
See Section 3.2 of RFC 3023 <xref target="RFC3023"/>.
</t>
<t>Security considerations:<vspace blankLines="1"/>
This content type is designed to carry the device information
information, which is a sub-category of additional
data about an emergency call.
<vspace blankLines="1"/>
Since this data contains personal information appropriate precautions
have to be taken to limit unauthorized access, inappropriate disclosure
to third parties, and eavesdropping of this information. Please refer
to <xref target="security"/> and <xref target="privacy"/> for more
information.</t>
<t>Interoperability considerations: None</t>
<t>Published specification: [TBD: This specification]</t>
<t>Applications which use this media type:
Emergency Services
</t>
<t>Additional information:<vspace blankLines="1"/>
Magic Number: None<vspace blankLines="1"/>
File Extension: .xml<vspace blankLines="1"/>
Macintosh file type code: 'TEXT'<vspace blankLines="1"/>
</t>
<t>Person and email address for further information:
Hannes Tschofenig, Hannes.Tschofenig@gmx.net
</t>
<t>Intended usage: LIMITED USE</t>
<t>Author:
This specification is a work item of the IETF ECRIT working
group, with mailing list address <ecrit@ietf.org>.
</t>
<t>Change controller:
The IESG <ietf@ietf.org>
</t>
</list>
</t>
</section>
<section title="MIME Content-type Registration for 'application/emergencyCall.SubInfo+xml'">
<t>This specification requests the registration of a new MIME type
according to the procedures of RFC 4288 <xref target="RFC4288"/> and guidelines in RFC
3023 <xref target="RFC3023"/>.</t>
<t>
<list style="empty">
<t>MIME media type name: application</t>
<t>MIME subtype name: emergencyCall.SubInfo+xml</t>
<t>Mandatory parameters: none</t>
<t>Optional parameters: charset<vspace blankLines="1"/>
Indicates the character encoding of enclosed XML.
</t>
<t>Encoding considerations:<vspace blankLines="1"/>
Uses XML, which can employ 8-bit characters, depending on the
character encoding used.
See Section 3.2 of RFC 3023 <xref target="RFC3023"/>.
</t>
<t>Security considerations:<vspace blankLines="1"/>
This content type is designed to carry owner/subscriber information,
which is a sub-category of additional
data about an emergency call.
<vspace blankLines="1"/>
Since this data contains personal information appropriate precautions
have to be taken to limit unauthorized access, inappropriate disclosure
to third parties, and eavesdropping of this information. Please refer
to <xref target="security"/> and <xref target="privacy"/> for more
information.</t>
<t>Interoperability considerations: None</t>
<t>Published specification: [TBD: This specification]</t>
<t>Applications which use this media type:
Emergency Services
</t>
<t>Additional information:<vspace blankLines="1"/>
Magic Number: None<vspace blankLines="1"/>
File Extension: .xml<vspace blankLines="1"/>
Macintosh file type code: 'TEXT'<vspace blankLines="1"/>
</t>
<t>Person and email address for further information:
Hannes Tschofenig, Hannes.Tschofenig@gmx.net
</t>
<t>Intended usage: LIMITED USE</t>
<t>Author:
This specification is a work item of the IETF ECRIT working
group, with mailing list address <ecrit@ietf.org>.
</t>
<t>Change controller:
The IESG <ietf@ietf.org>
</t>
</list>
</t>
</section>
<section title="MIME Content-type Registration for 'application/emergencyCall.Comment+xml'">
<t>This specification requests the registration of a new MIME type
according to the procedures of RFC 4288 <xref target="RFC4288"/> and guidelines in RFC
3023 <xref target="RFC3023"/>.</t>
<t>
<list style="empty">
<t>MIME media type name: application</t>
<t>MIME subtype name: emergencyCall.Comment+xml</t>
<t>Mandatory parameters: none</t>
<t>Optional parameters: charset<vspace blankLines="1"/>
Indicates the character encoding of enclosed XML.
</t>
<t>Encoding considerations:<vspace blankLines="1"/>
Uses XML, which can employ 8-bit characters, depending on the
character encoding used.
See Section 3.2 of RFC 3023 <xref target="RFC3023"/>.
</t>
<t>Security considerations:<vspace blankLines="1"/>
This content type is designed to carry a comment,
which is a sub-category of additional
data about an emergency call.
<vspace blankLines="1"/>
This data may contain personal information. Appropriate precautions
may have to be taken to limit unauthorized access, inappropriate disclosure
to third parties, and eavesdropping of this information. Please refer
to <xref target="security"/> and <xref target="privacy"/> for more
information.</t>
<t>Interoperability considerations: None</t>
<t>Published specification: [TBD: This specification]</t>
<t>Applications which use this media type:
Emergency Services
</t>
<t>Additional information:<vspace blankLines="1"/>
Magic Number: None<vspace blankLines="1"/>
File Extension: .xml<vspace blankLines="1"/>
Macintosh file type code: 'TEXT'<vspace blankLines="1"/>
</t>
<t>Person and email address for further information:
Hannes Tschofenig, Hannes.Tschofenig@gmx.net
</t>
<t>Intended usage: LIMITED USE</t>
<t>Author:
This specification is a work item of the IETF ECRIT working
group, with mailing list address <ecrit@ietf.org>.
</t>
<t>Change controller:
The IESG <ietf@ietf.org>
</t>
</list>
</t>
</section>
</section>
<section title="URN Sub-Namespace Registration">
<section anchor="ecallAddDataNS" title="Registration for urn:ietf:params:xml:ns:emergencyCallAddlData">
<t> This section registers a new XML namespace, as per the guidelines in RFC 3688 <xref target="RFC3688"/>. </t>
<t>
<list style="hanging">
<t hangText="URI:">urn:ietf:params:xml:ns:emergencyCallAddlData</t>
<t hangText="Registrant Contact:"> IETF, ECRIT working group,
<ecrit@ietf.org>, as delegated by the IESG
<iesg@ietf.org>. </t>
<t hangText="XML:">
<figure>
<artwork>
<![CDATA[
BEGIN
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type"
content="text/html;charset=iso-8859-1"/>
<title>Namespace for Additional Emergency Call Data</title>
</head>
<body>
<h1>Namespace for Additional Data related to an Emergency Call</h1>
<p>See [TBD: This document].</p>
</body>
</html>
END
]]>
</artwork>
</figure>
</t>
</list>
</t>
</section>
<section title="Registration for urn:ietf:params:xml:ns:emergencyCallProviderInfo">
<t> This section registers a new XML namespace, as per the guidelines in RFC 3688 <xref target="RFC3688"/>. </t>
<t>
<list style="hanging">
<t hangText="URI:">urn:ietf:params:xml:ns:emergencyCallProviderInfo</t>
<t hangText="Registrant Contact:"> IETF, ECRIT working group,
<ecrit@ietf.org>, as delegated by the IESG
<iesg@ietf.org>. </t>
<t hangText="XML:">
<figure>
<artwork>
<![CDATA[
BEGIN
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type"
content="text/html;charset=iso-8859-1"/>
<title>Namespace for Additional Emergency Call Data:
Data Provider Information</title>
</head>
<body>
<h1>Namespace for Additional Data related to an Emergency Call</h1>
<h2>Data Provider Information</h2>
<p>See [TBD: This document].</p>
</body>
</html>
END
]]>
</artwork>
</figure>
</t>
</list>
</t>
</section>
<section title="Registration for urn:ietf:params:xml:ns:emergencyCall.SvcInfo">
<t> This section registers a new XML namespace, as per the guidelines in RFC 3688 <xref target="RFC3688"/>. </t>
<t>
<list style="hanging">
<t hangText="URI:">urn:ietf:params:xml:ns:emergencyCall.SvcInfo</t>
<t hangText="Registrant Contact:"> IETF, ECRIT working group,
<ecrit@ietf.org>, as delegated by the IESG
<iesg@ietf.org>. </t>
<t hangText="XML:">
<figure>
<artwork>
<![CDATA[
BEGIN
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type"
content="text/html;charset=iso-8859-1"/>
<title>Namespace for Additional Emergency Call Data:
Service Information</title>
</head>
<body>
<h1>Namespace for Additional Data related to an Emergency Call</h1>
<h2>Service Information</h2>
<p>See [TBD: This document].</p>
</body>
</html>
END
]]>
</artwork>
</figure>
</t>
</list>
</t>
</section>
<section title="Registration for urn:ietf:params:xml:ns:emergencyCall.DevInfo">
<t> This section registers a new XML namespace, as per the guidelines in RFC 3688 <xref target="RFC3688"/>. </t>
<t>
<list style="hanging">
<t hangText="URI:">urn:ietf:params:xml:ns:emergencyCall.DevInfo</t>
<t hangText="Registrant Contact:"> IETF, ECRIT working group,
<ecrit@ietf.org>, as delegated by the IESG
<iesg@ietf.org>. </t>
<t hangText="XML:">
<figure>
<artwork>
<![CDATA[
BEGIN
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type"
content="text/html;charset=iso-8859-1"/>
<title>Namespace for Additional Emergency Call Data:
Device Information</title>
</head>
<body>
<h1>Namespace for Additional Data related to an Emergency Call</h1>
<h2>Device Information</h2>
<p>See [TBD: This document].</p>
</body>
</html>
END
]]>
</artwork>
</figure>
</t>
</list>
</t>
</section>
<section title="Registration for urn:ietf:params:xml:ns:emergencyCall.SubInfo">
<t> This section registers a new XML namespace, as per the guidelines in RFC 3688 <xref target="RFC3688"/>. </t>
<t>
<list style="hanging">
<t hangText="URI:">urn:ietf:params:xml:ns:emergencyCall.SubInfo</t>
<t hangText="Registrant Contact:"> IETF, ECRIT working group,
<ecrit@ietf.org>, as delegated by the IESG
<iesg@ietf.org>. </t>
<t hangText="XML:">
<figure>
<artwork>
<![CDATA[
BEGIN
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type"
content="text/html;charset=iso-8859-1"/>
<title>Namespace for Additional Emergency Call Data:
Owner/Subscriber Information</title>
</head>
<body>
<h1>Namespace for Additional Data related to an Emergency Call</h1>
<h2> Owner/Subscriber Information</h2>
<p>See [TBD: This document].</p>
</body>
</html>
END
]]>
</artwork>
</figure>
</t>
</list>
</t>
</section>
<section title="Registration for urn:ietf:params:xml:ns:emergencyCall.Comment">
<t> This section registers a new XML namespace, as per the guidelines in RFC 3688 <xref target="RFC3688"/>. </t>
<t>
<list style="hanging">
<t hangText="URI:">urn:ietf:params:xml:ns:emergencyCall.Comment</t>
<t hangText="Registrant Contact:"> IETF, ECRIT working group,
<ecrit@ietf.org>, as delegated by the IESG
<iesg@ietf.org>. </t>
<t hangText="XML:">
<figure>
<artwork>
<![CDATA[
BEGIN
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type"
content="text/html;charset=iso-8859-1"/>
<title>Namespace for Additional Emergency Call Data:Comment</title>
</head>
<body>
<h1>Namespace for Additional Data related to an Emergency Call</h1>
<h2> Comment</h2>
<p>See [TBD: This document].</p>
</body>
</html>
END
]]>
</artwork>
</figure>
</t>
</list>
</t>
</section>
</section>
<section title="Schema Registrations">
<t>This specification registers five schemas, as per the guidelines in RFC 3688 <xref target="RFC3688"/>.</t>
<t>
<list style="hanging">
<t>URI: urn:ietf:params:xml:schema:additional-data:emergencyCallProviderInfo</t>
<t>Registrant Contact: IETF, ECRIT Working Group (ecrit@ietf.org), as delegated by the
IESG (iesg@ietf.org).</t>
<t>XML: The XML schema can be found in <xref target="emergencyCallProviderInfo"/>.</t>
</list>
</t>
<t>
<list style="hanging">
<t>URI: urn:ietf:params:xml:schema:additional-data:addCallSvcInfo</t>
<t>Registrant Contact: IETF, ECRIT Working Group (ectit@ietf.org), as delegated by the
IESG (iesg@ietf.org).</t>
<t>XML: The XML schema can be found in <xref target="addCallSvcInfo"/>.</t>
</list>
</t>
<t>
<list style="hanging">
<t>URI: urn:ietf:params:xml:schema:additional-data:emergencyCallDevInfo</t>
<t>Registrant Contact: IETF, ECRIT Working Group (ecrit@ietf.org), as delegated by the
IESG (iesg@ietf.org).</t>
<t>XML: The XML schema can be found in <xref target="emergencyCallDevInfo"/>.</t>
</list>
</t>
<t>
<list style="hanging">
<t>URI: urn:ietf:params:xml:schema:additional-data:emergencyCall.SubInfo</t>
<t>Registrant Contact: IETF, ECRIT Working Group (ecrit@ietf.org), as delegated by the
IESG (iesg@ietf.org).</t>
<t>XML: The XML schema can be found in <xref target="SubscriberXML"/>.</t>
</list>
</t>
<t>
<list style="hanging">
<t>URI: urn:ietf:params:xml:schema:additional-data:emergencyCall.Comment</t>
<t>Registrant Contact: IETF, ECRIT Working Group (ecrit@ietf.org), as delegated by the
IESG (iesg@ietf.org).</t>
<t>XML: The XML schema can be found in <xref target="CommentXML"/>.</t>
</list>
</t>
</section>
<section title="VCard Parameter Value Registration">
<t>This document registers a new value in the vCARD Parameter Values registry as defined by <xref target="RFC6350"/> with the following template:</t>
<t>
<list style="hanging">
<t hangText="Value:">main</t>
<t hangText="Purpose:">The main telephone number, typically of an enterprise, as opposed to a direct dial number of an individual employee</t>
<t hangText="Conformance:">This value can be used with the "TYPE" parameter
applied on the "TEL" property.</t>
<t hangText="Example(s):">TEL;VALUE=uri;TYPE="main,voice";PREF=1:tel:+1-418-656-9000</t>
</list>
</t>
</section>
</section>
<!-- ******************************************************************************* -->
<section title="Acknowledgments">
<t>This work was originally started in NENA and has benefitted from a large number of participants in NENA standardization efforts, originally in the Long Term Definition Working Group, the Data Technical Committee and most recently the Additional Data working group. The authors are grateful for the initial work and extended comments provided by many NENA participants, including Delaine Arnold, Marc Berryman, Guy Caron, Mark Fletcher, Brian Dupras, James Leyerle, Kathy McMahon, Christian, Militeau, Ira Pyles, Matt Serra, and Robert (Bob) Sherry.</t>
<t>We would also like to thank James Winterbottom, Paul Kyzivat, Gunnar Hellstrom, Martin Thomson, Keith Drage, and Laura Liess for their review comments.</t>
</section>
<!-- ******************************************************************************* -->
</middle>
<back>
<references title="Normative References">
<?rfc include="reference.RFC.2119" ?>
<?rfc include="reference.RFC.3688" ?>
<?rfc include="reference.RFC.2392"?>
<?rfc include="reference.RFC.4119"?>
<?rfc include="reference.RFC.3261"?>
<?rfc include="reference.RFC.3023"?>
<?rfc include="reference.RFC.4288"?>
<?rfc include="reference.RFC.5226"?>
<?rfc include="reference.RFC.6350"?>
<?rfc include="reference.RFC.6351"?>
</references>
<references title="Informational References">
<?rfc include="reference.RFC.5012"?>
<?rfc include="reference.RFC.5222"?>
<?rfc include="reference.RFC.6443"?>
<?rfc include="reference.RFC.5985"?>
<?rfc include="reference.RFC.6881"?>
<?rfc include="reference.I-D.iab-privacy-considerations"?>
</references>
<section title="XML Schema for vCard/xCard">
<t>This section contains the vCard/xCard XML schema version of the Relax NG schema defined in RFC 6351 <xref target="RFC6351"/> for simplified use with the XML schemas defined in this document.
The schema in RFC 6351 <xref target="RFC6351"/> is the normative source and this section is informative only.
<figure>
<artwork>
<![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
targetNamespace="urn:ietf:params:xml:ns:vcard-4.0"
xmlns:ns1="urn:ietf:params:xml:ns:vcard-4.0">
<!--
3.3
iana-token = xsd:string { pattern = "[a-zA-Z0-9-]+" }
x-name = xsd:string { pattern = "x-[a-zA-Z0-9-]+" }
-->
<xs:simpleType name="iana-token">
<xs:annotation>
<xs:documentation>vCard Format Specification
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="x-name">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<!--
4.1
-->
<xs:element name="text" type="xs:string"/>
<xs:group name="value-text-list">
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="ns1:text"/>
</xs:sequence>
</xs:group>
<!-- 4.2 -->
<xs:element name="uri" type="xs:anyURI"/>
<!-- 4.3.1 -->
<xs:element name="date"
substitutionGroup="ns1:value-date-and-or-time">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\d{8}|\d{4}-\d\d|
--\d\d(\d\d)?|---\d\d"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- 4.3.2 -->
<xs:element name="time"
substitutionGroup="ns1:value-date-and-or-time">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="(\d\d(\d\d(\d\d)?)?|-\d\d(\d\d?)|--\d\d)
(Z|[+\-]\d\d(\d\d)?)?"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- 4.3.3 -->
<xs:element name="date-time"
substitutionGroup="ns1:value-date-and-or-time">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value=
"(\d{8}|--\d{4}|---\d\d)T
\d\d(\d\d(\d\d)?)?(Z|[+\-]\d\d(\d\d)?)?"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- 4.3.4 -->
<xs:element name="value-date-and-or-time" abstract="true"/>
<!-- 4.3.5 -->
<xs:complexType name="value-timestamp">
<xs:sequence>
<xs:element ref="ns1:timestamp"/>
</xs:sequence>
</xs:complexType>
<xs:element name="timestamp">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\d{8}T\d{6}(Z|[+\-]\d\d(\d\d)?)?"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- 4.4 -->
<xs:element name="boolean" type="xs:boolean"/>
<!-- 4.5 -->
<xs:element name="integer" type="xs:integer"/>
<!-- 4.6 -->
<xs:element name="float" type="xs:float"/>
<!-- 4.7 -->
<xs:element name="utc-offset">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[+\-]\d\d(\d\d)?"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- 4.8 -->
<xs:element name="language-tag">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern
value="([a-z]{2,3}((-[a-z]{3}){0,3})?|[a-z]{4,8})
(-[a-z]{4})?(-([a-z]{2}|\d{3}))?(-([0-9a-z]{5,8}|
\d[0-9a-z]{3}))*(-[0-9a-wyz](-[0-9a-z]{2,8})+)*
(-x(-[0-9a-z]{1,8})+)?|x(-[0-9a-z]{1,8})+|[a-z]{1,3}
(-[0-9a-z]{2,8}){1,2}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!--
5.1
-->
<xs:group name="param-language">
<xs:annotation>
<xs:documentation>Section 5: Parameters</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element minOccurs="0" ref="ns1:language"/>
</xs:sequence>
</xs:group>
<xs:element name="language">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns1:language-tag"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 5.2 -->
<xs:group name="param-pref">
<xs:sequence>
<xs:element minOccurs="0" ref="ns1:pref"/>
</xs:sequence>
</xs:group>
<xs:element name="pref">
<xs:complexType>
<xs:sequence>
<xs:element name="integer">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 5.4 -->
<xs:group name="param-altid">
<xs:sequence>
<xs:element minOccurs="0" ref="ns1:altid"/>
</xs:sequence>
</xs:group>
<xs:element name="altid">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns1:text"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 5.5 -->
<xs:group name="param-pid">
<xs:sequence>
<xs:element minOccurs="0" ref="ns1:pid"/>
</xs:sequence>
</xs:group>
<xs:element name="pid">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="text">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\d+(\.\d+)?"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 5.6 -->
<xs:group name="param-type">
<xs:sequence>
<xs:element minOccurs="0" ref="ns1:type"/>
</xs:sequence>
</xs:group>
<xs:element name="type">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="text">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="work"/>
<xs:enumeration value="home"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 5.7 -->
<xs:group name="param-mediatype">
<xs:sequence>
<xs:element minOccurs="0" ref="ns1:mediatype"/>
</xs:sequence>
</xs:group>
<xs:element name="mediatype">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns1:text"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 5.8 -->
<xs:group name="param-calscale">
<xs:sequence>
<xs:element minOccurs="0" ref="ns1:calscale"/>
</xs:sequence>
</xs:group>
<xs:element name="calscale">
<xs:complexType>
<xs:sequence>
<xs:element name="text">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="gregorian"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 5.9 -->
<xs:group name="param-sort-as">
<xs:sequence>
<xs:element minOccurs="0" ref="ns1:sort-as"/>
</xs:sequence>
</xs:group>
<xs:element name="sort-as">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="ns1:text"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 5.10 -->
<xs:group name="param-geo">
<xs:sequence>
<xs:element minOccurs="0" name="geo">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns1:uri"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 5.11 -->
<xs:group name="param-tz">
<xs:sequence>
<xs:element minOccurs="0" name="tz">
<xs:complexType>
<xs:choice>
<xs:element ref="ns1:text"/>
<xs:element ref="ns1:uri"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<!--
6.1.3
-->
<xs:element name="source">
<xs:complexType>
<xs:sequence>
<xs:element name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-mediatype"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:uri"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.1.4 -->
<xs:element name="kind">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="text">
<xs:simpleType>
<xs:union memberTypes="ns1:x-name ns1:iana-token">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="individual"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="group"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="org"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="location"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.2.1 -->
<xs:element name="fn">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:text"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.2.2 -->
<xs:element name="n">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-sort-as"/>
<xs:group ref="ns1:param-altid"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" ref="ns1:surname"/>
<xs:element maxOccurs="unbounded" ref="ns1:given"/>
<xs:element maxOccurs="unbounded" ref="ns1:additional"/>
<xs:element maxOccurs="unbounded" ref="ns1:prefix"/>
<xs:element maxOccurs="unbounded" ref="ns1:suffix"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="surname" type="xs:string"/>
<xs:element name="given" type="xs:string"/>
<xs:element name="additional" type="xs:string"/>
<xs:element name="prefix" type="xs:string"/>
<xs:element name="suffix" type="xs:string"/>
<!-- 6.2.3 -->
<xs:element name="nickname">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:group ref="ns1:value-text-list"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.2.4 -->
<xs:element name="photo">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:uri"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.2.5 -->
<xs:element name="bday">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-calscale"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:choice>
<xs:element ref="ns1:value-date-and-or-time"/>
<xs:element ref="ns1:text"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.2.6 -->
<xs:element name="anniversary">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-calscale"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:choice>
<xs:element ref="ns1:value-date-and-or-time"/>
<xs:element ref="ns1:text"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.2.7 -->
<xs:element name="gender">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns1:sex"/>
<xs:element minOccurs="0" ref="ns1:identity"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sex">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value=""/>
<xs:enumeration value="M"/>
<xs:enumeration value="F"/>
<xs:enumeration value="O"/>
<xs:enumeration value="N"/>
<xs:enumeration value="U"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="identity" type="xs:string"/>
<!-- 6.3.1 -->
<xs:group name="param-label">
<xs:sequence>
<xs:element minOccurs="0" ref="ns1:label"/>
</xs:sequence>
</xs:group>
<xs:element name="label">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns1:text"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="adr">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-geo"/>
<xs:group ref="ns1:param-tz"/>
<xs:group ref="ns1:param-label"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" ref="ns1:pobox"/>
<xs:element maxOccurs="unbounded" ref="ns1:ext"/>
<xs:element maxOccurs="unbounded" ref="ns1:street"/>
<xs:element maxOccurs="unbounded" ref="ns1:locality"/>
<xs:element maxOccurs="unbounded" ref="ns1:region"/>
<xs:element maxOccurs="unbounded" ref="ns1:code"/>
<xs:element maxOccurs="unbounded" ref="ns1:country"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="pobox" type="xs:string"/>
<xs:element name="ext" type="xs:string"/>
<xs:element name="street" type="xs:string"/>
<xs:element name="locality" type="xs:string"/>
<xs:element name="region" type="xs:string"/>
<xs:element name="code" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
<!-- 6.4.1 -->
<xs:element name="tel">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="text">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="work"/>
<xs:enumeration value="home"/>
<xs:enumeration value="text"/>
<xs:enumeration value="voice"/>
<xs:enumeration value="fax"/>
<xs:enumeration value="cell"/>
<xs:enumeration value="video"/>
<xs:enumeration value="pager"/>
<xs:enumeration value="textphone"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:group ref="ns1:param-mediatype"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:choice>
<xs:element ref="ns1:text"/>
<xs:element ref="ns1:uri"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.4.2 -->
<xs:element name="email">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:text"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.4.3 -->
<xs:element name="impp">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:uri"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.4.4 -->
<xs:element name="lang">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:language-tag"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.5.1 -->
<xs:group name="property-tz">
<xs:sequence>
<xs:element name="tz">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:choice>
<xs:element ref="ns1:text"/>
<xs:element ref="ns1:uri"/>
<xs:element ref="ns1:utc-offset"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 6.5.2 -->
<xs:group name="property-geo">
<xs:sequence>
<xs:element name="geo">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:uri"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 6.6.1 -->
<xs:element name="title">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:text"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.6.2 -->
<xs:element name="role">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:text"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.6.3 -->
<xs:element name="logo">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:uri"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.6.4 -->
<xs:element name="org">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-sort-as"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:group ref="ns1:value-text-list"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.6.5 -->
<xs:element name="member">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-mediatype"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:uri"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.6.6 -->
<xs:element name="related">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="text">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="work"/>
<xs:enumeration value="home"/>
<xs:enumeration value="contact"/>
<xs:enumeration value="acquaintance"/>
<xs:enumeration value="friend"/>
<xs:enumeration value="met"/>
<xs:enumeration value="co-worker"/>
<xs:enumeration value="colleague"/>
<xs:enumeration value="co-resident"/>
<xs:enumeration value="neighbor"/>
<xs:enumeration value="child"/>
<xs:enumeration value="parent"/>
<xs:enumeration value="sibling"/>
<xs:enumeration value="spouse"/>
<xs:enumeration value="kin"/>
<xs:enumeration value="muse"/>
<xs:enumeration value="crush"/>
<xs:enumeration value="date"/>
<xs:enumeration value="sweetheart"/>
<xs:enumeration value="me"/>
<xs:enumeration value="agent"/>
<xs:enumeration value="emergency"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:group ref="ns1:param-mediatype"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:choice>
<xs:element ref="ns1:uri"/>
<xs:element ref="ns1:text"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.7.1 -->
<xs:element name="categories">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:group ref="ns1:value-text-list"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.7.2 -->
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:text"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.7.3 -->
<xs:element name="prodid">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns1:text"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.7.4 -->
<xs:element name="rev" type="ns1:value-timestamp"/>
<!-- 6.7.5 -->
<xs:element name="sound">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:uri"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.7.6 -->
<xs:element name="uid">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns1:uri"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.7.7 -->
<xs:element name="clientpidmap">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns1:sourceid"/>
<xs:element ref="ns1:uri"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sourceid" type="xs:positiveInteger"/>
<!-- 6.7.8 -->
<xs:element name="url">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:uri"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.8.1 -->
<xs:element name="key">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:choice>
<xs:element ref="ns1:uri"/>
<xs:element ref="ns1:text"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.9.1 -->
<xs:element name="fburl">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:uri"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.9.2 -->
<xs:element name="caladruri">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:uri"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- 6.9.3 -->
<xs:element name="caluri">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="parameters">
<xs:complexType>
<xs:sequence>
<xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns1:uri"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Top-level grammar -->
<xs:group name="property">
<xs:choice>
<xs:element ref="ns1:adr"/>
<xs:element ref="ns1:anniversary"/>
<xs:element ref="ns1:bday"/>
<xs:element ref="ns1:caladruri"/>
<xs:element ref="ns1:caluri"/>
<xs:element ref="ns1:categories"/>
<xs:element ref="ns1:clientpidmap"/>
<xs:element ref="ns1:email"/>
<xs:element ref="ns1:fburl"/>
<xs:element ref="ns1:fn"/>
<xs:group ref="ns1:property-geo"/>
<xs:element ref="ns1:impp"/>
<xs:element ref="ns1:key"/>
<xs:element ref="ns1:kind"/>
<xs:element ref="ns1:lang"/>
<xs:element ref="ns1:logo"/>
<xs:element ref="ns1:member"/>
<xs:element ref="ns1:n"/>
<xs:element ref="ns1:nickname"/>
<xs:element ref="ns1:note"/>
<xs:element ref="ns1:org"/>
<xs:element ref="ns1:photo"/>
<xs:element ref="ns1:prodid"/>
<xs:element ref="ns1:related"/>
<xs:element ref="ns1:rev"/>
<xs:element ref="ns1:role"/>
<xs:element ref="ns1:gender"/>
<xs:element ref="ns1:sound"/>
<xs:element ref="ns1:source"/>
<xs:element ref="ns1:tel"/>
<xs:element ref="ns1:title"/>
<xs:group ref="ns1:property-tz"/>
<xs:element ref="ns1:uid"/>
<xs:element ref="ns1:url"/>
</xs:choice>
</xs:group>
<xs:element name="vcards">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="ns1:vcard"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="vcardType">
<xs:complexContent>
<xs:restriction base="xs:anyType">
<xs:choice maxOccurs="unbounded">
<xs:group ref="ns1:property"/>
<xs:element ref="ns1:group"/>
</xs:choice>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:element name="vcard" type="ns1:vcardType"/>
<xs:element name="group">
<xs:complexType>
<xs:group minOccurs="0" maxOccurs="unbounded"
ref="ns1:property"/>
<xs:attribute name="name" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>
]]>
</artwork>
</figure>
</t>
</section>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-21 08:50:06 |