draft-ietf-ecrit-additional-data-38.txt   rfc7852.txt 
ECRIT R. Gellens Internet Engineering Task Force (IETF) R. Gellens
Internet-Draft Request for Comments: 7852
Updates: 6443, 6881 (if approved) B. Rosen Updates: 6443, 6881 B. Rosen
Intended status: Standards Track NeuStar Category: Standards Track NeuStar
Expires: October 7, 2016 H. Tschofenig ISSN: 2070-1721 H. Tschofenig
R. Marshall R. Marshall
TeleCommunication Systems, Inc. TeleCommunication Systems, Inc.
J. Winterbottom J. Winterbottom
April 5, 2016 Winterb Consulting Services
July 2016
Additional Data Related to an Emergency Call Additional Data Related to an Emergency Call
draft-ietf-ecrit-additional-data-38.txt
Abstract Abstract
When an emergency call is sent to a Public Safety Answering Point When an emergency call is sent to a Public Safety Answering Point
(PSAP), the originating device, the access network provider to which (PSAP), the originating device, the access network provider to which
the device is connected, and all service providers in the path of the the device is connected, and all service providers in the path of the
call have information about the call, the caller or the location call have information about the call, the caller, or the location,
which is helpful for the PSAP to have in handling the emergency. which is helpful for the PSAP to have in handling the emergency.
This document describes data structures and mechanisms to convey such This document describes data structures and mechanisms to convey such
data to the PSAP. The intent is that every emergency call carry as data to the PSAP. The intent is that every emergency call carry as
much as possible of the information described here using the much of the information described here as possible using the
mechanisms described here. mechanisms described here.
The mechanisms permit the data to be conveyed by reference (as an The mechanisms permit the data to be conveyed by reference (as an
external resource) or by value (within the body of a SIP message or a external resource) or by value (within the body of a SIP message or a
location object). This follows the tradition of prior emergency location object). This follows the tradition of prior emergency
services standardization work where data can be conveyed by value services standardization work where data can be conveyed by value
within the call signaling (i.e., in the body of the SIP message) or within the call signaling (i.e., in the body of the SIP message) or
by reference. by reference.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering This document is a product of the Internet Engineering Task Force
Task Force (IETF). Note that other groups may also distribute (IETF). It represents the consensus of the IETF community. It has
working documents as Internet-Drafts. The list of current Internet- received public review and has been approved for publication by the
Drafts is at http://datatracker.ietf.org/drafts/current/. Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
Internet-Drafts are draft documents valid for a maximum of six months Information about the current status of this document, any errata,
and may be updated, replaced, or obsoleted by other documents at any and how to provide feedback on it may be obtained at
time. It is inappropriate to use Internet-Drafts as reference http://www.rfc-editor.org/info/rfc7852.
material or to cite them other than as "work in progress."
This Internet-Draft will expire on October 7, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 27 skipping to change at page 2, line 26
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Document Scope . . . . . . . . . . . . . . . . . . . . . . . 7 3. Document Scope . . . . . . . . . . . . . . . . . . . . . . . 7
4. Data Structures . . . . . . . . . . . . . . . . . . . . . . . 7 4. Data Structures . . . . . . . . . . . . . . . . . . . . . . . 7
4.1. Data Provider Information . . . . . . . . . . . . . . . . 9 4.1. Data Provider Information. . . . . . . . . . . . . . . . . 9
4.1.1. Data Provider String . . . . . . . . . . . . . . . . 9 4.1.1. Data Provider String . . . . . . . . . . . . . . . . . 9
4.1.2. Data Provider ID . . . . . . . . . . . . . . . . . . 10 4.1.2. Data Provider ID . . . . . . . . . . . . . . . . . . . 9
4.1.3. Data Provider ID Series . . . . . . . . . . . . . . . 10 4.1.3. Data Provider ID Series . . . . . . . . . . . . . . . . 10
4.1.4. Type of Data Provider . . . . . . . . . . . . . . . . 11 4.1.4. Type of Data Provider . . . . . . . . . . . . . . . . . 11
4.1.5. Data Provider Contact URI . . . . . . . . . . . . . . 12 4.1.5. Data Provider Contact URI . . . . . . . . . . . . . . . 12
4.1.6. Data Provider Languages(s) Supported . . . . . . . . 13 4.1.6. Data Provider Language(s) Supported . . . . . . . . . . 13
4.1.7. xCard of Data Provider . . . . . . . . . . . . . . . 14 4.1.7. xCard of Data Provider . . . . . . . . . . . . . . . . 14
4.1.8. Subcontractor Principal . . . . . . . . . . . . . . . 14 4.1.8. Subcontractor Principal . . . . . . . . . . . . . . . . 14
4.1.9. Subcontractor Priority . . . . . . . . . . . . . . . 15 4.1.9. Subcontractor Priority . . . . . . . . . . . . . . . . 15
4.1.10. ProviderInfo Example . . . . . . . . . . . . . . . . 15 4.1.10. ProviderInfo Example . . . . . . . . . . . . . . . . . 15
4.2. Service Information . . . . . . . . . . . . . . . . . . . 17 4.2. Service Information . . . . . . . . . . . . . . . . . . . 18
4.2.1. Service Environment . . . . . . . . . . . . . . . . . 18 4.2.1. Service Environment . . . . . . . . . . . . . . . . . . 18
4.2.2. Service Type . . . . . . . . . . . . . . . . . . . . 19 4.2.2. Service Type . . . . . . . . . . . . . . . . . . . . . 19
4.2.3. Service Mobility Environment . . . . . . . . . . . . 20 4.2.3. Service Mobility Environment . . . . . . . . . . . . . 21
4.2.4. EmergencyCallData.ServiceInfo Example . . . . . . . . 21 4.2.4. EmergencyCallData.ServiceInfo Example . . . . . . . . . 22
4.3. Device Information . . . . . . . . . . . . . . . . . . . 22 4.3. Device Information . . . . . . . . . . . . . . . . . . . . 22
4.3.1. Device Classification . . . . . . . . . . . . . . . . 22 4.3.1. Device Classification . . . . . . . . . . . . . . . . . 22
4.3.2. Device Manufacturer . . . . . . . . . . . . . . . . . 23 4.3.2. Device Manufacturer . . . . . . . . . . . . . . . . . . 23
4.3.3. Device Model Number . . . . . . . . . . . . . . . . . 24 4.3.3. Device Model Number . . . . . . . . . . . . . . . . . . 24
4.3.4. Unique Device Identifier . . . . . . . . . . . . . . 24 4.3.4. Unique Device Identifier . . . . . . . . . . . . . . . 24
4.3.5. Device/Service-Specific Additional Data Structure . . 25 4.3.5. Device/Service-Specific Additional Data Structure . . . 25
4.3.6. Device/Service-Specific Additional Data Structure 4.3.6. Device/Service-Specific Additional Data Structure Type 26
Type . . . . . . . . . . . . . . . . . . . . . . . . 26 4.3.7. EmergencyCallData.DeviceInfo Example . . . . . . . . . 27
4.3.7. EmergencyCallData.DeviceInfo Example . . . . . . . . 26 4.4. Owner/Subscriber Information . . . . . . . . . . . . . . . 27
4.4.1. Subscriber Data Privacy Indicator . . . . . . . . . . . 27
4.4. Owner/Subscriber Information . . . . . . . . . . . . . . 27 4.4.2. xCard for Subscriber's Data . . . . . . . . . . . . . . 28
4.4.1. Subscriber Data Privacy Indicator . . . . . . . . . . 27 4.4.3. EmergencyCallData.SubscriberInfo Example . . . . . . . 29
4.4.2. xCard for Subscriber's Data . . . . . . . . . . . . . 28 4.5. Comment . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4.3. EmergencyCallData.SubscriberInfo Example . . . . . . 28 4.5.1. Comment . . . . . . . . . . . . . . . . . . . . . . . . 31
4.5. Comment . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.5.2. EmergencyCallData.Comment Example . . . . . . . . . . . 32
4.5.1. Comment . . . . . . . . . . . . . . . . . . . . . . . 31 5. Issues with Getting New Types of Data into Use . . . . . . . 32
4.5.2. EmergencyCallData.Comment Example . . . . . . . . . . 31 5.1. Choosing between Defining a New Type of Block or a New
5. Issues with getting new types of data into use . . . . . . . 32 Type of Device/Service-Specific Additional Data . . . . . 33
5.1. Choosing between defining a new type of block or new type
of device/service-specific additional data . . . . . . . 32
6. Data Transport Mechanisms . . . . . . . . . . . . . . . . . . 33 6. Data Transport Mechanisms . . . . . . . . . . . . . . . . . . 33
6.1. Transmitting Blocks using Call-Info . . . . . . . . . . . 35 6.1. Transmitting Blocks Using Call-Info . . . . . . . . . . . 36
6.2. Transmitting Blocks by Reference using the <provided-by> 6.2. Transmitting Blocks by Reference Using the <provided-by>
Element . . . . . . . . . . . . . . . . . . . . . . . . . 37 Element . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3. Transmitting Blocks by Value using the <provided-by> 6.3. Transmitting Blocks by Value Using the <provided-by>
Element . . . . . . . . . . . . . . . . . . . . . . . . . 38 Element . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.4. The Content-Disposition Parameter . . . . . . . . . . . . 39 6.4. The Content-Disposition Parameter . . . . . . . . . . . . 39
7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 41 7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8. XML Schemas . . . . . . . . . . . . . . . . . . . . . . . . . 53 8. XML Schemas . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.1. EmergencyCallData.ProviderInfo XML Schema . . . . . . . . 53 8.1. EmergencyCallData.ProviderInfo XML Schema . . . . . . . . 54
8.2. EmergencyCallData.ServiceInfo XML Schema . . . . . . . . 55 8.2. EmergencyCallData.ServiceInfo XML Schema . . . . . . . . . 56
8.3. EmergencyCallData.DeviceInfo XML Schema . . . . . . . . . 56 8.3. EmergencyCallData.DeviceInfo XML Schema . . . . . . . . . 57
8.4. EmergencyCallData.SubscriberInfo XML Schema . . . . . . . 58 8.4. EmergencyCallData.SubscriberInfo XML Schema . . . . . . . 59
8.5. EmergencyCallData.Comment XML Schema . . . . . . . . . . 59 8.5. EmergencyCallData.Comment XML Schema . . . . . . . . . . . 60
8.6. provided-by XML Schema . . . . . . . . . . . . . . . . . 60 8.6. provided-by XML Schema . . . . . . . . . . . . . . . . . . 61
9. Security Considerations . . . . . . . . . . . . . . . . . . . 62 9. Security Considerations . . . . . . . . . . . . . . . . . . . 62
10. Privacy Considerations . . . . . . . . . . . . . . . . . . . 64 10. Privacy Considerations . . . . . . . . . . . . . . . . . . . 64
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 67 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 67
11.1. Emergency Call Additional Data Registry . . . . . . . . 67 11.1. Emergency Call Additional Data Registry . . . . . . . . . 67
11.1.1. Provider ID Series Registry . . . . . . . . . . . . 67 11.1.1. Provider ID Series Registry . . . . . . . . . . . . . 67
11.1.2. Service Environment Registry . . . . . . . . . . . . 68 11.1.2. Service Environment Registry . . . . . . . . . . . . . 68
11.1.3. Service Type Registry . . . . . . . . . . . . . . . 68 11.1.3. Service Type Registry . . . . . . . . . . . . . . . . 68
11.1.4. Service Mobility Registry . . . . . . . . . . . . . 69 11.1.4. Service Mobility Registry . . . . . . . . . . . . . . 68
11.1.5. Type of Provider Registry . . . . . . . . . . . . . 69 11.1.5. Type of Provider Registry . . . . . . . . . . . . . . 69
11.1.6. Device Classification Registry . . . . . . . . . . . 69 11.1.6. Device Classification Registry . . . . . . . . . . . . 69
11.1.7. Device ID Type Registry . . . . . . . . . . . . . . 70 11.1.7. Device ID Type Registry . . . . . . . . . . . . . . . 69
11.1.8. Device/Service Data Type Registry . . . . . . . . . 70 11.1.8. Device/Service Data Type Registry . . . . . . . . . . 70
11.1.9. Emergency Call Data Types Registry . . . . . . . . . 70 11.1.9. Emergency Call Data Types Registry . . . . . . . . . . 70
11.2. 'EmergencyCallData' Purpose Parameter Value . . . . . . 72 11.2. 'EmergencyCallData' Purpose Parameter Value . . . . . . . 72
11.3. URN Sub-Namespace Registration for <provided-by> 11.3. URN Sub-Namespace Registration for <provided-by>
Registry Entry . . . . . . . . . . . . . . . . . . . . . 72 Registry Entry . . . . . . . . . . . . . . . . . . . . . 72
11.4. MIME Registrations . . . . . . . . . . . . . . . . . . . 72 11.4. MIME Registrations . . . . . . . . . . . . . . . . . . . 72
11.4.1. MIME Content-type Registration for 11.4.1. MIME Content-Type Registration for
'application/EmergencyCallData.ProviderInfo+xml' . . 72 'application/EmergencyCallData.ProviderInfo+xml' . . . 72
11.4.2. MIME Content-type Registration for 11.4.2. MIME Content-Type Registration for
'application/EmergencyCallData.ServiceInfo+xml' . . 73 'application/EmergencyCallData.ServiceInfo+xml' . . . 73
11.4.3. MIME Content-type Registration for 11.4.3. MIME Content-Type Registration for
'application/EmergencyCallData.DeviceInfo+xml' . . . 75 'application/EmergencyCallData.DeviceInfo+xml' . . . . 74
11.4.4. MIME Content-Type Registration for
'application/EmergencyCallData.SubscriberInfo+xml' . . 75
11.4.4. MIME Content-type Registration for 11.4.5. MIME Content-Type Registration for
'application/EmergencyCallData.SubscriberInfo+xml' . 76 'application/EmergencyCallData.Comment+xml' . . . . . 76
11.4.5. MIME Content-type Registration for 11.5. URN Sub-Namespace Registration . . . . . . . . . . . . . 78
'application/EmergencyCallData.Comment+xml' . . . . 77 11.5.1. Registration for
11.5. URN Sub-Namespace Registration . . . . . . . . . . . . . 78 urn:ietf:params:xml:ns:EmergencyCallData . . . . . . . 78
11.5.1. Registration for 11.5.2. Registration for
urn:ietf:params:xml:ns:EmergencyCallData . . . . . . 78 urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo . 78
11.5.2. Registration for 11.5.3. Registration for
urn:ietf:params:xml:ns:EmergencyCallData:ProviderInf urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo . 79
o . . . . . . . . . . . . . . . . . . . . . . . . . 79 11.5.4. Registration for
11.5.3. Registration for urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo . . 80
urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo 79 11.5.5. Registration for
11.5.4. Registration for urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo 81
urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo 80 11.5.6. Registration for
11.5.5. Registration for urn:ietf:params:xml:ns:EmergencyCallData:Comment . . . 81
urn:ietf:params:xml:ns:EmergencyCallData:SubscriberI 11.6. Schema Registrations . . . . . . . . . . . . . . . . . . 82
nfo . . . . . . . . . . . . . . . . . . . . . . . . 81 11.7. vCard Parameter Value Registration . . . . . . . . . . . 83
11.5.6. Registration for 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 84
urn:ietf:params:xml:ns:EmergencyCallData:Comment . . 82 12.1. Normative References . . . . . . . . . . . . . . . . . . 84
11.6. Schema Registrations . . . . . . . . . . . . . . . . . . 83 12.2. Informative References . . . . . . . . . . . . . . . . . 85
11.7. VCard Parameter Value Registration . . . . . . . . . . . 84 Appendix A. XML Schema for vCard/xCard . . . . . . . . . . . . . 89
12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 85 Appendix B. XML Validation . . . . . . . . . . . . . . . . . . . 111
13. References . . . . . . . . . . . . . . . . . . . . . . . . . 85 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 112
13.1. Normative References . . . . . . . . . . . . . . . . . . 85 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 113
13.2. Informational References . . . . . . . . . . . . . . . . 87
13.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Appendix A. XML Schema for vCard/xCard . . . . . . . . . . . . . 90
Appendix B. XML Validation . . . . . . . . . . . . . . . . . . . 112
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 112
1. Introduction 1. Introduction
When an IP-based emergency call is initiated, a rich set of data from When an IP-based emergency call is initiated, a rich set of data from
multiple data sources is conveyed to the Public Safety Answering multiple data sources is conveyed to the Public Safety Answering
Point (PSAP). This data includes information about the calling party Point (PSAP). This data includes information about the calling party
identity, the multimedia capabilities of the device, the request for identity, the multimedia capabilities of the device, the request for
emergency services, location information, and meta-data about the emergency services, location information, and metadata about the
sources of the data. In addition, the device, the access network sources of the data. In addition, the device, the access network
provider, and any service provider in the call path has even more provider, and any service provider in the call path has even more
information that is useful for a PSAP when handling an emergency. information that is useful for a PSAP when handling an emergency.
This document extends the basic set of data communicated with a This document extends the basic set of data communicated with an
Session Initiation Protocol (SIP) based emergency call, as described emergency call based on the Session Initiation Protocol (SIP), as
in [RFC6443] and [RFC6881], in order to carry additional data which described in RFC 6443 [RFC6443] and RFC 6881 [RFC6881], in order to
is useful to an entity or call taker handling the call. This data is carry additional data that is useful to an entity or call taker
"additional" to the basic information found in the emergency call handling the call. This data is "additional" to the basic
signaling used. The intent is that every emergency call carry as information found in the emergency call signaling used. The intent
much as possible of the information described here using the is that every emergency call carry as much of the information
mechanisms described here. described here as possible using the mechanisms described here.
This document defines three categories of this additional data that This document defines three categories of this additional data that
can be transmitted with an emergency call: can be transmitted with an emergency call:
Data Associated with a Location: Primary location data is conveyed Data Associated with a Location: Primary location data is conveyed
in the Presence Information Data Format Location Object (PIDF-LO) in the Presence Information Data Format Location Object (PIDF-LO)
data structure as defined in RFC 4119 [RFC4119] and extended by data structure as defined in RFC 4119 [RFC4119] and extended by
RFC 5139 [RFC5139] and RFC 6848 [RFC6848] (for civic location RFC 5139 [RFC5139] and RFC 6848 [RFC6848] (for civic location
information), RFC 5491 [RFC5491] and RFC 5962 [RFC5962] (for information), RFC 5491 [RFC5491] and RFC 5962 [RFC5962] (for
geodetic location information), and [RFC7035] (for relative geodetic location information), and RFC 7035 [RFC7035] (for
location). This primary location data identifies the location or relative location). This primary location data identifies the
estimated location of the caller. However, there might exist location or estimated location of the caller. However, there
additional, secondary data which is specific to the location, such might exist additional, secondary data that is specific to the
as floor plans, tenant and building owner contact data, heating, location, such as floor plans, tenant and building owner contact
ventilation and air conditioning (HVAC) status, etc. Such data, heating, ventilation, and air conditioning (HVAC) status,
secondary location data is not included in the location data etc. Such secondary location data is not included in the location
structure but can be transmitted using the mechanisms defined in data structure but can be transmitted using the mechanisms defined
this document. Although this document does not define any in this document. Although this document does not define any
structures for such data, future documents can do so following the structures for such data, future documents can do so following the
procedures defined here. procedures defined here.
Data Associated with a Call: While some information is carried in Data Associated with a Call: While some information is carried in
the call setup procedure itself (as part of the SIP headers as 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 well as in the body of the SIP message), there is additional data
known by the device making the call, the access network to which known by the device making the call, the access network to which
the device is connected, and service providers along the path of the device is connected, and service providers along the path of
the call. This information includes service provider contact the call. This information includes service provider contact
information, subscriber identity and contact information, the type information, subscriber identity and contact information, the type
of service the service provider and the access network provide, of service the service provider and the access network provide,
what type of device is being used, etc. Some data is broadly what type of device is being used, etc. Some data is broadly
applicable, while other data is dependent on the type of device or applicable, while other data is dependent on the type of device or
service. For example, a medical monitoring device might have service. For example, a medical monitoring device might have
sensor data. The data structures defined in this document (Data sensor data. The data structures defined in this document (Data
Provider Information, Device Information, and Owner/Subscriber Provider Information, Device Information, and Owner/Subscriber
Information) all fall into the category of "Data Associated with a Information) all fall into the category of "Data Associated with a
Call". Note that the Owner/Subscriber Information includes the Call". Note that the owner/subscriber information includes the
subscriber's vCard, which might contain personal information such subscriber's vCard, which might contain personal information such
as birthday, anniversary, etc., but the data block itself is still as birthday, anniversary, etc., but the data block itself is still
considered to be about the call, not the caller. considered to be about the call, not the caller.
Data Associated with a Caller: This is personal data about a caller, Data Associated with a Caller: This is personal data about a caller,
such as medical information and emergency contact data. Although such as medical information and emergency contact data. Although
this document does not define any structures within this category, this document does not define any structures within this category,
future documents can do so following the procedures defined here. future documents can do so following the procedures defined here.
While this document defines data structures only within the category While this document defines data structures only within the category
of Data Associated with a Call, by establishing the overall framework of Data Associated with a Call, by establishing the overall framework
of Additional Data, along with general mechanisms for transport of of Additional Data, along with general mechanisms for transport of
such data, extension points and procedures for future extensions, it such data, extension points, and procedures for future extensions, it
minimizes the work needed to carry data in the other categories. minimizes the work needed to carry data in the other categories.
Other specifications can make use of the facilities provided here. Other specifications can make use of the facilities provided here.
For interoperability, there needs to be a common way for the For interoperability, there needs to be a common way for the
information conveyed to a PSAP to be encoded and identified. information conveyed to a PSAP to be encoded and identified.
Identification allows emergency services authorities to know during Identification allows emergency services authorities to know during
call processing which types of data are present and to determine if 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 they wish to access it. A common encoding allows the data to be
successfully accessed. successfully accessed.
This document defines an extensible set of data structures, and This document defines an extensible set of data structures, and
mechanisms to transmit this data either by value or by reference, mechanisms to transmit this data either by value or by reference,
either in the Session Initiation Protocol (SIP) call signaling or in either in the SIP call signaling or in the PIDF-LO. The data
the Presence Information Data Format Location Object (PIDF-LO). The structures are usable by other communication systems and transports
data structures are usable by other communication systems and as well. The data structures are defined in Section 4, and the
transports as well. The data structures are defined in Section 4, transport mechanisms (using SIP and HTTPS) are defined in Section 6.
and the transport mechanisms (using SIP and HTTPS) are defined in
Section 6.
Each data structure described in this document is encoded as a Each data structure described in this document is encoded as a
"block" of information. Each block is an XML structure with an "block" of information. Each block is an XML structure with an
associated Multipurpose Internet Mail Extensions (MIME) media type associated Multipurpose Internet Mail Extensions (MIME) media type
for identification within transport such as SIP and HTTPS. The set for identification within transport such as SIP and HTTPS. The set
of blocks is extensible. Registries are defined to identify the of blocks is extensible. Registries are defined to identify the
block types that can be used and to allow blocks to be included in block types that can be used and to allow blocks to be included in
emergency call signaling. emergency call signaling.
Much of the information supplied by service providers and devices is Much of the information supplied by service providers and devices is
private and confidential; service providers and devices generally go private and confidential. Service providers and devices generally go
to lengths to protect this information; disclosing it in the context to lengths to protect this information; disclosing it in the context
of an emergency call is a trade-off to protect the greater interest of an emergency call is a trade-off to protect the greater interest
of the customer in an emergency. of the customer in an emergency.
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
This document also uses terminology from [RFC5012]. We use the term This document also uses terminology from [RFC5012]. We use the term
service provider to refer to an Application Service Provider (ASP). "service provider" to refer to an Application Service Provider (ASP).
A Voice Service Provider (VSP) is a special type of ASP. With the A Voice Service Provider (VSP) is a special type of ASP. With the
term "Access Network Provider" we refer to the Internet Access term "Access Network Provider", we refer to the Internet Access
Provider (IAP) and the Internet Service Provider (ISP) without Provider (IAP) and the Internet Service Provider (ISP) without
further distinguishing these two entities, since the difference further distinguishing these two entities, since the difference
between the two is not relevant for this document. Note that the between the two is not relevant for this document. Note that the
roles of ASP and access network provider might be provided by a roles of an ASP and access network provider might be provided by a
single company. An Emergency Services Provider is an entity directly single company. An Emergency Services Provider is an entity directly
involved in providing emergency services. This includes PSAPs, involved in providing emergency services. This includes PSAPs,
dispatch, police, fire, emergency medical, other responders, and dispatch, police, fire, emergency medical, other responders, and
other similar agencies. other similar agencies.
Within each data block definition (see Section 4), the values for the Within each data block definition (see Section 4), the values for the
"Use:" label are specified as one of the following: 'Use:' label are specified as one of the following:
'Required': means it MUST be present in the data structure. 'Required': means it MUST be present in the data structure.
'Conditional': means it MUST be present if the specified 'Conditional': means it MUST be present if the specified
condition(s) is met. It MAY be present if the condition(s) is not condition(s) is met. It MAY be present if the condition(s) is not
met. met.
'Optional': means it MAY be present. 'Optional': means it MAY be present.
vCard [RFC6350] is a data format for representing and exchanging a vCard [RFC6350] is a data format for representing and exchanging a
variety of information about individuals and other entities. For variety of information about individuals and other entities. For
applications that use XML, the format defined in vCard is not applications that use XML, the format defined in vCard is not
immediately applicable. For this reason, an XML-based encoding of immediately applicable. For this reason, an XML-based encoding of
the information elements defined in the vCard specification has been the information elements defined in the vCard specification has been
defined and the name of that specification is xCard [RFC6351]. Since defined, and the name of that specification is xCard [RFC6351].
the term vCard is more familiar to most readers, we use the terms Since the term vCard is more familiar to most readers, we use the
xCard and vCard interchangeably. terms xCard and vCard interchangeably.
3. Document Scope 3. Document Scope
The scope of this document is explicitly limited to emergency calls. The scope of this document is explicitly limited to emergency calls.
The data structures defined here are not appropriate to be conveyed The data structures defined here are not appropriate to be conveyed
in non-emergency calls because they carry sensitive and private data. in non-emergency calls because they carry sensitive and private data.
However, in certain private-use situations between a specialized However, in certain private-use situations between a specialized
service provider (such as a vehicle telematics service provider) and service provider (such as a vehicle telematics service provider) and
dedicated equipment (such as in a vehicle) where the endpoints have a dedicated equipment (such as in a vehicle) where the endpoints have a
preexisting relationship and privacy issues are addressed within the preexisting relationship and privacy issues are addressed within the
relationship, the mechanisms and data structures defined here can be relationship, the mechanisms and data structures defined here can be
used with communications within the limited context of the used with communications within the limited context of the
preexisting relationship. preexisting relationship.
4. Data Structures 4. Data Structures
This section defines the following five data structures, each as a This section defines the following five data structures, each as a
data block. For each block we define the MIME media type, and the data block. For each block, we define the MIME media type and the
XML encoding. The five data structures are: XML encoding. The five data structures are:
'Data Provider': This block supplies name and contact information 'Data Provider': This block supplies name and contact information
for the entity that created the data. Section 4.1 provides the for the entity that created the data. Section 4.1 provides the
details. details.
'Service Information': This block supplies information about the 'Service Information': This block supplies information about the
service. The description can be found in Section 4.2. service. The description can be found in Section 4.2.
'Device Information': This block supplies information about the 'Device Information': This block supplies information about the
device placing the call. Device information can be found in device placing the call. Device information can be found in
Section 4.3. Section 4.3.
'Owner/Subscriber': This block supplies information about the owner 'Owner/Subscriber': This block supplies information about the owner
of the device or about the subscriber. Details can be found in of the device or about the subscriber. Details can be found in
Section 4.4. Section 4.4.
'Comment': This block provides a way to supply free form human 'Comment': This block provides a way to supply free form human-
readable text to the PSAP or emergency responders. This simple readable text to the PSAP or emergency responders. This simple
structure is defined in Section 4.5. structure is defined in Section 4.5.
Each block contains a mandatory <DataProviderReference> element. The Each block contains a mandatory <DataProviderReference> element. The
purpose of the <DataProviderReference> element is to associate all purpose of the <DataProviderReference> element is to associate all
blocks added by the same data provider as a unit. The blocks added by the same data provider as a unit. The
<DataProviderReference> element associates the data provider block to <DataProviderReference> element associates the data provider block to
each of the other blocks added as a unit. Consequently, when a data each of the other blocks added as a unit. Consequently, when a data
provider adds additional data to an emergency call (such as device provider adds additional data to an emergency call (such as device
information) it MUST add information about itself (via the data information), it MUST add information about itself (via the data
provider block) and the blocks added contain the same value in the provider block), and the blocks added contain the same value in the
<DataProviderReference> element. All blocks added by a single entity <DataProviderReference> element. All blocks added by a single entity
at the same time MUST have the same <DataProviderReference> value. at the same time MUST have the same <DataProviderReference> value.
(In certain situations, the same provider might process a call more (In certain situations, the same provider might process a call more
than once, likely in different roles, and in such cases, each time it than once, likely in different roles, and in such cases, each time it
processes the call, it adds a new set of bocks with a new processes the call, it adds a new set of blocks with a new
<DataProviderReference> value.) The value of the <DataProviderReference> value.) The value of the
<DataProviderReference> element has the same syntax and properties <DataProviderReference> element has the same syntax and properties
(specifically, world-uniqueness) as the value of the "Message-ID" (specifically, world-uniqueness) as the value of the 'Message-ID'
message body header field specified in RFC 5322 [RFC5322] except that message body header field specified in RFC 5322 [RFC5322] except that
the <DataProviderReference> element is not enclosed in brackets (the the <DataProviderReference> element is not enclosed in brackets (the
"<" and ">" symbols are omitted). In other words, the value of a '<' and '>' symbols are omitted). In other words, the value of a
<DataProviderReference> element is syntactically a msg-id as <DataProviderReference> element is syntactically a msg-id as
specified in RFC 5322 [RFC5322]. specified in RFC 5322 [RFC5322].
Each block is added to the Additional Data Blocks Registry created in Each block is added to the "Additional Data Blocks" registry created
Section 11.1.9 and categorized as providing data about the caller. in Section 11.1.9 and categorized as providing data about the caller.
New blocks added to the registry in the future MUST also be New blocks added to the registry in the future MUST also be
categorized per the description of the three categories in Section 1. categorized per the description of the three categories in Section 1.
See Section 5 and Section 5.1 for additional considerations when See Sections 5 and 5.1 for additional considerations when adding new
adding new blocks or types of data. blocks or types of data.
Note that the xCard format is re-used in some of the data structures Note that the xCard format is reused in some of the data structures
to provide contact information. In an xCard there is no way to to provide contact information. In an xCard, there is no way to
specify a "main" telephone number (that is, a primary or main contact specify a 'main' telephone number (that is, a primary or main contact
number, typically of an enterprise, as opposed to a direct dial number, typically of an enterprise, as opposed to a direct-dial
number of an individual). These numbers are useful to emergency number of an individual). These numbers are useful to emergency
responders who are called to a large enterprise. This document adds responders who are called to a large enterprise. This document adds
a new parameter value called 'main-number' to the "TYPE" parameter of a new parameter value called 'main-number' to the 'TYPE' parameter of
the "tel" property. It can be used in any xCard in an emergency call the 'tel' property. It can be used in any xCard in an emergency call
additional data block. additional data block.
4.1. Data Provider Information 4.1. Data Provider Information
This block is intended to be supplied by any service provider in the This block is intended to be supplied by any service provider in the
path of the call, or the access network provider, and the device. It path of the call, or the access network provider, and the device. It
includes identification and contact information. This block MUST be includes identification and contact information. This block MUST be
supplied by any entity that provides any other block; it SHOULD be supplied by any entity that provides any other block; it SHOULD be
supplied by every service provider in the call path and by the access supplied by every service provider in the call path and by the access
network provider if those entities do not add any other blocks. network provider if those entities do not add any other blocks.
Devices SHOULD use this block to provide identifying information. Devices SHOULD use this block to provide identifying information.
The MIME media type is "application/ The MIME media type is 'application/
EmergencyCallData.ProviderInfo+xml". An access network provider EmergencyCallData.ProviderInfo+xml'. An access network provider
SHOULD provide this block either by value or by reference in the SHOULD provide this block either by value or by reference in the
<provided-by> element of a PIDF-LO <provided-by> element of a PIDF-LO.
4.1.1. Data Provider String 4.1.1. Data Provider String
Data Element: Data Provider String Data Element: Data Provider String
Use: Conditional. Optional for blocks supplied by the originating Use: Conditional. Optional for blocks supplied by the originating
device, mandatory otherwise. device; mandatory otherwise.
XML Element: <DataProviderString> XML Element: <DataProviderString>
Description: This is a plain text string suitable for displaying the Description: This is a plaintext string suitable for displaying the
name of the service provider that supplied the data structure. If name of the service provider that supplied the data structure. If
the device creates the structure, it SHOULD use the value of the the device creates the structure, it SHOULD use the value of the
contact header field in the SIP INVITE. contact header field in the SIP INVITE.
Reason for Need: Inform the call taker of the identity of the entity Reason for Need: Inform the call taker of the identity of the entity
providing the data. providing the data.
How Used by Call Taker: Allows the call taker to interpret the data How Used by Call Taker: Allows the call taker to interpret the data
in this structure. The source of the information often influences in this structure. The source of the information often influences
how the information is used, believed or verified. how the information is used, believed, or verified.
4.1.2. Data Provider ID 4.1.2. Data Provider ID
Data Element: Data Provider ID Data Element: Data Provider ID
Use: Conditional. Optional for blocks supplied by the originating Use: Conditional. Optional for blocks supplied by the originating
device, mandatory otherwise. This data MUST be provided by all device; mandatory otherwise. This data MUST be provided by all
entities other than the originating device in order to uniquely entities other than the originating device in order to uniquely
identify the service provider or access provider. identify the service provider or access provider.
XML Element: <ProviderID> XML Element: <ProviderID>
Description: A jurisdiction-specific code for, or the fully
Description: A jurisdiction-specific code for, or the fully-
qualified domain name of, the access network provider or service qualified domain name of, the access network provider or service
provider shown in the <DataProvidedBy> element that created the provider shown in the <DataProvidedBy> element that created the
structure. NOTE: The value SHOULD be assigned by an organization structure. NOTE: The value SHOULD be assigned by an organization
appropriate for the jurisdiction. In the U.S., if the provider is appropriate for the jurisdiction. In the United States, if the
registered with NENA, the provider's NENA Company ID MUST appear provider is registered with NENA, the provider's NENA Company ID
here. Additional information can be found at NENA Company MUST appear here. Additional information can be found at the
Identifier Program [1] or NENA Company ID [2]. The NENA Company National Emergency Number Association (NENA) Company Identifier
ID MUST be in the form of a URI in the following format: Program <http://www.nena.org/?page=cid2014> or the NENA Company ID
<http://www.nena.org/?page=CompanyID>. The NENA Company ID MUST
be in the form of a URI in the following format:
urn:nena:companyid:<NENA Company ID>. If the organization does urn:nena:companyid:<NENA Company ID>. If the organization does
not have an identifier registered with a jurisdiction-specific not have an identifier registered with a jurisdiction-specific
emergency services registrar (such as NENA), then the value MAY be emergency services registrar (such as NENA), then the value MAY be
the fully-qualified domain name of the service provider or access the fully qualified domain name of the service provider or access
provider. The device MAY use its IP address or fully-qualified provider. The device MAY use its IP address or fully qualified
domain name (and set the "Data Provider ID Series" element to domain name (and set the 'Data Provider ID Series' element to
"domain"). 'domain').
Reason for Need: Inform the call taker of the identity of the entity Reason for Need: Inform the call taker of the identity of the entity
providing the data. providing the data.
How Used by Call Taker: Where jurisdictions have lists of providers How Used by Call Taker: Where jurisdictions have lists of providers,
the Data Provider ID provides useful information about the data the Data Provider ID provides useful information about the data
source. The Data Provider ID uniquely identifies the source of source. The Data Provider ID uniquely identifies the source of
the data, which might be needed especially during unusual the data, which might be needed especially during unusual
circumstances and for routine logging. circumstances and for routine logging.
4.1.3. Data Provider ID Series 4.1.3. Data Provider ID Series
Data Element: Data Provider ID Series Data Element: Data Provider ID Series
Use: Conditional. Optional for blocks supplied by the originating Use: Conditional. Optional for blocks supplied by the originating
device, mandatory otherwise. device; mandatory otherwise.
XML Element: <ProviderIDSeries> XML Element: <ProviderIDSeries>
Description: Identifies the issuer of the <ProviderID>. The Description: Identifies the issuer of the <ProviderID>. The
Provider ID Series Registry created in Section 11.1.1 initially "Provider ID Series" registry created in Section 11.1.1 initially
contains the entries shown in Figure 1. contains the entries shown in Figure 1.
Reason for Need: Identifies how to interpret the Data Provider ID. Reason for Need: Identifies how to interpret the Data Provider ID.
The combination of ProviderIDSeries and ProviderID MUST be The combination of ProviderIDSeries and ProviderID MUST be
globally unique. globally unique.
How Used by Call Taker: Determines which provider ID registry to How Used by Call Taker: Determines which provider ID registry to
consult for more information consult for more information.
+-----------+--------------------------+----------------------+ +-----------+--------------------------+----------------------+
| Name | Source | URL | | Name | Source | URL |
+-----------+--------------------------+----------------------+ +-----------+--------------------------+----------------------+
| NENA | National Emergency | http://www.nena.org | | NENA | National Emergency | http://www.nena.org |
| | Number Association | | | | Number Association | |
| | | |
| EENA | European Emergency | http://www.eena.org | | EENA | European Emergency | http://www.eena.org |
| | Number Association | | | | Number Association | |
| domain | (The ID is a fully- | (not applicable) | | | | |
| domain | (The ID is a fully | (not applicable) |
| | qualified domain name) | | | | qualified domain name) | |
+-----------+--------------------------+----------------------+ +-----------+--------------------------+----------------------+
Figure 1: Provider ID Series Registry Figure 1: Provider ID Series Registry
4.1.4. Type of Data Provider 4.1.4. Type of Data Provider
Data Element: Type of Data Provider Data Element: Type of Data Provider
Use: Required. Use: Required
XML Element: <TypeOfProvider> XML Element: <TypeOfProvider>
Description: Identifies the type of data provider supplying the Description: Identifies the type of data provider supplying the
data. The registry containing all valid values is created in data. The registry containing all valid values is created in
Section 11.1.5 and the initial set of values is shown in Figure 2. Section 11.1.5, and the initial set of values is shown in
Figure 2.
Reason for Need: Identifies the category of data provider. Reason for Need: Identifies the category of data provider.
How Used by Call Taker: This information can be helpful when How Used by Call Taker: This information can be helpful when
deciding whom to contact when further information is needed. deciding whom to contact when further information is needed.
+------------------------------+------------------------------------+ +------------------------------+------------------------------------+
| Token | Description | | Token | Description |
+------------------------------+------------------------------------+ +------------------------------+------------------------------------+
|Client | Originating client/device | |Client | Originating client/device |
| | |
|Access Network Provider | Access network service provider | |Access Network Provider | Access network service provider |
| | |
|Telecom Provider | Telecom service provider (including| |Telecom Provider | Telecom service provider (including|
| | native and over-the-top VoIP | | | native and over-the-top VoIP |
| | services) | | | services) |
| | |
|Telematics Provider | A sensor-based service provider, | |Telematics Provider | A sensor-based service provider, |
| | especially vehicle-based | | | especially vehicle based |
| | |
|Language Translation Provider | A spoken language translation | |Language Translation Provider | A spoken language translation |
| | service | | | service |
| | |
|Emergency Service Provider | An emergency service provider | |Emergency Service Provider | An emergency service provider |
| | conveying information to another| | | conveying information to another|
| | emergency service provider. | | | emergency service provider |
| | |
|Emergency Modality Translation| An emergency-call-specific | |Emergency Modality Translation| An emergency-call-specific |
| | modality translation service | | | modality translation service, |
| | e.g., for sign language | | | e.g., for sign language |
| | |
|Relay Provider | An interpretation service, e.g., | |Relay Provider | An interpretation service, e.g., |
| | video relay for sign language | | | video relay for sign language |
| | interpretation | | | interpretation |
| | |
|Other | Any other type of service provider | |Other | Any other type of service provider |
+------------------------------+------------------------------------+ +------------------------------+------------------------------------+
Figure 2: Type of Data Provider Registry Figure 2: Type of Data Provider Registry
4.1.5. Data Provider Contact URI 4.1.5. Data Provider Contact URI
Data Element: Data Provider Contact URI Data Element: Data Provider Contact URI
Use: Required Use: Required
skipping to change at page 12, line 47 skipping to change at page 13, line 6
XML Element: <ContactURI> XML Element: <ContactURI>
Description: When provided by a service provider or an access Description: When provided by a service provider or an access
network provider, this information is expected to be a URI to a network provider, this information is expected to be a URI to a
24/7 support organization tasked to provide PSAP support for this 24/7 support organization tasked to provide PSAP support for this
emergency call. When provided by a device, this MUST be the emergency call. When provided by a device, this MUST be the
contact information of the user or owner of the device. (Ideally, contact information of the user or owner of the device. (Ideally,
this is the contact information of the device user, but when the this is the contact information of the device user, but when the
owner and user are separate (e.g., the device owner is an owner and user are separate (e.g., the device owner is an
organization), this MAY be the contact information of the owner.) organization), this MAY be the contact information of the owner.)
The Data Provider Contact URI SHOULD be a TEL URI [RFC3966] in The Data Provider Contact URI SHOULD be a tel URI [RFC3966] in
E.164 format fully specified with country code. If a TEL URI is E.164 format and fully specified with a country code. If a tel
not available, a generic SIP URI is acceptable. Note that this URI is not available, a generic SIP URI is acceptable. Note that
contact information is not used by PSAPs for callbacks (a call this contact information is not used by PSAPs for callbacks (a
from a PSAP directly related to a recently terminated emergency call from a PSAP directly related to a recently terminated
call, placed by the PSAP using a SIP Priority header field set to emergency call, placed by the PSAP using a SIP Priority header
"psap-callback", as described in [RFC7090]). field set to 'psap-callback', as described in [RFC7090]).
Reason for Need: Additional data providers might need to be Reason for Need: Additional data providers might need to be
contacted in error cases or other unusual circumstances. contacted in error cases or other unusual circumstances.
How Used by Call Taker: To contact the supplier of the additional How Used by Call Taker: To contact the supplier of the additional
data for assistance in handling the call. data for assistance in handling the call.
4.1.6. Data Provider Languages(s) Supported 4.1.6. Data Provider Language(s) Supported
Data Element: Data Provider Language(s) supported Data Element: Data Provider Language(s) supported
Use: Required. Use: Required
XML Element: <Language> XML Element: <Language>
Description: This field encodes the language used by the entity at Description: This field encodes the language used by the entity at
the Data Provider Contact URI. The content of this field consists the Data Provider Contact URI. The content of this field consists
of a single token from the language tags registry, which can be of a single token from the Language Subtag Registry, which can be
found at [LanguageTagRegistry], and is defined in [RFC5646]. found at [LanguageSubtagRegistry], and is defined in [RFC5646].
Multiple instances of this element MAY occur but the order is Multiple instances of this element MAY occur, but the order is
significant and the preferred language SHOULD appear first. The significant and the preferred language SHOULD appear first. The
content MUST reflect the languages supported at the contact URI. content MUST reflect the languages supported at the contact URI.
(Note that this field informs the PSAP of the language(s) used by (Note that this field informs the PSAP of the language(s) used by
the data provider. If the PSAP needs to contact the data the data provider. If the PSAP needs to contact the data
provider, it can be helpful to know in advance the language(s) provider, it can be helpful to know in advance the language(s)
used by the data provider. If the PSAP uses a communication used by the data provider. If the PSAP uses a communication
protocol to reach the data provider, that protocol might have protocol to reach the data provider, that protocol might have
language facilities of its own (such as the 'language' media language facilities of its own (such as the 'language' media
feature tag, defined in RFC 3840 [RFC3840] and the more extensive feature tag, defined in RFC 3840 [RFC3840], and the more extensive
language negotiation mechanism proposed with language negotiation mechanism proposed in [HUMAN-LANG]), and if
[I-D.ietf-slim-negotiating-human-language]), and if so, those are so, those are independent of this field.)
independent of this field.)
Reason for Need: This information indicates if the emergency service Reason for Need: This information indicates if the emergency service
authority can directly communicate with the service provider or if authority can directly communicate with the service provider or if
an interpreter will be needed. an interpreter will be needed.
How Used by Call Taker: If the call taker cannot speak any language How Used by Call Taker: If the call taker cannot speak any language
supported by the service provider, a translation service will need supported by the service provider, a translation service will need
to be added to the conversation. Alternatively, other persons at to be added to the conversation. Alternatively, other persons at
the PSAP, besides the call taker, might be consulted for help the PSAP, besides the call taker, might be consulted for help
(depending on the urgency and the type of interaction). (depending on the urgency and the type of interaction).
4.1.7. xCard of Data Provider 4.1.7. xCard of Data Provider
Data Element: xCard of Data Provider Data Element: xCard of Data Provider
Use: Optional Use: Optional
XML Element: <DataProviderContact> XML Element: <DataProviderContact>
Description: Per [RFC6351] the xCard structure is represented within Description: Per [RFC6351], the xCard structure is represented
a <vcard> element. Although multiple <vcard> elements can be within a <vcard> element. Although multiple <vcard> elements can
contained in a structure only one <vcard> element SHOULD be be contained in a structure, only one <vcard> element SHOULD be
provided. If more than one appears, the first SHOULD be used. provided. If more than one appears, the first SHOULD be used.
There are many fields in the xCard and the creator of the data There are many fields in the xCard, and the creator of the data
structure is encouraged to provide all available information. N, structure is encouraged to provide all available information. N,
ORG, ADR, TEL, EMAIL are suggested at a minimum. N SHOULD contain ORG, ADR, TEL, and EMAIL are suggested at a minimum. N SHOULD
the name of the support group or device owner as appropriate. If contain the name of the support group or device owner as
more than one TEL property is provided, a parameter from the vCard appropriate. If more than one TEL property is provided, a
Property Value registry SHOULD be specified for each TEL. For parameter from the "vCard Property Values" registry SHOULD be
encoding of the vCard this specification uses the XML-based specified for each TEL. For encoding of the vCard, this
encoding specified in [RFC6351], referred to in this document as specification uses the XML-based encoding specified in [RFC6351],
"xCard". which is referred to in this document as 'xCard'.
Reason for Need: Information needed to determine additional contact Reason for Need: Information needed to determine additional contact
information. information.
How Used by Call Taker: Assists the call taker by providing How Used by Call Taker: Assists the call taker by providing
additional contact information aside from what is included in the additional contact information aside from what is included in the
SIP INVITE or the PIDF-LO. SIP INVITE or the PIDF-LO.
4.1.8. Subcontractor Principal 4.1.8. Subcontractor Principal
When the entity providing the data is a subcontractor, the Data When the entity providing the data is a subcontractor, the Data
Provider Type is set to that of the primary service provider and this Provider Type is set to that of the primary service provider, and
entry is supplied to provide information regarding the subcontracting this entry is supplied to provide information regarding the
entity. subcontracting entity.
Data Element: Subcontractor Principal Data Element: Subcontractor Principal
Use: Conditional. This data is required if the entity providing the Use: Conditional. This data is required if the entity providing the
data is a subcontractor. data is a subcontractor.
XML Element: <SubcontractorPrincipal> XML Element: <SubcontractorPrincipal>
Description: Some providers outsource their obligations to handle Description: Some providers outsource their obligations to handle
aspects of emergency services to specialized providers. If the aspects of emergency services to specialized providers. If the
data provider is a subcontractor to another provider this element data provider is a subcontractor to another provider, this element
contains the DataProviderString of the service provider to contains the DataProviderString of the service provider to
indicate which provider the subcontractor is working for. indicate which provider the subcontractor is working for.
Reason for Need: Identify the entity the subcontractor works for. Reason for Need: Identify the entity the subcontractor works for.
How Used by Call Taker: Allows the call taker to understand what the How Used by Call Taker: Allows the call taker to understand what the
relationship between data providers and the service providers in relationship is between data providers and the service providers
the path of the call are. in the path of the call.
4.1.9. Subcontractor Priority 4.1.9. Subcontractor Priority
Data Element: Subcontractor Priority Data Element: Subcontractor Priority
Use: Conditional. This data is required if the entity providing the Use: Conditional. This data is required if the entity providing the
data is a subcontractor. data is a subcontractor.
XML Element: <SubcontractorPriority> XML Element: <SubcontractorPriority>
Description: If the subcontractor is supposed to be contacted first Description: If the subcontractor is supposed to be contacted first,
then this element MUST have the value "sub". If the provider the then this element MUST have the value 'sub'. If the provider the
subcontractor is working for is supposed to be contacted first subcontractor is working for is supposed to be contacted first,
then this element MUST have the value "main". then this element MUST have the value 'main'.
Reason for Need: Inform the call taker whom to contact first, if Reason for Need: Inform the call taker whom to contact first, if
support is needed. support is needed.
How Used by Call Taker: To decide which entity to contact first if How Used by Call Taker: To decide which entity to contact first if
assistance is needed. assistance is needed.
4.1.10. ProviderInfo Example 4.1.10. ProviderInfo Example
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ad:EmergencyCallData.ProviderInfo <ad:EmergencyCallData.ProviderInfo
xmlns:ad="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo"> xmlns:ad="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo">
<ad:DataProviderReference>string0987654321@example.org <ad:DataProviderReference>string0987654321@example.org
</ad:DataProviderReference> </ad:DataProviderReference>
<ad:DataProviderString>Example VoIP Provider <ad:DataProviderString>Example VoIP Provider
</ad:DataProviderString> </ad:DataProviderString>
<ad:ProviderID>urn:nena:companyid:ID123</ad:ProviderID> <ad:ProviderID>urn:nena:companyid:ID123</ad:ProviderID>
<ad:ProviderIDSeries>NENA</ad:ProviderIDSeries> <ad:ProviderIDSeries>NENA</ad:ProviderIDSeries>
<ad:TypeOfProvider>Telecom Provider</ad:TypeOfProvider> <ad:TypeOfProvider>Telecom Provider</ad:TypeOfProvider>
<ad:ContactURI>tel:+1-201-555-0123</ad:ContactURI> <ad:ContactURI>tel:+1-201-555-0123</ad:ContactURI>
<ad:Language>en</ad:Language> <ad:Language>en</ad:Language>
<ad:DataProviderContact <ad:DataProviderContact
xmlns="urn:ietf:params:xml:ns:vcard-4.0"> xmlns="urn:ietf:params:xml:ns:vcard-4.0">
<vcard> <vcard>
<fn><text>Hannes Tschofenig</text></fn> <fn><text>Hannes Tschofenig</text></fn>
<n> <n>
skipping to change at page 17, line 30 skipping to change at page 17, line 34
</email> </email>
<geo> <geo>
<parameters><type><text>work</text></type> <parameters><type><text>work</text></type>
</parameters> </parameters>
<uri>geo:60.210796,24.812924</uri> <uri>geo:60.210796,24.812924</uri>
</geo> </geo>
<key> <key>
<parameters><type><text>home</text></type> <parameters><type><text>home</text></type>
</parameters> </parameters>
<uri> <uri>
http://www.tschofenig.priv.at/key.asc http://www.example.com/key.asc
</uri> </uri>
</key> </key>
<tz><text>Finland/Helsinki</text></tz> <tz><text>Finland/Helsinki</text></tz>
<url> <url>
<parameters><type><text>home</text></type> <parameters><type><text>home</text></type>
</parameters> </parameters>
<uri>http://www.tschofenig.priv.at</uri> <uri>http://www.tschofenig.priv.at</uri>
</url> </url>
</vcard> </vcard>
</ad:DataProviderContact> </ad:DataProviderContact>
</ad:EmergencyCallData.ProviderInfo> </ad:EmergencyCallData.ProviderInfo>
Figure 3: EmergencyCallData.ProviderInfo Example. Figure 3: EmergencyCallData.ProviderInfo Example
4.2. Service Information 4.2. Service Information
This block describes the service that the service provider provides This block describes the service that the service provider provides
to the caller. It SHOULD be included by all service providers in the to the caller. It SHOULD be included by all service providers in the
path of the call. The MIME media type is "application/ path of the call. The MIME media type is 'application/
EmergencyCallData.ServiceInfo+xml". EmergencyCallData.ServiceInfo+xml'.
4.2.1. Service Environment 4.2.1. Service Environment
Data Element: Service Environment Data Element: Service Environment
Use: Conditional: Required unless the 'ServiceType' value is Use: Conditional. Required unless the 'ServiceType' value is
'wireless'. 'wireless'.
XML Element: <ServiceEnvironment> XML Element: <ServiceEnvironment>
Description: This element indicates whether a call is from a Description: This element indicates whether a call is from a
business or residence. Currently, the only valid entries are business or residence. Currently, the only valid entries are
'Business', 'Residence', and 'unknown', as shown in Figure 4. New 'Business', 'Residence', and 'Unknown', as shown in Figure 4. New
values can be defined via the registry created in Section 11.1.2. values can be defined via the registry created in Section 11.1.2.
Reason for Need: To provide context and a hint when determining Reason for Need: To provide context and a hint when determining
equipment and manpower requirements. equipment and manpower requirements.
How Used by Call Taker: Information can be used to provide context How Used by Call Taker: Information can be used to provide context
and a hint to assist in determining equipment and manpower and a hint to assist in determining equipment and manpower
requirements for emergency responders. This is non-authoritative: requirements for emergency responders. This is non-authoritative;
There are situations where the service provider does not know the there are situations where the service provider does not know the
type of service (e.g., anonymous pre-paid service). The type of type of service (e.g., anonymous prepaid service). The type of
service does not necessarily reflect the nature of the premises service does not necessarily reflect the nature of the premises
(e.g., a business line installed in a residence, or cellular (e.g., a business line installed in a residence or cellular
service). The registry does not contain all possible values for service). The registry does not contain all possible values for
all situations. Hence, this is at best advisory information, but all situations. Hence, this is at best advisory information, but
since it mimics a similar capability in some current emergency since it mimics a similar capability in some current emergency
calling systems (e.g., a field in the Automatic Location calling systems (e.g., a field in the Automatic Location
Information (ALI) information used with legacy North American Information (ALI) used with legacy North American wireline
wireline systems), it is known to be valuable to PSAPs. The systems), it is known to be valuable to PSAPs. The service
service provider uses its best information (such as a rate plan, provider uses its best information (such as a rate plan,
facilities used to deliver service or service description) to facilities used to deliver service, or a service description) to
determine the information and is not responsible for determining determine the information and is not responsible for determining
the actual characteristics of the location from which the call the actual characteristics of the location from which the call
originated. Because the usefulness is unknown (and less clear) originated. Because the usefulness is unknown (and less clear)
for cellular, this element is OPTIONAL for commercial mobile radio for cellular, this element is OPTIONAL for commercial mobile radio
services (e.g., cellular) and REQUIRED otherwise. services (e.g., cellular) and REQUIRED otherwise.
+-----------+--------------------------+ +-----------+--------------------------+
| Token | Description | | Token | Description |
+-----------+--------------------------+ +-----------+--------------------------+
| Business | Business service | | Business | Business service |
| | |
| Residence | Residential service | | Residence | Residential service |
| unknown | Type of service unknown | | | |
| Unknown | Type of service unknown |
| | (e.g., anonymous pre- | | | (e.g., anonymous pre- |
| | paid service) | | | paid service) |
+-----------+--------------------------+ +-----------+--------------------------+
Figure 4: Service Environment Registry Figure 4: Service Environment Registry
4.2.2. Service Type 4.2.2. Service Type
Data Element: Service Delivered by Provider to End User Data Element: Service Delivered by Provider to End User
Use: Required Use: Required
XML Element: <ServiceType> XML Element: <ServiceType>
Description: This defines the type of service over which the call is Description: This defines the type of service over which the call is
placed (similar to the Class of Service delivered with legacy placed (similar to the Class of Service delivered with legacy
emergency calls in some some regions). The implied mobility of emergency calls in some regions). The implied mobility of this
this service cannot be relied upon. A registry is created in service cannot be relied upon. A registry is created in
Section 11.1.3. The initial set of values is shown in Figure 5. Section 11.1.3. The initial set of values is shown in Figure 5.
More than one value MAY be returned. For example, a VoIP inmate More than one value MAY be returned. For example, a VoIP inmate
telephone service is a reasonable combination. telephone service is a reasonable combination.
Reason for Need: Knowing the type of service can assist the PSAP in Reason for Need: Knowing the type of service can assist the PSAP in
handling of the call. the handling of the call.
How Used by Call Taker: Call takers often use this information to How Used by Call Taker: Call takers often use this information to
determine what kinds of questions to ask callers, and how much to determine what kinds of questions to ask callers and how much to
rely on supportive information. As the information is not always rely on supportive information. As the information is not always
available, and the registry is not all-encompassing, this is at available, and the registry is not all encompassing, this is at
best advisory information, but since it mimics a similar best advisory information, but since it mimics a similar
capability in some legacy emergency calling systems, it is known capability in some legacy emergency calling systems, it is known
to be valuable. to be valuable.
+--------------+----------------------------------------+ +--------------+------------------------------------------+
| Name | Description | | Name | Description |
+--------------+----------------------------------------+ +--------------+------------------------------------------+
| wireless | Wireless Telephone Service: Includes | | wireless | Wireless Telephone Service: Includes |
| | CDMA, GSM, Wi-Fi, WiMAX, LTE (but | | | CDMA, GSM, Wi-Fi, WiMAX, and LTE |
| | not satellite) | | | (but not satellite) |
| coin | Fixed public pay/coin telephones: Any | | | |
| | coin or credit card operated device | | coin | Fixed public pay/coin telephones: Any |
| one-way | One way outbound service | | | device operated by coin or credit card |
| temp | Soft dial tone/quick service/warm | | | |
| | disconnect/suspended | | one-way | One-way outbound service |
| MLTS-hosted | Hosted multi-line telephone system | | | |
| | such as Centrex | | temp | Soft dial tone/quick service/warm |
| MLTS-local | Local multi-line telephone system, | | | disconnect/suspended |
| | includes all PBX, key systems, | | | |
| | Shared Tenant Service | | MLTS-hosted | Hosted multi-line telephone system |
| sensor- | These are devices that generate DATA | | | such as Centrex |
| unattended | ONLY. This is a one-way information | | | |
| | transmit without interactive media | | MLTS-local | Local multi-line telephone system, |
| sensor- | Devices that are supported by a | | | including all PBXs, key systems, and |
| attended | monitoring service provider or that | | | Shared Tenant Services |
| | are capable of supporting interactive| | | |
| | media | | sensor- | These are devices that generate DATA |
| POTS | Wireline: Plain Old Telephone Service | | unattended | ONLY. This is a one-way information |
| OTT | An over-the-top service that provides | | | transmit without interactive media. |
| | communication over arbitrary Internet| | | |
| | access (fixed, nomadic, mobile) | | sensor- | Devices that are supported by a |
| digital | Wireline non-OTT digital phone service | | attended | monitoring service provider or that |
| OPX | Off-premise extension | | | are capable of supporting interactive |
| relay | A service where a human third-party | | | media |
| | agent provides additional assistance.| | | |
| | This includes sign language relay/ | | POTS | Wireline: Plain Old Telephone Service |
| | interpretation, telematics services | | | |
| | that provide a human on the call, | | OTT | An over-the-top service that provides |
| | and similar services | | | communication over arbitrary Internet |
+--------------+----------------------------------------+ | | access (fixed, nomadic, mobile) |
| | |
| digital | Wireline non-OTT digital phone service |
| | |
| OPX | Off-premise extension |
| | |
| relay | A service where a human third-party |
| | agent provides additional assistance. |
| | This includes sign language relay/ |
| | interpretation, telematics services |
| | that provide a human on the call, |
| | and similar services. |
+--------------+------------------------------------------+
Figure 5: Service Delivered by Provider to End User Registry Figure 5: Service Delivered by Provider to End User Registry
The initial set of values has been collected from sources of The initial set of values has been collected from sources of
currently-used systems, including [NENA-02-010], [nc911], [NANP], and currently used systems, including [NENA-02-010], [nc911], [NANP], and
[LERG]. [LERG].
4.2.3. Service Mobility Environment 4.2.3. Service Mobility Environment
Data Element: Service Mobility Environment Data Element: Service Mobility Environment
Use: Required Use: Required
XML Element: <ServiceMobility> XML Element: <ServiceMobility>
Description: This provides the service provider's view of the Description: This provides the service provider's view of the
mobility of the caller's device. As the service provider might mobility of the caller's device. As the service provider might
not know the characteristics of the actual device or access not know the characteristics of the actual device or access
network used, the value should be treated as advisory and not be network used, the value should be treated as advisory and not be
relied upon. A registry is created in Section 11.1.4 with the relied upon. A registry is created in Section 11.1.4 with the
initial valid entries shown in Figure 6. initial valid entries shown in Figure 6.
Reason for Need: Knowing the service provider's belief of mobility Reason for Need: Knowing the service provider's belief of mobility
skipping to change at page 21, line 19 skipping to change at page 21, line 26
network used, the value should be treated as advisory and not be network used, the value should be treated as advisory and not be
relied upon. A registry is created in Section 11.1.4 with the relied upon. A registry is created in Section 11.1.4 with the
initial valid entries shown in Figure 6. initial valid entries shown in Figure 6.
Reason for Need: Knowing the service provider's belief of mobility Reason for Need: Knowing the service provider's belief of mobility
can assist the PSAP with the handling of the call. can assist the PSAP with the handling of the call.
How Used by Call Taker: To determine whether to assume the location How Used by Call Taker: To determine whether to assume the location
of the caller might change. of the caller might change.
+-----------+----------------------------+ +-----------+----------------------------+
| Token | Description | | Token | Description |
+-----------+----------------------------+ +-----------+----------------------------+
| Mobile | The device is able to move | | Mobile | The device is able to move |
| | at any time | | | at any time |
| Fixed | The device is not expected | | | |
| | to move unless the | | Fixed | The device is not expected |
| | service is relocated | | | to move unless the |
| Nomadic | The device is not expected | | | service is relocated |
| | to change its point of | | | |
| | attachment while on a | | Nomadic | The device is not expected |
| | call | | | to change its point of |
| Unknown | No information is known | | | attachment while on a |
| | about the service | | | call |
| | mobility environment for | | | |
| | the device | | Unknown | No information is known |
+-----------+----------------------------+ | | about the service |
| | mobility environment for |
| | the device |
+-----------+----------------------------+
Figure 6: Service Mobility Registry Figure 6: Service Mobility Registry
4.2.4. EmergencyCallData.ServiceInfo Example 4.2.4. EmergencyCallData.ServiceInfo Example
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<svc:EmergencyCallData.ServiceInfo <svc:EmergencyCallData.ServiceInfo
xmlns:svc="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo"> xmlns:svc="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo">
<svc:DataProviderReference>2468.IBOC.MLTS.1359@example.org <svc:DataProviderReference>2468.IBOC.MLTS.1359@example.org
</svc:DataProviderReference> </svc:DataProviderReference>
<svc:ServiceEnvironment>Business</svc:ServiceEnvironment> <svc:ServiceEnvironment>Business</svc:ServiceEnvironment>
<svc:ServiceType>MLTS-hosted</svc:ServiceType> <svc:ServiceType>MLTS-hosted</svc:ServiceType>
<svc:ServiceMobility>Fixed</svc:ServiceMobility> <svc:ServiceMobility>Fixed</svc:ServiceMobility>
</svc:EmergencyCallData.ServiceInfo> </svc:EmergencyCallData.ServiceInfo>
skipping to change at page 22, line 14 skipping to change at page 22, line 17
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<svc:EmergencyCallData.ServiceInfo <svc:EmergencyCallData.ServiceInfo
xmlns:svc="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo"> xmlns:svc="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo">
<svc:DataProviderReference>2468.IBOC.MLTS.1359@example.org <svc:DataProviderReference>2468.IBOC.MLTS.1359@example.org
</svc:DataProviderReference> </svc:DataProviderReference>
<svc:ServiceEnvironment>Business</svc:ServiceEnvironment> <svc:ServiceEnvironment>Business</svc:ServiceEnvironment>
<svc:ServiceType>MLTS-hosted</svc:ServiceType> <svc:ServiceType>MLTS-hosted</svc:ServiceType>
<svc:ServiceMobility>Fixed</svc:ServiceMobility> <svc:ServiceMobility>Fixed</svc:ServiceMobility>
</svc:EmergencyCallData.ServiceInfo> </svc:EmergencyCallData.ServiceInfo>
Figure 7: EmergencyCallData.ServiceInfo Example. Figure 7: EmergencyCallData.ServiceInfo Example
4.3. Device Information 4.3. Device Information
This block provides information about the device used to place the This block provides information about the device used to place the
call. It SHOULD be provided by any service provider that knows what call. It SHOULD be provided by any service provider that knows what
device is being used, and by the device itself. The MIME media type device is being used and by the device itself. The MIME media type
is "application/EmergencyCallData.DeviceInfo+xml". is 'application/EmergencyCallData.DeviceInfo+xml'.
4.3.1. Device Classification 4.3.1. Device Classification
Data Element: Device Classification Data Element: Device Classification
Use: Optional Use: Optional
XML Element: <DeviceClassification> XML Element: <DeviceClassification>
Description: This data element defines the kind of device making the Description: This data element defines the kind of device making the
emergency call. If the device provides the data structure, the emergency call. If the device provides the data structure, the
device information SHOULD be provided. If the service provider device information SHOULD be provided. If the service provider
provides the structure and it knows what the device is, the provides the structure and it knows what the device is, the
service provider SHOULD provide the device information. Often the service provider SHOULD provide the device information. Often the
carrier does not know what the device is. It is possible to carrier does not know what the device is. It is possible to
receive two Device Information blocks, one provided by the device receive two Device Information blocks: one provided by the device
and one from the service provider. This information describes the and one from the service provider. This information describes the
device, not how it is being used. This data element defines the device, not how it is being used. This data element defines the
kind of device making the emergency call. A registry is created kind of device making the emergency call. A registry is created
in Section 11.1.6 with the initial set of values as shown in in Section 11.1.6 with the initial set of values as shown in
Figure 8. Figure 8.
Reason for Need: The device classification implies the capability of Reason for Need: The device classification implies the capability of
the calling device and assists in identifying the meaning of the the calling device and assists in identifying the meaning of the
emergency call location information that is being presented. For emergency call location information that is being presented. For
example, does the device require human intervention to initiate a example, does the device require human intervention to initiate a
call or is this call the result of programmed instructions? Does call, or is this call the result of programmed instructions? Does
the calling device have the ability to update location or the calling device have the ability to update location or
condition changes? Is this device interactive or a one-way condition changes? Is this device interactive or a one-way
reporting device? reporting device?
How Used by Call Taker: Can provide the call taker context regarding How Used by Call Taker: Can provide the call taker context regarding
the caller, the capabilities of the calling device or the the caller, the capabilities of the calling device, or the
environment in which the device is being used, and can assist in environment in which the device is being used and can assist in
understanding the location information and capabilities of the understanding the location information and capabilities of the
calling device. For example, a cordless handset might be outside calling device. For example, a cordless handset might be outside
or next door. or next door.
+---------------+----------------------------------------+ +---------------+----------------------------------------+
| Token | Description | | Token | Description |
+---------------+----------------------------------------+ +---------------+----------------------------------------+
|cordless | Cordless handset | |cordless | Cordless handset |
|fixed | Fixed phone | |fixed | Fixed phone |
|satellite | Satellite phone | |satellite | Satellite phone |
|sensor-fixed | Fixed (non mobile) sensor/alarm device | |sensor-fixed | Fixed (non-mobile) sensor/alarm device |
|desktop | Soft client on desktop PC | |desktop | Soft client on desktop PC |
|laptop | Soft client on laptop type device | |laptop | Soft client on laptop-type device |
|tablet | Soft client on tablet type device | |tablet | Soft client on tablet-type device |
|alarm-monitored| Alarm system | |alarm-monitored| Alarm system |
|sensor-mobile | Mobile sensor device | |sensor-mobile | Mobile sensor device |
|aircraft | Aircraft telematics device | |aircraft | Aircraft telematics device |
|automobile | Automobile/cycle/off-road telematics | |automobile | Automobile/cycle/off-road telematics |
|truck | Truck/construction telematics | |truck | Truck/construction telematics |
|farm | Farm equipment telematics | |farm | Farm equipment telematics |
|marine | Marine telematics | |marine | Marine telematics |
|personal | Personal telematics device | |personal | Personal telematics device |
|feature-phone | Feature- (not smart-) cellular phone | |feature-phone | Cellular feature phone (not smartphone)|
|smart-phone | Smart-phone cellular phone (native) | |smart-phone | Cellular smartphone (native) |
|smart-phone-app| Soft client app on smart-phone | |smart-phone-app| Soft client app on smartphone |
|unknown-device | Soft client on unknown device type | |unknown-device | Soft client on unknown device type |
|game | Gaming console | |game | Gaming console |
|text-only | Other text device | |text-only | Other text device |
|NA | Not Available | |NA | Not Available |
+---------------+----------------------------------------+ +---------------+----------------------------------------+
Figure 8: Device Classification Registry Initial Values Figure 8: Device Classification Registry Initial Values
4.3.2. Device Manufacturer 4.3.2. Device Manufacturer
skipping to change at page 23, line 48 skipping to change at page 24, line 4
Figure 8: Device Classification Registry Initial Values Figure 8: Device Classification Registry Initial Values
4.3.2. Device Manufacturer 4.3.2. Device Manufacturer
Data Element: Device Manufacturer Data Element: Device Manufacturer
Use: Optional Use: Optional
XML Element: <DeviceMfgr> XML Element: <DeviceMfgr>
Description: The plain language name of the manufacturer of the Description: The plain language name of the manufacturer of the
device. device.
Reason for Need: Used by PSAP management for post-mortem Reason for Need: Used by PSAP management for post-mortem
investigation/resolution. investigation/resolution.
How Used by Call Taker: Probably not used by the calltaker, but by How Used by Call Taker: Probably not used by the call taker but by
PSAP management. PSAP management.
4.3.3. Device Model Number 4.3.3. Device Model Number
Data Element: Device Model Number Data Element: Device Model Number
Use: Optional Use: Optional
XML Element: <DeviceModelNr> XML Element: <DeviceModelNr>
Description: Model number of the device. Description: Model number of the device.
Reason for Need: Used by PSAP management for after-action Reason for Need: Used by PSAP management for after-action
investigation/resolution. investigation/resolution.
How Used by Call Taker: Probably not used by the calltaker, but by How Used by Call Taker: Probably not used by the call taker but by
PSAP management. PSAP management.
4.3.4. Unique Device Identifier 4.3.4. Unique Device Identifier
Data Element: Unique Device Identifier Data Element: Unique Device Identifier
Use: Optional Use: Optional
XML Element: <UniqueDeviceID> XML Element: <UniqueDeviceID>
XML Attribute: <TypeOfDeviceID> XML Attribute: <TypeOfDeviceID>
Description: A string that identifies the specific device (or the Description: A string that identifies the specific device (or the
device's current SIM) making the call or creating an event. Note device's current Subscriber Identification Module (SIM)) making
that more than one <UniqueDeviceID> can be present, to supply more the call or creating an event. Note that more than one
than one of the identifying values. <UniqueDeviceID> can be present to supply more than one of the
identifying values.
The <TypeOfDeviceID> attribute identifies the type of device The <TypeOfDeviceID> attribute identifies the type of device
identifier. A registry is created in Section 11.1.7 with an identifier. A registry is created in Section 11.1.7 with an
initial set of values shown in Figure 9. initial set of values shown in Figure 9.
Reason for Need: Uniquely identifies the device (or, in the case of Reason for Need: Uniquely identifies the device (or, in the case of
IMSI, a SIM), independent of any signaling identifiers present in International Mobile Subscriber Identity (IMSI), a SIM),
the call signaling stream. independent of any signaling identifiers present in the call
signaling stream.
How Used by Call Taker: Probably not used by the call taker; might How Used by Call Taker: Probably not used by the call taker; might
be used by PSAP management during an investigation. (For example, be used by PSAP management during an investigation. (For example,
if a PSAP experiences repeated false/accidental calls and there is if a PSAP experiences repeated false/accidental calls and there is
no callback number or it isn't usable, the PSAP might need to try no callback number or it isn't usable, the PSAP might need to try
and track down the device using various means (e.g., contacting to track down the device using various means, e.g., contacting
service providers in the area). In the case of handsets without service providers in the area.) In the case of handsets without
current service, it might be possible to determine who last had current service, it might be possible to determine who last had
service. Another example might be a disconnected call where the service. Another example might be a disconnected call where the
call taker believes there is a need for assistance but was not call taker believes there is a need for assistance but was not
able to obtain a location or other information). able to obtain a location or other information.
Example: <UniqueDeviceID TypeOfDeviceID="SN">12345</UniqueDeviceID> Example: <UniqueDeviceID TypeOfDeviceID="SN">12345</UniqueDeviceID>
+--------+------------------------------------------+ +--------+------------------------------------------+
| Token | Description | | Token | Description |
+--------+------------------------------------------+ +--------+------------------------------------------+
| MEID | Mobile Equipment Identifier (CDMA) | | MEID | Mobile Equipment Identifier (CDMA) |
| ESN | Electronic Serial Number (GSM) | | ESN | Electronic Serial Number (GSM) |
| MAC | Media Access Control Address (IEEE) | | MAC | Media Access Control Address (IEEE) |
| WiMAX | Device Certificate Unique ID | | WiMAX | Device Certificate Unique ID |
| IMEI | International Mobile Equipment ID (GSM) | | IMEI | International Mobile Equipment ID (GSM) |
| IMSI | International Mobile Subscriber ID (GSM) | | IMSI | International Mobile Subscriber ID (GSM) |
| UDI | Unique Device Identifier | | UDI | Unique Device Identifier |
| RFID | Radio Frequency Identification | | RFID | Radio Frequency Identification |
| SN | Manufacturer Serial Number | | SN | Manufacturer Serial Number |
+--------+------------------------------------------+ +--------+------------------------------------------+
skipping to change at page 25, line 39 skipping to change at page 25, line 48
4.3.5. Device/Service-Specific Additional Data Structure 4.3.5. Device/Service-Specific Additional Data Structure
Data Element: Device/service-specific additional data structure Data Element: Device/service-specific additional data structure
Use: Optional Use: Optional
XML Element: <DeviceSpecificData> XML Element: <DeviceSpecificData>
Description: A URI representing additional data whose schema is Description: A URI representing additional data whose schema is
specific to the device or service which created it. (For example, specific to the device or service that created it. (For example,
a medical device or medical device monitoring service might have a a medical device or medical device monitoring service might have a
defined set of medical data). The URI, when dereferenced, MUST defined set of medical data.) The URI, when dereferenced, MUST
yield a data structure defined by the Device/service-specific yield a data structure defined by the device/service-specific
additional data type value. Different data can be created by each additional data type value. Different data can be created by each
classification; e.g., a medical device created data set. classification, e.g., a data set created by a medical device.
Reason for Need: Provides device/service-specific data that can be Reason for Need: Provides device/service-specific data that can be
used by the call taker and/or responders. used by the call taker and/or responders.
How Used by Call Taker: Provide information to guide call takers to How Used by Call Taker: Provide information to guide call takers to
select appropriate responders, give appropriate pre-arrival select appropriate responders, give appropriate pre-arrival
instructions to callers, and advise responders of what to be instructions to callers, and advise responders of what to be
prepared for. May be used by responders to guide assistance prepared for. May be used by responders to guide assistance
provided. provided.
4.3.6. Device/Service-Specific Additional Data Structure Type 4.3.6. Device/Service-Specific Additional Data Structure Type
Data Element: Type of device/service-specific additional data Data Element: Type of device/service-specific additional data
structure structure
Use: Conditional: MUST be provided when a device/service-specific- Use: Conditional. MUST be provided when a device/service-specific
additional URI is provided additional data URI is provided.
XML Element: <DeviceSpecificType> XML Element: <DeviceSpecificType>
Description: A value from the registry defined in Section 11.1.8 to Description: A value from the registry defined in Section 11.1.8 to
describe the type of data located at the device/service-specific describe the type of data located at the device/service-specific
additional data structure. The initial values shown in Figure 10 additional data structure. The initial values shown in Figure 10
currently only include IEEE 1512, which is the USDoT model for currently only include IEEE 1512, which is the United States
traffic incidents. Department of Transportation (USDoT) model for traffic incidents.
Reason for Need: This data element allows identification of Reason for Need: This data element allows identification of
externally defined schemas, which might have additional data that externally defined schemas, which might have additional data that
can assist in emergency response. can assist in emergency response.
How Used by Call Taker: This data element allows the end user (call How Used by Call Taker: This data element allows the end user (call
taker or first responder) to know what type of additional data is taker or first responder) to know what type of additional data is
available to aid in providing the needed emergency services. available to aid in providing the needed emergency services.
Note: This mechanism is not appropriate for information specific to Note: This mechanism is not appropriate for information specific to
a location or a caller (person). a location or a caller (person).
+----------+----------------------------+--------------------------+ +---------+---------------------------+--------------------------+
| Token | Description | Specification | | Token | Description | Specification |
+----------+----------------------------+--------------------------+ +---------+---------------------------+--------------------------+
| IEEE1512 | Common Incident Management | IEEE 1512-2006 | |IEEE1512 |Common Incident Management | IEEE 1512-2006 |
| | Message Set (USDoT model | | | | Message Set (USDoT model | |
| | for traffic incidents) | | | | for traffic incidents) | |
+----------+----------------------------+--------------------------+ +---------+---------------------------+--------------------------+
Figure 10: Device/Service Data Type Registry Figure 10: Device/Service Data Type Registry
The IEEE 1512-2006 specifications can be found at [IEEE-1512-2006]. The IEEE 1512-2006 specifications can be found at [IEEE-1512-2006].
4.3.7. EmergencyCallData.DeviceInfo Example 4.3.7. EmergencyCallData.DeviceInfo Example
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<dev:EmergencyCallData.DeviceInfo <dev:EmergencyCallData.DeviceInfo
xmlns:dev="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo"> xmlns:dev="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo">
<dev:DataProviderReference>d4b3072df.201409182208075@example.org <dev:DataProviderReference>d4b3072df.201409182208075@example.org
</dev:DataProviderReference> </dev:DataProviderReference>
<dev:DeviceClassification>fixed</dev:DeviceClassification> <dev:DeviceClassification>fixed</dev:DeviceClassification>
<dev:DeviceMfgr>Nokia</dev:DeviceMfgr> <dev:DeviceMfgr>Nokia</dev:DeviceMfgr>
<dev:DeviceModelNr>Lumia 800</dev:DeviceModelNr> <dev:DeviceModelNr>Lumia 800</dev:DeviceModelNr>
<dev:UniqueDeviceID TypeOfDeviceID="IMEI">35788104 <dev:UniqueDeviceID TypeOfDeviceID="IMEI">35788104
</dev:UniqueDeviceID> </dev:UniqueDeviceID>
skipping to change at page 27, line 16 skipping to change at page 27, line 21
xmlns:dev="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo"> xmlns:dev="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo">
<dev:DataProviderReference>d4b3072df.201409182208075@example.org <dev:DataProviderReference>d4b3072df.201409182208075@example.org
</dev:DataProviderReference> </dev:DataProviderReference>
<dev:DeviceClassification>fixed</dev:DeviceClassification> <dev:DeviceClassification>fixed</dev:DeviceClassification>
<dev:DeviceMfgr>Nokia</dev:DeviceMfgr> <dev:DeviceMfgr>Nokia</dev:DeviceMfgr>
<dev:DeviceModelNr>Lumia 800</dev:DeviceModelNr> <dev:DeviceModelNr>Lumia 800</dev:DeviceModelNr>
<dev:UniqueDeviceID TypeOfDeviceID="IMEI">35788104 <dev:UniqueDeviceID TypeOfDeviceID="IMEI">35788104
</dev:UniqueDeviceID> </dev:UniqueDeviceID>
</dev:EmergencyCallData.DeviceInfo> </dev:EmergencyCallData.DeviceInfo>
Figure 11: EmergencyCallData.DeviceInfo Example. Figure 11: EmergencyCallData.DeviceInfo Example
4.4. Owner/Subscriber Information 4.4. Owner/Subscriber Information
This block describes the owner of the device (if provided by the This block describes the owner of the device (if provided by the
device) or the subscriber information (if provided by a service device) or the subscriber information (if provided by a service
provider). The contact location is not necessarily the location of provider). The contact location is not necessarily the location of
the caller or incident, but is rather the nominal contact address. the caller or incident but is rather the nominal contact address.
The MIME media type is "application/ The MIME media type is 'application/
EmergencyCallData.SubscriberInfo+xml". EmergencyCallData.SubscriberInfo+xml'.
In some jurisdictions some or all parts of the subscriber-specific In some jurisdictions, some or all parts of the subscriber-specific
information are subject to privacy constraints. These constraints information are subject to privacy constraints. These constraints
vary but dictate which information can be displayed and logged. A vary but dictate which information can be displayed and logged. A
general privacy indicator expressing a desire for privacy by the general privacy indicator expressing a desire for privacy by the
subscriber is provided. The interpretation of how this is applied is subscriber is provided. The interpretation of how this is applied is
left to the receiving jurisdiction as the custodians of the local left to the receiving jurisdiction as the custodians of the local
regulatory requirements. This matches an equivalent privacy flag regulatory requirements. This matches an equivalent privacy flag
provided in some legacy emergency call systems. provided in some legacy emergency call systems.
4.4.1. Subscriber Data Privacy Indicator 4.4.1. Subscriber Data Privacy Indicator
Attribute: 'privacyRequested', Boolean. Attribute: 'privacyRequested', Boolean.
Use: Conditional. This attribute MUST be provided if the owner/ Use: Conditional. This attribute MUST be provided if the owner/
subscriber information block is not empty. subscriber information block is not empty.
Description: The subscriber data privacy indicator specifically Description: The subscriber data privacy indicator specifically
expresses the subscriber's desire for privacy. In some expresses the subscriber's desire for privacy. In some
jurisdictions subscriber services can have a specific "Type of jurisdictions, subscriber services can have a specific "Type of
Service" which prohibits information, such as the name of the Service" that prohibits information, such as the name of the
subscriber, from being displayed. This attribute is provided to subscriber, from being displayed. This attribute is provided to
explicitly indicate whether the subscriber service includes such explicitly indicate whether the subscriber service includes such
constraints. The interpretation of this indicator is left to each constraints. The interpretation of this indicator is left to each
jurisdiction (in keeping with the semantics of the privacy jurisdiction (in keeping with the semantics of the privacy
indicator provided in some legacy emergency call systems). indicator provided in some legacy emergency call systems).
Because the interpretation of this indicator varies based on local Because the interpretation of this indicator varies based on local
regulations, this document cannot describe the exact semantics nor regulations, this document cannot describe the exact semantics nor
indicate which fields are affected (the application of this indicate which fields are affected (the application of this
indicator might affect the display of data contained in any of the indicator might affect the display of data contained in any of the
blocks). blocks).
Reason for Need: Some jurisdictions require subscriber privacy to be Reason for Need: Some jurisdictions require subscriber privacy to be
observed when processing emergency calls. observed when processing emergency calls.
How Used by Call Taker: Where privacy is indicated the call taker How Used by Call Taker: Where privacy is indicated, the call taker
might not have access to some aspects of the subscriber might not have access to some aspects of the subscriber
information. information.
4.4.2. xCard for Subscriber's Data 4.4.2. xCard for Subscriber's Data
Data Element: xCARD for Subscriber's Data Data Element: xCard for Subscriber's Data
Use: Conditional. Subscriber data MUST be provided unless it is not Use: Conditional. Subscriber data MUST be provided unless it is not
available. Some services, such as prepaid phones, non-initialized available. Some services, such as prepaid phones, non-initialized
phones, etc., do not have information about the subscriber. phones, etc., do not have information about the subscriber.
XML Element: <SubscriberData> XML Element: <SubscriberData>
Description: Information known by the service provider or device Description: Information known by the service provider or device
about the subscriber; e.g., Name, Address, Individual Telephone about the subscriber, e.g., Name, Address, Individual Telephone
Number, Main Telephone Number and any other data. <n>, <org> (if Number, Main Telephone Number, and any other data. <n>, <org> (if
appropriate), <adr>, <tel>, <email> are suggested at a minimum. appropriate), <adr>, <tel>, and <email> are suggested at a
If more than one <tel> property is provided, a parameter from the minimum. If more than one <tel> property is provided, a parameter
vCard Property Value registry MUST be specified on each <tel>. from the "vCard Property Values" registry MUST be specified on
While some data (such as <anniversary>) might not seem obviously each <tel>. While some data (such as <anniversary>) might not
relevant for emergency services, any data is potentially useful in seem obviously relevant for emergency services, any data is
some emergency circumstances. potentially useful in some emergency circumstances.
Reason for Need: When the caller is unable to provide information, Reason for Need: When the caller is unable to provide information,
this data can be used to obtain it this data can be used to obtain it.
How Used by Call Taker: Obtaining critical information about the How Used by Call Taker: Obtaining critical information about the
caller and possibly the location when it is not able to be caller and possibly the location when it is not able to be
obtained otherwise. While the location here is not necessarily obtained otherwise. While the location here is not necessarily
that of caller, in some circumstances it can be helpful in that of a caller, in some circumstances it can be helpful in
locating the caller when other means have failed. locating the caller when other means have failed.
4.4.3. EmergencyCallData.SubscriberInfo Example 4.4.3. EmergencyCallData.SubscriberInfo Example
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<sub:EmergencyCallData.SubscriberInfo <sub:EmergencyCallData.SubscriberInfo
xmlns:sub= xmlns:sub=
"urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" "urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo"
privacyRequested="false"> privacyRequested="false">
<sub:DataProviderReference>FEABFECD901@example.org <sub:DataProviderReference>FEABFECD901@example.org
skipping to change at page 31, line 5 skipping to change at page 31, line 10
</email> </email>
<geo> <geo>
<parameters><type><text>work</text></type> <parameters><type><text>work</text></type>
</parameters> </parameters>
<uri>geo:46.766336,-71.28955</uri> <uri>geo:46.766336,-71.28955</uri>
</geo> </geo>
<key> <key>
<parameters><type><text>work</text></type> <parameters><type><text>work</text></type>
</parameters> </parameters>
<uri> <uri>
http:// http://www.viagenie.ca/simon.perreault/simon.asc
www.viagenie.ca/simon.perreault/simon.asc
</uri> </uri>
</key> </key>
<tz><text>America/Montreal</text></tz> <tz><text>America/Montreal</text></tz>
<url> <url>
<parameters><type><text>home</text></type> <parameters><type><text>home</text></type>
</parameters> </parameters>
<uri>http://nomis80.org</uri> <uri>http://nomis80.org</uri>
</url> </url>
</vcard> </vcard>
</sub:SubscriberData> </sub:SubscriberData>
</sub:EmergencyCallData.SubscriberInfo> </sub:EmergencyCallData.SubscriberInfo>
Figure 12: EmergencyCallData.SubscriberInfo Example. Figure 12: EmergencyCallData.SubscriberInfo Example
4.5. Comment 4.5. Comment
This block provides a mechanism for the data provider to supply This block provides a mechanism for the data provider to supply
extra, human readable information to the PSAP. It is not intended extra, human-readable information to the PSAP. It is not intended
for a general purpose extension mechanism nor does it aim to provide for a general purpose extension mechanism nor does it aim to provide
machine-readable content. The MIME media type is "application/ machine-readable content. The MIME media type is 'application/
EmergencyCallData.Comment+xml" EmergencyCallData.Comment+xml'.
4.5.1. Comment 4.5.1. Comment
Data Element: EmergencyCallData.Comment Data Element: EmergencyCallData.Comment
Use: Optional Use: Optional
XML Element: <Comment> XML Element: <Comment>
Description: Human readable text providing additional information to Description: Human-readable text providing additional information to
the PSAP staff. the PSAP staff.
Reason for Need: Explanatory information for values in the data Reason for Need: Explanatory information for values in the data
structure. structure.
How Used by Call Taker: To interpret the data provided. How Used by Call Taker: To interpret the data provided.
4.5.2. EmergencyCallData.Comment Example 4.5.2. EmergencyCallData.Comment Example
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<com:EmergencyCallData.Comment <com:EmergencyCallData.Comment
xmlns:com="urn:ietf:params:xml:ns:EmergencyCallData:Comment"> xmlns:com="urn:ietf:params:xml:ns:EmergencyCallData:Comment">
<com:DataProviderReference>string0987654321@example.org <com:DataProviderReference>string0987654321@example.org
</com:DataProviderReference> </com:DataProviderReference>
<com:Comment xml:lang="en">This is an example text.</com:Comment> <com:Comment xml:lang="en">This is an example text.</com:Comment>
</com:EmergencyCallData.Comment> </com:EmergencyCallData.Comment>
Figure 13: EmergencyCallData.Comment Example. Figure 13: EmergencyCallData.Comment Example
5. Issues with getting new types of data into use 5. Issues with Getting New Types of Data into Use
This document describes two mechanisms that allow extension of the This document describes two mechanisms that allow extension of the
kind of data provided with an emergency call: define a new block or kind of data provided with an emergency call: define a new block or
define a new service specific additional data URL for the DeviceInfo define a new device/service-specific additional data URL for the
block (Section 4.3.5). While defining new data types and getting a DeviceInfo block (Section 4.3.5). While defining new data types and
new device or application to send the new data might be easy, getting getting a new device or application to send the new data might be
PSAPs and responders to actually retrieve the data and use it will be easy, getting PSAPs and responders to actually retrieve the data and
difficult. New mechanism providers should understand that acquiring use it will be difficult. New mechanism providers should understand
and using new forms of data usually require software upgrades at the that acquiring and using new forms of data usually require software
PSAP and/or responders, as well as training of call takers and upgrades at the PSAP and/or responders, as well as training of call
responders in how to interpret and use the information. Legal and takers and responders in how to interpret and use the information.
operational review might also be needed. Overwhelming a call taker Legal and operational review might also be needed. Overwhelming a
or responder with too much information is highly discouraged. Thus, call taker or responder with too much information is highly
the barrier to supporting new data is quite high. discouraged. Thus, the barrier to supporting new data is quite high.
The mechanisms this document describes are meant to encourage The mechanisms this document describes are meant to encourage
development of widely supported, common data formats for classes of development of widely supported, common data formats for classes of
devices. If all manufacturers of a class of device use the same devices. If all manufacturers of a class of device use the same
format, and the data can be shown to improve outcomes, then PSAPs and format, and the data can be shown to improve outcomes, then PSAPs and
responders can be encouraged to upgrade their systems and train their responders can be encouraged to upgrade their systems and train their
staff to use the data. Variations, however well intentioned, are staff to use the data. Variations, however well intentioned, are
unlikely to be supported. unlikely to be supported.
Implementers should consider that data from sensor-based devices in Implementors should consider that data from sensor-based devices in
some cases might not be useful to call takers or PSAPs (and privacy, some cases might not be useful to call takers or PSAPs (and privacy,
liability, or other considerations might preclude the PSAP from liability, or other considerations might preclude the PSAP from
accessing or handling the data), but might be of use to responders. accessing or handling the data) but might be of use to responders.
Each data item provided with the call in conformance with this Each data item provided with the call in conformance with this
document can be accessed by responders or other entities in the document can be accessed by responders or other entities in the
emergency services, whether or not the data is accessed by the PSAP. emergency services, whether or not the data is accessed by the PSAP.
5.1. Choosing between defining a new type of block or new type of 5.1. Choosing between Defining a New Type of Block or a New Type of
device/service-specific additional data Device/Service-Specific Additional Data
For devices that have device or service specific data, there are two 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/ choices to carry it. A new block can be defined, or the device/
service-specific additional data URL in the DeviceInfo block can be service-specific additional data URL in the DeviceInfo block can be
used and a new type for it defined. The data passed would likely be used and a new type defined for it. The data passed would likely be
the same in either case. Considerations for choosing the mechanism the same in either case. Considerations for choosing the mechanism
under which to register include: under which to register include:
Applicability: Information which will be supported by many kinds of Applicability: Information that will be supported by many kinds of
devices or services are more appropriately defined as separate devices or services are more appropriately defined as separate
blocks. blocks.
Privacy: Information sent as a device/service-specific additional Privacy: Information sent as a device/service-specific additional
data URL in the DeviceInfo block is by reference (not by value), data URL in the DeviceInfo block is by reference (not by value),
which inherently provides some additional privacy protection which inherently provides some additional privacy protection
(since the requester needs to supply a certificate which is (since the requester needs to supply a certificate which is
verified by the supplier). verified by the supplier).
Size: Information which can be very large might be better sent in Size: Information that can be very large might be better sent in the
the DeviceInfo block, rather than a new block, so that DeviceInfo block, rather than in a new block, so that
implementations are unable to send the data by value. Conversely, implementations are unable to send the data by value. Conversely,
data which is small might best be sent in a separate block so that data that is small might best be sent in a separate block so that
it can be sent by value. it can be sent by value.
Availability of a server: Providing the data via the device block Availability of a server: Providing the data via the DeviceInfo
requires a server be available from which to retrieve the data. block requires that a server be available from which to retrieve
Providing the data via new block allows it to be sent by value. the data. Providing the data via a new block allows it to be sent
by value.
6. Data Transport Mechanisms 6. Data Transport Mechanisms
This section defines how to convey additional data to an emergency This section defines how to convey additional data to an emergency
service provider. Two different means are specified: the first uses service provider. Two different means are specified: the first uses
the call signaling; the second uses the <provided-by> element of a call signaling; the second uses the <provided-by> element of a PIDF-
PIDF-LO [RFC4119]. LO [RFC4119].
1. First, the ability to embed a Uniform Resource Identifier (URI) 1. First, the ability to embed a Uniform Resource Identifier (URI)
in an existing SIP header field, the Call-Info header field, is in an existing SIP header field, the Call-Info header field, is
defined. The URI points to the additional data structure. The defined. The URI points to the additional data structure. The
Call-Info header field is specified in Section 20.9 of [RFC3261]. Call-Info header field is specified in Section 20.9 of [RFC3261].
This document adds a new compound token starting with the value This document adds a new compound token starting with the value
'EmergencyCallData' for the Call-Info "purpose" parameter. If 'EmergencyCallData' for the Call-Info 'purpose' parameter. If
the "purpose" parameter is set to a value starting with the 'purpose' parameter is set to a value starting with
'EmergencyCallData', then the Call-Info header field contains 'EmergencyCallData', then the Call-Info header field contains
either an HTTPS URL pointing to an external resource or a CID either an HTTPS URL pointing to an external resource or a Content
(content indirection) URI that allows the data structure to be Indirection (CID) URI that allows the data structure to be placed
placed in the body of the SIP message. The "purpose" parameter in the body of the SIP message. The 'purpose' parameter also
also indicates the kind of data (by its MIME media subtype) that indicates the kind of data (by its MIME media subtype) that is
is available at the URI. available at the URI.
As the data is conveyed using a URI in the SIP signaling, the As the data is conveyed using a URI in the SIP signaling, the
data itself can reside on an external resource, or can be data itself can reside on an external resource or can be
contained within the body of the SIP message. When the URI contained within the body of the SIP message. When the URI
refers to data at an external resource, the data is said to be refers to data at an external resource, the data is said to be
passed by reference. When the URI refers to data contained passed by reference. When the URI refers to data contained
within the body of the SIP message, the data is said to be passed 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 by value. A PSAP or emergency responder is able to examine the
type of data provided and selectively access the data it is type of data provided and selectively access the data it is
interested in, while forwarding all of it (the values or interested in, while forwarding all of it (the values or
references) to downstream entities. references) to downstream entities.
To be conveyed in a SIP body, additional data about a call is To be conveyed in a SIP body, additional data about a call is
skipping to change at page 34, line 40 skipping to change at page 34, line 47
operation, which returns the block as an object (the blocks operation, which returns the block as an object (the blocks
defined here are returned as XML objects). defined here are returned as XML objects).
2. Second, the ability to embed additional data structures in the 2. Second, the ability to embed additional data structures in the
<provided-by> element of a PIDF-LO [RFC4119] is defined. <provided-by> element of a PIDF-LO [RFC4119] is defined.
In addition to service providers in the call path, the access In addition to service providers in the call path, the access
network provider generally has similar information that can be network provider generally has similar information that can be
valuable to the PSAP. When the access network provider and valuable to the PSAP. When the access network provider and
service provider are separate entities, the access network does service provider are separate entities, the access network does
not participate in the application layer signaling (and hence not participate in the application-layer signaling (and hence
cannot add a Call-Info header field to the SIP message), but can cannot add a Call-Info header field to the SIP message) but can
provide location information in a PIDF-LO. When the access provide location information in a PIDF-LO. When the access
network provider supplies location information in the form of a network provider supplies location information in the form of a
PIDF-LO from a location server via a location configuration PIDF-LO from a location server via a location configuration
protocol, it has the ability to add the data structures defined protocol, it has the ability to add the data structures defined
in this document (or references to them) within the PIDF-LO. in this document (or references to them) within the PIDF-LO.
The data in these data structures is not specific to the location The data in these data structures is not specific to the location
itself, but rather provides descriptive information having to do itself, but rather provides descriptive information having to do
with the immediate circumstances about the provider's provision with the immediate circumstances about the provider's provision
of the location (e.g., the identity of the access network of the location (e.g., the identity of the access network
provider, how to contact that entity, what kind of service the provider, how to contact that entity, what kind of service the
access network provides, subscriber information, etc.). This access network provides, subscriber information, etc.). This
data is similar in nearly every respect to the data known by data is similar in nearly every respect to the data known by
service providers in the path of the call. The <provided-by> service providers in the path of the call. The <provided-by>
element of the PIDF-LO is a mechanism for the access network element of the PIDF-LO is a mechanism for the access network
provider to supply the information. This document describes a provider to supply the information. This document describes a
namespace per [RFC4119] for inclusion in the <provided-by> namespace per [RFC4119] for inclusion in the <provided-by>
element of a PIDF-LO for adding information known to the access element of a PIDF-LO for adding information known to the access
network provider. The access network provider SHOULD provide network provider. The access network provider SHOULD provide
additional data within a <provided-by> element of a PDIF-LO it additional data within a <provided-by> element of a PIDF-LO it
returns for emergency use (e.g., if requested with a HELD returns for emergency use (e.g., if requested with an HTTP-
"responseTime" attribute of "emergencyRouting" or Enabled Location Delivery (HELD) 'responseTime' attribute of
"emergencyDispatch" [RFC5985]). 'emergencyRouting' or 'emergencyDispatch' [RFC5985]).
One or more blocks of data registered in the Emergency Call One or more blocks of data registered in the "Emergency Call
Additional Data registry, as defined in Section 11.1.9, can be Additional Data" registry, as defined in Section 11.1.9, can be
included or referenced in the SIP signaling (using the Call-Info included or referenced in the SIP signaling (using the Call-Info
header field) or in the <provided-by> element of a PIDF-LO. For header field) or in the <provided-by> element of a PIDF-LO. For
interoperability, only blocks in the registry are permitted to be interoperability, only blocks in the registry are permitted to be
sent using the mechanisms specified in this document. Since multiple sent using the mechanisms specified in this document. Since multiple
entities are expected to provide sets of data, the data itself needs entities are expected to provide sets of data, the data itself needs
information describing the source. Consequently, each entity adding information describing the source. Consequently, each entity adding
additional data MUST supply a "Data Provider" block. All other additional data MUST supply a 'Data Provider' block. All other
blocks are optional, but each entity SHOULD supply all blocks where blocks are optional, but each entity SHOULD supply all blocks where
it has at least some of the information in the block. it has at least some of the information in the block.
Note that, as with any mechanism, failures are possible. For Note that, as with any mechanism, failures are possible. For
example, a block (provided by value or by reference) might not be the example, a block (provided by value or by reference) might not be the
type indicated by the "purpose" parameter, or might be badly formed, type indicated by the 'purpose' parameter, or might be badly formed,
etc. The general principle that applies to emergency calls is that etc. The general principle that applies to emergency calls is that
it is more important for the call to go through than for everything it is more important for the call to go through than for everything
to be correct. Thus, most PSAPs will process a call if at all to be correct. Thus, most PSAPs will process a call if at all
possible, even if data is missing or other failures occur. possible, even if data is missing or other failures occur.
6.1. Transmitting Blocks using Call-Info 6.1. Transmitting Blocks Using Call-Info
A URI to a block MAY be inserted in any SIP request or response A URI to a block MAY be inserted in any SIP request or response
method (most often INVITE or MESSAGE), using a Call-Info header field method (most often INVITE or MESSAGE), using a Call-Info header field
containing a purpose value starting with 'EmergencyCallData', a dot containing a 'purpose' value starting with 'EmergencyCallData', a dot
("."), and the type of data available at the URI. The type of data ('.'), and the type of data available at the URI. The type of data
is denoted by including the root of the MIME media subtype (the is denoted by including the root of the MIME media subtype (the
'EmergencyCallData' prefix is not repeated), omitting any suffix such 'EmergencyCallData' prefix is not repeated), omitting any suffix such
as '+xml'). For example, when referencing a block with MIME media as '+xml'. For example, when referencing a block with MIME media
type 'application/EmergencyCallData.ProviderInfo+xml', the 'purpose' type 'application/EmergencyCallData.ProviderInfo+xml', the 'purpose'
parameter is set to 'EmergencyCallData.ProviderInfo'. An example parameter is set to 'EmergencyCallData.ProviderInfo'. An example
"Call-Info" header field for this would be: Call-Info header field for this would be:
Call-Info: https://www.example.com/23sedde3; Call-Info: https://www.example.com/23sedde3;
purpose="EmergencyCallData.ProviderInfo" purpose="EmergencyCallData.ProviderInfo"
A Call-info header field with a purpose value starting with A Call-Info header field with a 'purpose' value starting with
'EmergencyCallData' only has meaning in the context of an emergency 'EmergencyCallData' only has meaning in the context of an emergency
call (as ascertained by the presence of an emergency service URN in a call (as ascertained by the presence of an emergency service URN in a
Request-URI header field of a SIP message), test emergency calls Request-URI header field of a SIP message), test emergency calls
(using an appropriate service URN), and some private-use calls where (using an appropriate service URN), and some private-use calls where
the endpoints have a preexisting relationship and privacy concerns do the endpoints have a preexisting relationship and privacy concerns do
not apply because of the relationship; use in other contexts is not apply because of the relationship; use in other contexts is
undefined and is likely to unnecessarily expose confidential data. undefined and is likely to unnecessarily expose confidential data.
If the data is provided by reference, an HTTPS URI MUST be included If the data is provided by reference, an HTTPS URI MUST be included,
and consequently Transport Layer Security (TLS) protection is used and consequently, Transport Layer Security (TLS) protection is used
during the retrieval of the information. during the retrieval of the information.
The data can also be supplied by value in any SIP request or response The data can also be supplied by value in any SIP request or response
method that is permitted to contain a body (i.e., not a BYE request) method that is permitted to contain a body (i.e., not a BYE request)
[RFC3261]. In this case, Content Indirection (CID) [RFC2392] is [RFC3261]. In this case, CID [RFC2392] is used, with the CID URL
used, with the CID URL referencing the MIME body part containing the referencing the MIME body part containing the data. Note that
data. Note that [RFC3261] forbids proxies from altering message [RFC3261] forbids proxies from altering message bodies, so entities
bodies, so entities in the call path that add blocks by value need to in the call path that add blocks by value need to do so using an
do so using an appropriate SIP entity (e.g., a back-to-back user appropriate SIP entity (e.g., a back-to-back user agent).
agent).
Transmitting data by value is especially useful in certain cases, Transmitting data by value is especially useful in certain cases,
such as when the data exists in or is generated by the originating such as when the data exists in or is generated by the originating
device, but is not intended for very large data blocks. Additional device but is not intended for very large data blocks. Additional
security and privacy considerations apply to data transmitted by security and privacy considerations apply to data transmitted by
value, as discussed in Section 9 and Section 10. value, as discussed in Sections 9 and 10, respectively.
More than one Call-Info header field with a purpose value starting More than one Call-Info header field with a 'purpose' value starting
with 'EmergencyCallData' can be expected, but at least one MUST be with 'EmergencyCallData' can be expected, but at least one MUST be
provided. The device MUST provide one unless it knows that a service provided. The device MUST provide one unless it knows that a service
provider is in the path of the call. The device MAY insert one if it provider is in the path of the call. The device MAY insert one if it
uses a service provider. Each service provider in the path of an uses a service provider. Each service provider in the path of an
emergency call MUST insert its own. For example, a device, a emergency call MUST insert its own. For example, a device, a
telematics service provider in the call path, as well as the mobile telematics service provider in the call path, as well as the mobile
carrier handling the call will each provide one. There might be carrier handling the call will each provide one. There might be
circumstances where there is a service provider who is unaware that circumstances where there is a service provider who is unaware that
the call is an emergency call and cannot reasonably be expected to the call is an emergency call and cannot reasonably be expected to
determine that it is an emergency call. In that case, that service determine that it is an emergency call. In that case, that service
provider is not expected to provide EmergencyCallData. provider is not expected to provide EmergencyCallData.
When blocks are transmitted by value, the 'purpose' parameter in a When blocks are transmitted by value, the 'purpose' parameter in a
Call-Info header field identifies the data, and the CID URL points to Call-Info header field identifies the data, and the CID URL points to
the data block in the body (which has a matching Content-ID body part the data block in the body (which has a matching Content-ID body part
header field). When a data block is carried in a signed or encrypted header field). When a data block is carried in a signed or encrypted
body part, the enclosing multipart (e.g., multipart/signed or body part, the enclosing multipart (e.g., 'multipart/signed' or
multipart/encrypted) has the same Content-ID as the data part. This 'multipart/encrypted') has the same Content-ID as the data part.
allows an entity to identify and access the data blocks it is This allows an entity to identify and access the data blocks it is
interested in without having to dive deeply into the message interested in without having to dive deeply into the message
structure or decrypt parts it is not interested in. structure or decrypt parts it is not interested in.
6.2. Transmitting Blocks by Reference using the <provided-by> Element 6.2. Transmitting Blocks by Reference Using the <provided-by> Element
The <EmergencyCallDataReference> element is used to transmit an The <EmergencyCallDataReference> element is used to transmit an
additional data block by reference within a <provided-by> element of additional data block by reference within a <provided-by> element of
a PIDF-LO. The <EmergencyCallDataReference> element has two a PIDF-LO. The <EmergencyCallDataReference> element has two
attributes: 'ref' to specify the URL, and 'purpose' to indicate the attributes: 'ref' to specify the URL and 'purpose' to indicate the
type of data block referenced. The value of 'ref' is an HTTPS URL type of data block referenced. The value of 'ref' is an HTTPS URL
that resolves to a data structure with information about the call. 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 The value of 'purpose' is the same as used in a Call-Info header
field (as specified in Section 6.1). field (as specified in Section 6.1).
For example, to reference a block with MIME media type 'application/ For example, to reference a block with MIME media type 'application/
EmergencyCallData.ProviderInfo+xml', the 'purpose' parameter is set EmergencyCallData.ProviderInfo+xml', the 'purpose' parameter is set
to 'EmergencyCallData.ProviderInfo'. An example to 'EmergencyCallData.ProviderInfo'. An example
<EmergencyCallDataReference> element for this would be: <EmergencyCallDataReference> element for this would be:
<EmergencyCallDataReference ref="https://www.example.com/23sedde3" <EmergencyCallDataReference ref="https://www.example.com/23sedde3"
purpose="EmergencyCallData.ProviderInfo"/> purpose="EmergencyCallData.ProviderInfo"/>
skipping to change at page 38, line 24 skipping to change at page 38, line 26
<EmergencyCallDataReference <EmergencyCallDataReference
purpose="EmergencyCallData.Comment" purpose="EmergencyCallData.Comment"
ref="https://example.com/ref4" /> ref="https://example.com/ref4" />
</provided-by> </provided-by>
Example <provided-by> by Reference Example <provided-by> by Reference
For an example in context, Figure 18 shows a PIDF-LO example with an For an example in context, Figure 18 shows a PIDF-LO example with an
<EmergencyCallDataReference> element pointing to an <EmergencyCallDataReference> element pointing to an
EmergencyCallData.ServiceInfo data block with the URL in the 'ref' EmergencyCallData.ServiceInfo data block with the URL in the 'ref'
attribute and the purpose attribute set to attribute and the 'purpose' attribute set to
"EmergencyCallData.ServiceInfo". 'EmergencyCallData.ServiceInfo'.
6.3. Transmitting Blocks by Value using the <provided-by> Element 6.3. Transmitting Blocks by Value Using the <provided-by> Element
It is RECOMMENDED that access networks supply the data specified in It is RECOMMENDED that access networks supply the data specified in
this document by reference, because PIDF-LOs can be fetched by a this document by reference, because PIDF-LOs can be fetched by a
client or other entity and stored locally, so providing the data by client or other entity and stored locally, so providing the data by
value risks exposing private information to a larger audience. value risks exposing private information to a larger audience.
The <EmergencyCallDataValue> element is used to transmit one or more The <EmergencyCallDataValue> element is used to transmit one or more
additional data blocks by value within a <provided-by> element of a additional data blocks by value within a <provided-by> element of a
PIDF-LO. Each block being transmitted is placed (as a child element) PIDF-LO. Each block being transmitted is placed (as a child element)
inside the <EmergencyCallDataValue> element. (The same XML structure inside the <EmergencyCallDataValue> element. (The same XML structure
skipping to change at page 39, line 14 skipping to change at page 39, line 16
<provided-by> <provided-by>
<EmergencyCallDataValue> <EmergencyCallDataValue>
<EmergencyCallData.ProviderInfo <EmergencyCallData.ProviderInfo
xmlns= xmlns=
"urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo"> "urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo">
<DataProviderReference>flurbit735@es.example.com <DataProviderReference>flurbit735@es.example.com
</DataProviderReference> </DataProviderReference>
<DataProviderString>Access Network Examples, Inc <DataProviderString>Access Network Examples, Inc.
</DataProviderString> </DataProviderString>
<ProviderID>urn:nena:companyid:Test</ProviderID> <ProviderID>urn:nena:companyid:Test</ProviderID>
<ProviderIDSeries>NENA</ProviderIDSeries> <ProviderIDSeries>NENA</ProviderIDSeries>
<TypeOfProvider>Access Network Provider <TypeOfProvider>Access Network Provider
</TypeOfProvider> </TypeOfProvider>
<ContactURI>tel:+1-555-555-0897</ContactURI> <ContactURI>tel:+1-555-555-0897</ContactURI>
<Language>en</Language> <Language>en</Language>
</EmergencyCallData.ProviderInfo> </EmergencyCallData.ProviderInfo>
<EmergencyCallData.Comment <EmergencyCallData.Comment
skipping to change at page 40, line 4 skipping to change at page 40, line 4
<EmergencyCallData.ProviderInfo> and the <EmergencyCallData.Comment> <EmergencyCallData.ProviderInfo> and the <EmergencyCallData.Comment>
elements as child elements of an <EmergencyCallDataValue> element. elements as child elements of an <EmergencyCallDataValue> element.
6.4. The Content-Disposition Parameter 6.4. The Content-Disposition Parameter
RFC 5621 [RFC5621] discusses the handling of message bodies in SIP. RFC 5621 [RFC5621] discusses the handling of message bodies in SIP.
It updates and clarifies handling originally defined in RFC 3261 It updates and clarifies handling originally defined in RFC 3261
[RFC3261] based on implementation experience. While RFC 3261 did not [RFC3261] based on implementation experience. While RFC 3261 did not
mandate support for 'multipart' message bodies, 'multipart/mixed' mandate support for 'multipart' message bodies, 'multipart/mixed'
MIME bodies are used by many extensions (including this document) MIME bodies are used by many extensions (including this document)
today. For example, adding a PIDF-LO, SDP, and additional data in today. For example, adding a PIDF-LO, a Session Description Protocol
body of a SIP message requires a 'multipart' message body. (SDP), and additional data in the body of a SIP message requires a
'multipart' message body.
RFC 3204 [RFC3204] and RFC 3459 [RFC3459] define the 'handling' RFC 3204 [RFC3204] and RFC 3459 [RFC3459] define the 'handling'
parameter for the Content-Disposition header field. These RFCs parameter for the Content-Disposition header field. These RFCs
describe how a UAS reacts if it receives a message body whose content describe how a User Agent Server (UAS) reacts if it receives a
type or disposition type it does not understand. If the 'handling' message body whose content type or disposition type it does not
parameter has the value "optional", the UAS ignores the message body. understand. If the 'handling' parameter has the value 'optional',
If the 'handling' parameter has the value "required", the UAS returns the UAS ignores the message body. If the 'handling' parameter has
a 415 (Unsupported Media Type) response. The 'by-reference' the value 'required', the UAS returns a 415 (Unsupported Media Type)
disposition type of [RFC5621] allows a SIP message to contain a response. The 'by-reference' disposition type of RFC 5621 [RFC5621]
reference to the body part, and the SIP UA processes the body part allows a SIP message to contain a reference to the body part, and the
according to the reference. This is the case for a Call-info header SIP User Agent (UA) processes the body part according to the
field containing a Content Indirection (CID) URL. reference. This is the case for a Call-Info header field containing
a CID URL.
As an example, a SIP message indicates the Content-Disposition As an example, a SIP message indicates the 'Content-Disposition'
parameter in the body of the SIP message as shown in Figure 14. parameter in the body of the SIP message as shown in Figure 14.
Content-Type: application/sdp Content-Type: application/sdp
...Omit Content-Disposition here; defaults are ok ...Omit Content-Disposition here; defaults are ok
...SDP goes in here ...SDP goes in here
--boundary1 --boundary1
Content-Type: application/pidf+xml Content-Type: application/pidf+xml
Content-ID: <target123@atlanta.example.com> Content-ID: <target123@atlanta.example.com>
skipping to change at page 40, line 43 skipping to change at page 40, line 45
--boundary1 --boundary1
Content-Type: application/EmergencyCallData.ProviderInfo+xml Content-Type: application/EmergencyCallData.ProviderInfo+xml
Content-ID: <1234567890@atlanta.example.com> Content-ID: <1234567890@atlanta.example.com>
Content-Disposition: by-reference; handling=optional Content-Disposition: by-reference; handling=optional
...Data provider information data goes in here ...Data provider information data goes in here
--boundary1-- --boundary1--
Figure 14: Example for use of the Content-Disposition Parameter in Figure 14: Example for Use of the Content-Disposition Parameter
SIP in SIP
7. Examples 7. Examples
This section illustrates a longer and more complex example, as shown This section illustrates a longer and more complex example, as shown
in Figure 15. In this example additional data is added by the end in Figure 15. In this example, additional data is added by the end
device, included by the VoIP provider, and provided by the access device, included by the VoIP provider, and provided by the access
network provider (via the PIDF-LO). network provider (via the PIDF-LO).
O +----+ [============] [=============] O +----+ [============] [=============]
/|\ | UA | [ Access ] [ VoIP ] /|\ | UA | [ Access ] [ VoIP ]
| +----+ [ Network ] [ Provider ] | +----+ [ Network ] [ Provider ]
/ \ [ Provider ] [ example.org ] / \ [ Provider ] [ example.org ]
[ ] [ ] [ ] [ ]
(1) [ ] (2) [ ] (1) [ ] (2) [ ]
Emergency Call [ ] Emergency Call [ ] Emergency Call [ ] Emergency Call [ ]
skipping to change at page 44, line 41 skipping to change at page 44, line 49
</parameters> </parameters>
<uri>tel:+358 50 4871445</uri> <uri>tel:+358 50 4871445</uri>
</tel> </tel>
<tel> <tel>
<parameters> <parameters>
<type> <type>
<text>home</text> <text>home</text>
<text>voice</text> <text>voice</text>
</type> </type>
</parameters> </parameters>
<uri>tel:+1 555 555 0123</uri> <uri>tel:+1-555-555-0123</uri>
</tel> </tel>
<tel> <tel>
<parameters> <parameters>
<type> <type>
<text>work</text> <text>work</text>
<text>voice</text> <text>voice</text>
<text>main-number</text> <text>main-number</text>
</type> </type>
</parameters> </parameters>
<uri>tel:+1 302 594-3100</uri> <uri>tel:+1-302-594-3100</uri>
</tel> </tel>
<email> <email>
<parameters><type><text>work</text></type> <parameters><type><text>work</text></type>
</parameters> </parameters>
<text>hannes.tschofenig@nsn.com</text> <text>hannes.tschofenig@nsn.com</text>
</email> </email>
<geo> <geo>
<parameters><type><text>work</text></type> <parameters><type><text>work</text></type>
</parameters> </parameters>
<uri>geo:60.210796,24.812924</uri> <uri>geo:60.210796,24.812924</uri>
skipping to change at page 45, line 39 skipping to change at page 45, line 46
<parameters><type><text>home</text></type> <parameters><type><text>home</text></type>
</parameters> </parameters>
<uri>http://example.com/hannes.tschofenig <uri>http://example.com/hannes.tschofenig
</uri> </uri>
</url> </url>
</vcard> </vcard>
</pi:DataProviderContact> </pi:DataProviderContact>
</pi:EmergencyCallData.ProviderInfo> </pi:EmergencyCallData.ProviderInfo>
--boundary1-- --boundary1--
Figure 16: End Device sending SIP INVITE with Additional Data Figure 16: End Device Sending SIP INVITE with Additional Data
In this example, information available to the access network provider In this example, information available to the access network provider
is included in the call setup message only indirectly via the use of is included in the call setup message only indirectly via the use of
the location reference. The PSAP has to retrieve it via a separate the location reference. The PSAP has to retrieve it via a separate
look-up step. Since the access network provider and the VoIP service lookup step. Since the access network provider and the VoIP service
provider are two independent entities in this scenario, the access provider are two independent entities in this scenario, the access
network provider is not involved in application layer exchanges; the network provider is not involved in application-layer exchanges; the
SIP INVITE transits the access network transparently, as illustrated SIP INVITE transits the access network transparently, as illustrated
in steps #1 and #2 (the access network does not alter the SIP in steps #1 and #2 (the access network does not alter the SIP
INVITE). INVITE).
The VoIP service provider receives the message and determines, based The VoIP service provider receives the message and determines, based
on the Service URN, that the incoming request is an emergency call. on the service URN, that the incoming request is an emergency call.
It performs typical emergency-services-related tasks (such as
It performs typical emergency services related tasks (such as location-based routing) and adds additional data, namely service and
location-based routing), and adds additional data, namely service and
subscriber information as well as data provider information #2, to subscriber information as well as data provider information #2, to
the outgoing message. For the example we assume a VoIP service the outgoing message. For the example, we assume a VoIP service
provider that deploys a back-to-back user agent allowing additional provider deploys a back-to-back user agent allowing additional data
data to be included in the body of the SIP message (rather than by to be included in the body of the SIP message (rather than by
reference), which allows us to illustrate the use of multiple data reference), which allows us to illustrate the use of multiple data
provider info blocks. The resulting message is shown in Figure 17. provider info blocks. The resulting message is shown in Figure 17.
The SIP INVITE is sent to the PSAP in step #3. The SIP INVITE is sent to the PSAP in step #3.
INVITE sips:psap@example.org SIP/2.0 INVITE sips:psap@example.org SIP/2.0
Via: SIPS/2.0/TLS server.example.com;branch=z9hG4bK74bf9 Via: SIPS/2.0/TLS server.example.com;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
To: <urn:service:sos> To: <urn:service:sos>
From: Hannes Tschofenig <sips:hannes@example.com>;tag=9fxced76sl From: Hannes Tschofenig <sips:hannes@example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@example.com Call-ID: 3848276298220188511@example.com
skipping to change at page 49, line 9 skipping to change at page 49, line 15
</parameters> </parameters>
<uri>tel:+358 50 4871445</uri> <uri>tel:+358 50 4871445</uri>
</tel> </tel>
<tel> <tel>
<parameters> <parameters>
<type> <type>
<text>home</text> <text>home</text>
<text>voice</text> <text>voice</text>
</type> </type>
</parameters> </parameters>
<uri>tel:+1 555 555 0123</uri> <uri>tel:+1-555-555-0123</uri>
</tel> </tel>
<email> <email>
<parameters><type><text>work</text></type> <parameters><type><text>work</text></type>
</parameters> </parameters>
<text>hannes.tschofenig@nsn.com</text> <text>hannes.tschofenig@nsn.com</text>
</email> </email>
<geo> <geo>
<parameters><type><text>work</text></type> <parameters><type><text>work</text></type>
</parameters> </parameters>
<uri>geo:60.210796,24.812924</uri> <uri>geo:60.210796,24.812924</uri>
skipping to change at page 51, line 16 skipping to change at page 51, line 21
<adr> <adr>
<parameters> <parameters>
<type><text>work</text></type> <type><text>work</text></type>
<label><text>John Doe <label><text>John Doe
123 Middle Street 123 Middle Street
The Sticks, IA 50055</text></label> The Sticks, IA 50055</text></label>
</parameters> </parameters>
<pobox/> <pobox/>
<ext/> <ext/>
<street>123 Middle Street</street> <street>123 Middle Street</street>
<locality>the Sticks</locality> <locality>The Sticks</locality>
<region>IA</region> <region>IA</region>
<code>50055</code> <code>50055</code>
<country>USA</country> <country>USA</country>
</adr> </adr>
<tel> <tel>
<parameters> <parameters>
<type> <type>
<text>work</text> <text>work</text>
<text>voice</text> <text>voice</text>
<text>main-number</text> <text>main-number</text>
skipping to change at page 51, line 47 skipping to change at page 52, line 4
<parameters><type><text>work</text></type> <parameters><type><text>work</text></type>
</parameters> </parameters>
<uri>geo:41.761838,-92.963268</uri> <uri>geo:41.761838,-92.963268</uri>
</geo> </geo>
<tz><text>America/Chicago</text></tz> <tz><text>America/Chicago</text></tz>
<url> <url>
<parameters><type><text>home</text></type> <parameters><type><text>home</text></type>
</parameters> </parameters>
<uri>http://www.example.com/john.doe</uri> <uri>http://www.example.com/john.doe</uri>
</url> </url>
</vcard> </vcard>
</pi:DataProviderContact> </pi:DataProviderContact>
</pi:EmergencyCallData.ProviderInfo> </pi:EmergencyCallData.ProviderInfo>
--boundary1-- --boundary1--
Figure 17: VoIP Provider sending SIP INVITE with Additional Data Figure 17: VoIP Provider Sending SIP INVITE with Additional Data
Finally, the PSAP requests location information from the access Finally, the PSAP requests location information from the access
network provider. The response is shown in Figure 18. Along with network provider. The response is shown in Figure 18. Along with
the location information, additional data is provided in the the location information, additional data is provided in the
<provided-by> element of the PIDF-LO. This request and response is <provided-by> element of the PIDF-LO. This request and response is
step #4. step #4.
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<presence xmlns="urn:ietf:params:xml:ns:pidf" <presence xmlns="urn:ietf:params:xml:ns:pidf"
xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10" xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10"
skipping to change at page 53, line 33 skipping to change at page 53, line 39
</EmergencyCallDataValue> </EmergencyCallDataValue>
</gp:provided-by> </gp:provided-by>
</gp:geopriv> </gp:geopriv>
<dm:deviceID>mac:00-0d-4b-30-72-df</dm:deviceID> <dm:deviceID>mac:00-0d-4b-30-72-df</dm:deviceID>
<dm:timestamp>2013-07-09T20:57:29Z</dm:timestamp> <dm:timestamp>2013-07-09T20:57:29Z</dm:timestamp>
</dm:device> </dm:device>
</presence> </presence>
Figure 18: Access Network Provider returning PIDF-LO with Additional Figure 18: Access Network Provider Returning PIDF-LO
Data with Additional Data
8. XML Schemas 8. XML Schemas
This section defines the XML schemas of the five data blocks. This section defines the XML schemas of the five data blocks.
Additionally, the provided-by schema is specified. Additionally, the provided-by schema is specified.
8.1. EmergencyCallData.ProviderInfo XML Schema 8.1. EmergencyCallData.ProviderInfo XML Schema
<?xml version="1.0"?> <?xml version="1.0"?>
<xs:schema <xs:schema
skipping to change at page 55, line 35 skipping to change at page 55, line 45
type="pi:SubcontractorPriorityType" type="pi:SubcontractorPriorityType"
minOccurs="0" maxOccurs="1"/> minOccurs="0" maxOccurs="1"/>
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:schema> </xs:schema>
Figure 19: EmergencyCallData.ProviderInfo XML Schema. Figure 19: EmergencyCallData.ProviderInfo XML Schema
8.2. EmergencyCallData.ServiceInfo XML Schema 8.2. EmergencyCallData.ServiceInfo XML Schema
<?xml version="1.0"?> <?xml version="1.0"?>
<xs:schema <xs:schema
targetNamespace= targetNamespace=
"urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo" "urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:svc="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo" xmlns:svc="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo"
xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xml="http://www.w3.org/XML/1998/namespace"
elementFormDefault="qualified" elementFormDefault="qualified"
attributeFormDefault="unqualified"> attributeFormDefault="unqualified">
skipping to change at page 56, line 42 skipping to change at page 56, line 45
<xs:element name="ServiceMobility" <xs:element name="ServiceMobility"
type="xs:string" minOccurs="1" maxOccurs="1"/> type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:schema> </xs:schema>
Figure 20: EmergencyCallData.ServiceInfo XML Schema. Figure 20: EmergencyCallData.ServiceInfo XML Schema
8.3. EmergencyCallData.DeviceInfo XML Schema 8.3. EmergencyCallData.DeviceInfo XML Schema
<?xml version="1.0"?> <?xml version="1.0"?>
<xs:schema <xs:schema
targetNamespace= targetNamespace=
"urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo" "urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:dev="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo" xmlns:dev="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo"
xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xml="http://www.w3.org/XML/1998/namespace"
skipping to change at page 58, line 7 skipping to change at page 58, line 15
<xs:element name="DeviceSpecificType" <xs:element name="DeviceSpecificType"
type="xs:string" minOccurs="0" maxOccurs="1"/> type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:schema> </xs:schema>
Figure 21: EmergencyCallData.DeviceInfo XML Schema. Figure 21: EmergencyCallData.DeviceInfo XML Schema
8.4. EmergencyCallData.SubscriberInfo XML Schema 8.4. EmergencyCallData.SubscriberInfo XML Schema
<?xml version="1.0"?> <?xml version="1.0"?>
<xs:schema <xs:schema
targetNamespace= targetNamespace=
"urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" "urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:sub= xmlns:sub=
"urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" "urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo"
xmlns:xc="urn:ietf:params:xml:ns:vcard-4.0" xmlns:xc="urn:ietf:params:xml:ns:vcard-4.0"
xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xml="http://www.w3.org/XML/1998/namespace"
elementFormDefault="qualified" elementFormDefault="qualified"
attributeFormDefault="unqualified"> attributeFormDefault="unqualified">
<xs:import namespace="http://www.w3.org/XML/1998/namespace" <xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/> schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xs:import namespace="urn:ietf:params:xml:ns:vcard-4.0" <xs:import namespace="urn:ietf:params:xml:ns:vcard-4.0"
schemaLocation="vcard.xsd"/> schemaLocation="vcard.xsd"/>
<xs:element name="EmergencyCallData.SubscriberInfo" <xs:element name="EmergencyCallData.SubscriberInfo"
type="sub:SubscriberInfoType"/> type="sub:SubscriberInfoType"/>
<xs:complexType name="SubscriberInfoType"> <xs:complexType name="SubscriberInfoType">
<xs:complexContent> <xs:sequence>
<xs:restriction base="xs:anyType"> <xs:element name="DataProviderReference" type="xs:token"
<xs:sequence> minOccurs="1" maxOccurs="1"/>
<xs:element name="DataProviderReference" <xs:element name="SubscriberData">
type="xs:token" minOccurs="1" maxOccurs="1"/> <xs:complexType>
<xs:sequence>
<xs:element ref="xc:vcard"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SubscriberData"> <xs:any namespace="##other" processContents="lax"
<xs:complexType> minOccurs="0" maxOccurs="unbounded"/>
<xs:sequence>
<xs:element maxOccurs="unbounded"
ref="xc:vcard"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:any namespace="##other" processContents="lax" </xs:sequence>
minOccurs="0" maxOccurs="unbounded"/> <xs:attribute name="privacyRequested"
</xs:sequence> type="xs:boolean" use="required"/>
<xs:attribute name="privacyRequested" type="xs:boolean"
use="required"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:complexType>
</xs:schema> </xs:schema>
Figure 22: EmergencyCallData.SubscriberInfo XML Schema. Figure 22: EmergencyCallData.SubscriberInfo XML Schema
8.5. EmergencyCallData.Comment XML Schema 8.5. EmergencyCallData.Comment XML Schema
<?xml version="1.0"?> <?xml version="1.0"?>
<xs:schema <xs:schema
targetNamespace= targetNamespace=
"urn:ietf:params:xml:ns:EmergencyCallData:Comment" "urn:ietf:params:xml:ns:EmergencyCallData:Comment"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:com="urn:ietf:params:xml:ns:EmergencyCallData:Comment" xmlns:com="urn:ietf:params:xml:ns:EmergencyCallData:Comment"
xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xml="http://www.w3.org/XML/1998/namespace"
elementFormDefault="qualified" elementFormDefault="qualified"
attributeFormDefault="unqualified"> attributeFormDefault="unqualified">
skipping to change at page 60, line 44 skipping to change at page 60, line 47
<xs:complexType name="CommentSubType"> <xs:complexType name="CommentSubType">
<xs:simpleContent> <xs:simpleContent>
<xs:extension base="xs:string"> <xs:extension base="xs:string">
<xs:attribute ref="xml:lang"/> <xs:attribute ref="xml:lang"/>
</xs:extension> </xs:extension>
</xs:simpleContent> </xs:simpleContent>
</xs:complexType> </xs:complexType>
</xs:schema> </xs:schema>
Figure 23: EmergencyCallData.Comment XML Schema. Figure 23: EmergencyCallData.Comment XML Schema
8.6. provided-by XML Schema 8.6. provided-by XML Schema
This section defines the provided-by schema. This section defines the provided-by schema.
<?xml version="1.0"?> <?xml version="1.0"?>
<xs:schema <xs:schema
targetNamespace= targetNamespace="urn:ietf:params:xml:ns:EmergencyCallData"
"urn:ietf:params:xml:ns:EmergencyCallData" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ad="urn:ietf:params:xml:ns:EmergencyCallData"
xmlns:ad="urn:ietf:params:xml:ns:EmergencyCallData" xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:pi="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo"
xmlns:pi="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo" xmlns:svc="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo"
xmlns:svc="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo" xmlns:dev="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo"
xmlns:dev="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo" xmlns:sub="urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo"
xmlns:sub= xmlns:com="urn:ietf:params:xml:ns:EmergencyCallData:Comment"
"urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" elementFormDefault="qualified"
xmlns:com="urn:ietf:params:xml:ns:EmergencyCallData:Comment" attributeFormDefault="unqualified">
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:import
namespace="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo"
schemaLocation="ProviderInfo.xsd"/>
<xs:import
namespace="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo"
schemaLocation="ServiceInfo.xsd"/>
<xs:import
namespace="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo"
schemaLocation="DeviceInfo.xsd"/>
<xs:import
namespace=
"urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo"
schemaLocation="SubscriberInfo.xsd"/>
<xs:import
namespace="urn:ietf:params:xml:ns:EmergencyCallData:Comment"
schemaLocation="Comment.xsd"/>
<xs:element name="EmergencyCallDataReference"
type="ad:ByRefType"/>
<xs:element name="EmergencyCallDataValue"
type="ad:EmergencyCallDataValueType"/>
<!-- Additional Data By Reference -->
<xs:complexType name="ByRefType">
<xs:complexContent>
<xs:restriction base="xs:anyType">
<xs:sequence>
<xs:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax"/>
</xs:sequence>
<xs:attribute name="purpose" type="xs:token"
use="required"/>
<xs:attribute name="ref" type="xs:anyURI"
use="required"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<!-- Additional Data By Value -->
<xs:complexType name="EmergencyCallDataValueType">
<xs:sequence>
<xs:element name="EmergencyCallData.ProviderInfo"
type="pi:ProviderInfoType"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="EmergencyCallData.ServiceInfo"
type="svc:ServiceInfoType"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="EmergencyCallData.DeviceInfo"
type="dev:DeviceInfoType"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="EmergencyCallData.SubscriberInfo"
type="sub:SubscriberInfoType"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="EmergencyCallData.Comment"
type="com:CommentType"
minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:schema> <xs:import
namespace="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo"
schemaLocation="ProviderInfo.xsd"/>
<xs:import
namespace="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo"
schemaLocation="ServiceInfo.xsd"/>
<xs:import
namespace="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo"
schemaLocation="DeviceInfo.xsd"/>
<xs:import
namespace="urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo"
schemaLocation="SubscriberInfo.xsd"/>
<xs:import
namespace="urn:ietf:params:xml:ns:EmergencyCallData:Comment"
schemaLocation="Comment.xsd"/>
<xs:element name="EmergencyCallDataReference" type="ad:ByRefType"/>
<xs:element name="EmergencyCallDataValue"
type="ad:EmergencyCallDataValueType"/>
<!-- Additional Data By Reference -->
<xs:complexType name="ByRefType">
<xs:sequence>
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="purpose" type="xs:token" use="required"/>
<xs:attribute name="ref" type="xs:anyURI" use="required"/>
</xs:complexType>
<!-- Additional Data By Value -->
<xs:complexType name="EmergencyCallDataValueType">
<xs:sequence>
<xs:element ref="pi:EmergencyCallData.ProviderInfo"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="svc:EmergencyCallData.ServiceInfo"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dev:EmergencyCallData.DeviceInfo"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="sub:EmergencyCallData.SubscriberInfo"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="com:EmergencyCallData.Comment"
minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Figure 24: provided-by XML Schema Figure 24: provided-by XML Schema
9. Security Considerations 9. Security Considerations
The data structures described in this document contain information The data structures described in this document contain information
usually considered private. When information is provided by value, usually considered private. When information is provided by value,
entities that are a party to the SIP signaling (such as proxy servers entities that are a party to the SIP signaling (such as proxy servers
and back-to-back user agents) will have access to it and need to and back-to-back user agents) will have access to it and need to
protect it against inappropriate disclosure. An entity that is able protect it against inappropriate disclosure. An entity that is able
to eavesdrop on the SIP signaling will also have access. Some to eavesdrop on the SIP signaling will also have access. Some
Internet access types (such as in-the-clear Wi-Fi) are more Internet access types (such as in-the-clear Wi-Fi) are more
vulnerable than others (such as 3G or 4G cellular data traffic) to vulnerable than others (such as 3G or 4G cellular data traffic) to
eavesdropping. Mechanisms that protect against eavesdropping (such eavesdropping. Mechanisms that protect against eavesdropping (such
as Transport Layer Security (TLS) version 1.2 or later) SHOULD be as TLS version 1.2 or later) SHOULD be preferentially used whenever
preferentially used whenever feasible. (This requirement is not a feasible. (This requirement is not a "MUST" because there is an
"MUST" because there is an existing deployed base of clear-text SIP, existing deployed base of clear-text SIP, and also because, as an
and also because, as an emergency call, it is more important for the emergency call, it is more important for the call to go through than
call to go through than for it to be protected; e.g., the call MUST for it to be protected; for example, the call MUST proceed even if
proceed even if the TLS negotiation or certificate verification fails the TLS negotiation or certificate verification fails for whatever
for whatever reason.) When information is provided by reference, TLS reason.) When information is provided by reference, TLS mutual
mutual authentication is REQUIRED. That is, HTTPS is REQUIRED for authentication is REQUIRED. That is, HTTPS is REQUIRED for
dereferencing, the requestor MUST use a client certificate to dereferencing, the requester MUST use a client certificate to
authenticate the HTTP request, and the provider of the information is authenticate the HTTP request, and the provider of the information is
REQUIRED to validate the credentials provided by the requester. REQUIRED to validate the credentials provided by the requester.
While the creation of a public key infrastructure (PKI) that has While the creation of a public key infrastructure (PKI) that has
global scope might be difficult, the alternatives to creating devices global scope might be difficult, the alternatives to creating devices
and services that can provide critical information securely are more and services that can provide critical information securely are more
daunting. The provider of the information MAY enforce any policy it daunting. The provider of the information MAY enforce any policy it
wishes to use, but PSAPs and responder agencies are strongly advised wishes to use, but PSAPs and responder agencies are strongly advised
to deploy a PKI so that providers of additional data can check the to deploy a PKI so that providers of additional data can check the
certificate of the client (the requester) and decide the appropriate certificate of the client (the requester) and decide the appropriate
policy to enforce based on that certificate. policy to enforce based on that certificate.
TLS MUST be version 1.2 or later. TLS MUST be version 1.2 or later. TLS MUST be version 1.2 or later. It is RECOMMENDED to use only
It is RECOMMENDED to use only cipher suites that offer Perfect cipher suites that offer Perfect Forward Secrecy (PFS) and avoid
Forward Secrecy (PFS) and avoid Cipher Block Chaining (CBC), and to Cipher Block Chaining (CBC) and to follow the recommendations in BCP
follow the recommendations in BCP 195 [RFC7525]. 195 [RFC7525].
Ideally, the PSAP and emergency responders will be given credentials Ideally, the PSAP and emergency responders will be given credentials
signed by an authority trusted by the data provider. In most signed by an authority trusted by the data provider. In most
circumstances, nationally recognized credentials are sufficient; the circumstances, nationally recognized credentials are sufficient; the
emergency services community within a country can arrange a PKI, data emergency services community within a country can arrange a PKI, data
providers can be provisioned with the root CA public key for the providers can be provisioned with the root Certification Authority
country. Some nations are developing a PKI for this, and related, (CA) public key for the country. Some nations are developing a PKI
purposes. Since calls could be made from devices where the device for this and related purposes. Since calls could be made from
and/or the service provider(s) are not local to the emergency devices where the device and/or the service provider(s) is not local
services authorities, globally recognized credentials are useful. to the emergency services authorities, globally recognized
This might be accomplished by extending the notion of the "forest credentials are useful. This might be accomplished by extending the
guide" described in [RFC5582] to allow the forest guide to provide notion of the "forest guide" described in [RFC5582] to allow the
the credential of the PKI root for areas for which it has coverage forest guide to provide the credential of the PKI root for areas for
information, but standards for such a mechanism are not yet which it has coverage information, but standards for such a mechanism
available. In its absence, the data provider needs to obtain by out are not yet available. In its absence, the data provider needs to
of band means the root CA credentials for any areas to which it is obtain by out-of-band means the root CA credentials for any areas to
willing to provide additional data. With the credential of the root which it is willing to provide additional data. With the credential
CA for a national emergency services PKI, the data provider server of the root CA for a national emergency services PKI, the data
can validate the credentials of an entity requesting additional data provider server can validate the credentials of an entity requesting
by reference. additional data by reference.
The data provider also needs a credential that can be verified by the The data provider also needs a credential that can be verified by the
emergency services to know that it is receiving data from an emergency services to know that it is receiving data from an
authorized server. The emergency services authorities could provide authorized server. The emergency services authorities could provide
credentials, distinguishable from credentials provided to emergency credentials, distinguishable from credentials provided to emergency
responders and PSAPs, which could be used to validate data providers. responders and PSAPs, which could be used to validate data providers.
Such credentials would have to be acceptable to any PSAP or responder Such credentials would have to be acceptable to any PSAP or responder
that could receive a call with additional data supplied by that that could receive a call with additional data supplied by that
provider. This would be extensible to global credential validation provider. This would be extensible to global credential validation
using the forest guide as mentioned above. In the absence of such using the forest guide as mentioned above. In the absence of such
credentials, the emergency services authorities could maintain a list credentials, the emergency services authorities could maintain a list
of local data providers' credentials as provided to them out of band. of local data providers' credentials as provided to them out of band.
At a minimum, the emergency services authorities could obtain a At a minimum, the emergency services authorities could obtain a
credential from the DNS entry of the domain in the Additional Data credential from the DNS entry of the domain in the additional data
URI (e.g., using DANE [RFC6698]) to at least validate that the server URI (e.g., using DNS-Based Authentication of Named Entities (DANE)
is known to the domain providing the URI. [RFC6698]) to at least validate that the server is known to the
domain providing the URI.
Data provided by devices by reference have similar credential When devices provide data by reference, the credential validation
validation issues as for service providers, and while the solutions issues are similar to when service providers do so, and while the
are the same, the challenges of doing so for every device are solutions are the same, the challenges of doing so for every device
obviously more difficult, especially when considering root are obviously more difficult, especially when considering root
certificate updates, revocation lists, etc. However, in general, certificate updates, revocation lists, etc. However, in general,
devices are not expected to provide data directly by reference, but devices are not expected to provide data directly by reference, but
rather, to either provide data by value, or upload the data to a rather to either provide data by value or upload the data to a server
server which can more reliably make it available and more easily that can more reliably make it available and more easily enforce
enforce security policy. Devices which do provide data directly by security policy. Devices that do provide data directly by reference,
reference, which might include fixed-location sensors, will need to which might include fixed-location sensors, will need to be capable
be capable of handling this. of handling this.
Neither service providers nor devices will supply private information Neither service providers nor devices will supply private information
unless the call is recognized as an emergency call. In cellular unless the call is recognized as an emergency call. In cellular
telephony systems (such as those using 3GPP IMS), there are different telephony systems (such as those using 3GPP IMS), there are different
procedures for an originating device to place an emergency versus a procedures for an originating device to place an emergency call
normal call. If a call that is really an emergency call is initiated versus a normal call. If a call that is really an emergency call is
as a normal call and the cellular service provider recognizes this, initiated as a normal call and the cellular service provider
3GPP IMS permits the service provider to either accept the call recognizes this, 3GPP IMS permits the service provider to either
anyway or reject it with a specific code that instructs the device to accept the call anyway or reject it with a specific code that
retry the call as an emergency call. Service providers ought to instructs the device to retry the call as an emergency call. Service
choose the latter, because otherwise the device will not have providers ought to choose the latter, otherwise the device will not
included the information specified in this document (since the device include the information specified in this document (since the device
didn't recognize the call as being an emergency call). didn't recognize the call as being an emergency call).
10. Privacy Considerations 10. Privacy Considerations
This document enables functionality for conveying additional This document enables functionality for conveying additional
information about the caller and the caller's device and service to information about the caller and the caller's device and service to
the callee. Some of this information is personal data and therefore the callee. Some of this information is personal data and therefore
privacy concerns arise. An explicit privacy indicator for privacy concerns arise. An explicit privacy indicator for
information directly relating to the caller's identity is defined and information directly relating to the caller's identity is defined and
use is mandatory. However, observance of this request for privacy use is mandatory. However, observance of this request for privacy
and which information it relates to is determined by the destination and which information it relates to is determined by the destination
jurisdiction (which replicates functionality provided in some legacy jurisdiction (which replicates functionality provided in some legacy
emergency services systems). emergency services systems).
There are a number of privacy concerns with non-emergency real-time There are a number of privacy concerns with non-emergency real-time
communication services that are also applicable to emergency calling. communication services that are also applicable to emergency calling.
Data protection regulation world-wide has, however, decided to create Data protection regulation worldwide has, however, decided to create
exceptions for emergency services since the drawbacks of disclosing exceptions for emergency services since the drawbacks of disclosing
personal data are outweighed by the benefit for the emergency caller. personal data are outweighed by the benefit for the emergency caller.
Hence, the data protection rights of individuals are commonly waived Hence, the data protection rights of individuals are commonly waived
for emergency situations. There are, however, still various for emergency situations. There are, however, still various
countries that offer some degree of anonymity for the caller towards countries that offer some degree of anonymity for the caller towards
PSAP call takers. PSAP call takers.
The functionality defined in this document far exceeds the amount of The functionality defined in this document far exceeds the amount of
information sharing available in the legacy POTS system. For this information sharing available in the legacy POTS system. For this
reason there are additional privacy threats to consider, which are reason, there are additional privacy threats to consider, which are
described in more detail in [RFC6973]. described in more detail in [RFC6973].
Stored Data Compromise: There is an increased risk of stored data Stored Data Compromise: There is an increased risk of stored data
compromise since additional data is collected and stored in compromise since additional data is collected and stored in
databases. Without adequate measures to secure stored data from databases. Without adequate measures to secure stored data from
unauthorized or inappropriate access at access network providers, unauthorized or inappropriate access at access network providers,
service providers, end devices, as well as PSAPs, individuals are service providers, end devices, as well as PSAPs, individuals are
exposed to potential financial, reputational, or physical harm. exposed to potential financial, reputational, or physical harm.
Misattribution: If the personal data collected and conveyed is Misattribution: If the personal data collected and conveyed is
incorrect or inaccurate then this can lead to misattribution. incorrect or inaccurate, then this can lead to misattribution.
Misattribution occurs when data or communications related to one Misattribution occurs when data or communications related to one
individual are attributed to another. individual are attributed to another.
Identification: By the nature of the additional data and its Identification: By the nature of the additional data and its
capability to provide much richer information about the caller, capability to provide much richer information about the caller,
the call, and the location, the calling party is identified in a the call, and the location, the calling party is identified in a
much better way. Some users could feel uncomfortable with this much better way. Some users could feel uncomfortable with this
degree of information sharing even in emergency services degree of information sharing even in emergency services
situations. situations.
Secondary Use: There is a risk of secondary use, which is the use of Secondary Use: There is a risk of secondary use, which is the use of
collected information about an individual without the individual's collected information about an individual without the individual's
consent for a purpose different from that for which the consent for a purpose different from that for which the
information was collected. The stated purpose of the additional information was collected. The stated purpose of the additional
data is for emergency services purposes, but theoretically the data is for emergency services purposes, but theoretically the
same information could be used for any other call as well. same information could be used for any other call as well.
Additionally, parties involved in the emergency call could retain Additionally, parties involved in the emergency call could retain
the obtained information and re-use it for other, non-emergency the obtained information and reuse it for other, non-emergency
services purposes. While technical measures are not in place to services purposes. While technical measures are not in place to
prevent such secondary re-use, policy, legal, regulatory, and prevent such secondary reuse, policy, legal, regulatory, and other
other non-technical approaches can be effective. non-technical approaches can be effective.
Disclosure: When the data defined in this document is not properly Disclosure: When the data defined in this document is not properly
protected (while in transit with traditional communication protected (while in transit with traditional communication
security techniques, and while stored using access control security techniques and while stored using access control
mechanisms) there is the risk of disclosure, which is the mechanisms), there is the risk of disclosure, which is the
revelation of private information about an individual. revelation of private information about an individual.
To mitigate these privacy risks the following countermeasures can be To mitigate these privacy risks, the following countermeasures can be
taken: taken:
In regions where callers can elect to suppress certain personally In regions where callers can elect to suppress certain personally
identifying information, network or PSAP functionality can inspect identifying information, network or PSAP functionality can inspect
privacy flags within the SIP headers to determine what information privacy flags within the SIP headers to determine what information
can be passed, stored, or displayed to comply with local policy or can be passed, stored, or displayed to comply with local policy or
law. RFC 3325 [RFC3325] defines the "id" priv-value token. The law. RFC 3325 [RFC3325] defines the 'id' priv-value token. The
presence of this privacy type in a Privacy header field indicates presence of this privacy type in a Privacy header field indicates
that the user would like the network asserted identity to be kept that the user would like the network asserted identity to be kept
private with respect to SIP entities outside the trust domain with private with respect to SIP entities outside the trust domain with
which the user authenticated, including the PSAP. which the user authenticated, including the PSAP.
This document defines various data structures that contain privacy- This document defines various data structures that contain privacy-
sensitive data. For example, identifiers for the device (e.g., sensitive data such as, for example, identifiers for the device
serial number, MAC address) or account/SIM (e.g., IMSI), contact (e.g., serial number and MAC address) or account/SIM (e.g., IMSI),
information for the user, location of the caller. Local regulations contact information for the user, and location of the caller. Local
may govern which data is provided in emergency calls, but in general, regulations may govern which data is provided in emergency calls, but
the emergency call system is aided by the information described in in general, the emergency call system is aided by the information
this document. There is a tradeoff between the privacy described in this document. There is a trade-off between the privacy
considerations and the utility of the data. For protection, this considerations and the utility of the data. For protection, this
specification requires all retrieval of data passed by reference to specification requires all retrieval of data passed by reference to
be protected against eavesdropping and alteration via communication be protected against eavesdropping and alteration via communication
security techniques (namely TLS). Furthermore, security safeguards security techniques (namely TLS). Furthermore, security safeguards
are required to prevent unauthorized access to stored data. Various are required to prevent unauthorized access to stored data. Various
security incidents over at least the past few decades have shown that security incidents over at least the past few decades have shown that
data breaches are not uncommon and are often caused by lack of proper data breaches are not uncommon and are often caused by lack of proper
access control frameworks, software bugs (such as buffer overflows), access control frameworks, software bugs (such as buffer overflows),
or missing input parsing (such as SQL injection attacks). The risks or missing input parsing (such as SQL injection attacks). The risks
of data breaches is increased with the obligation for emergency of data breaches have increased with the obligation for emergency
services to retain emergency call related data for extended periods services to retain emergency-call-related data for extended periods
(e.g., several years are the norm). (e.g., several years are the norm).
Finally, it is also worth highlighting the nature of the SIP Finally, it is also worth highlighting the nature of the SIP
communication architecture, which introduces additional complications communication architecture, which introduces additional complications
for privacy. Some forms of data can be sent by value in the SIP for privacy. Some forms of data can be sent by value in the SIP
signaling or by reference (a URL in the SIP signaling). When data is signaling or by reference (a URL in the SIP signaling). When data is
sent by value, all intermediaries have access to the data. As such, sent by value, all intermediaries have access to the data. As such,
these intermediaries could also introduce additional privacy risk. these intermediaries could also introduce additional privacy risk.
Therefore, in situations where the conveyed information is privacy- Therefore, in situations where the conveyed information is privacy
sensitive and intermediaries are involved, transmitting by reference sensitive and intermediaries are involved, transmitting by reference
might be appropriate, assuming the source of the data can operate a might be appropriate, assuming the source of the data can operate a
sufficient dereferencing infrastructure and that proper access sufficient dereferencing infrastructure and that proper access
control policies are available for distinguishing the different control policies are available for distinguishing the different
entities dereferencing the reference. Without access control entities dereferencing the reference. Without access control
policies any party in possession of the reference is able to resolve policies, any party in possession of the reference is able to resolve
the reference and to obtain the data, including intermediaries. the reference and to obtain the data, including intermediaries.
11. IANA Considerations 11. IANA Considerations
11.1. Emergency Call Additional Data Registry 11.1. Emergency Call Additional Data Registry
This document creates a new registry called 'Emergency Call This document creates a new registry called 'Emergency Call
Additional Data' with a number of sub-registries. Additional Data' with a number of sub-registries.
For several of the sub-registries, "Expert Review" is the criteria For several of the sub-registries, "Expert Review" is the criteria
for adding new entries. As discussed in Section 5, it can be for adding new entries. As discussed in Section 5, it can be
counterproductive to register new types of data, and as discussed in counterproductive to register new types of data, and as discussed in
Section 10, data sent as part of an emergency call can be very Section 10, data sent as part of an emergency call can be very
privacy-sensitive. In some cases, it is anticipated that various privacy sensitive. In some cases, it is anticipated that various
standards bodies dealing with emergency services might need to standards bodies dealing with emergency services might need to
register new values, and in those cases text below advises the register new values, and in those cases, text below advises the
designed expert to verify that the entity requesting the registration designed expert to verify that the entity requesting the registration
is relevant (e.g., a recognized emergency services related SDO). In is relevant (e.g., a recognized emergency-services-related Standards
other cases, especially those where the trade-off between the Development Organization (SDO)). In other cases, especially those
potential benefit versus danger of new registrations is more where the trade-off between the potential benefit versus danger of
conservative (such as Section 11.1.9), "Specification Required" is new registrations is more conservative (such as Section 11.1.9),
the criteria, which is a higher hurdle and also implicitly includes "Specification Required" is the criteria, which is a higher hurdle
an expert review. and also implicitly includes an "Expert Review".
The following sub-registries are created for this registry. The following sub-registries are created for this registry.
11.1.1. Provider ID Series Registry 11.1.1. Provider ID Series Registry
This document creates a new sub-registry called "Provider ID Series". This document creates a new sub-registry called "Provider ID Series".
As defined in [RFC5226], this registry operates under "Expert Review" As defined in [RFC5226], this registry operates under "Expert Review"
rules. The expert should determine that the entity requesting a new rules. The expert should determine that the entity requesting a new
value is a legitimate issuer of service provider IDs suitable for use value is a legitimate issuer of service provider IDs suitable for use
in Additional Call Data. in Additional Call Data.
Private entities issuing or using internally-generated IDs are Private entities issuing or using internally generated IDs are
encouraged to register here and to ensure that all IDs they issue or encouraged to register here and to ensure that all IDs they issue or
use are unique. This guarantees that IDs issued or used by the use are unique. This guarantees that IDs issued or used by the
entity are globally unique and distinguishable from other IDs issued entity are globally unique and distinguishable from other IDs issued
or used by the same or a different entity. (Some organizations, such or used by the same or a different entity. (Some organizations, such
as NENA, issue IDs that are unique among all IDs they issue, so an as NENA, issue IDs that are unique among all IDs they issue, so an
entity using a combination of its NENA ID and the fact that it is entity using a combination of its NENA ID and the fact that it is
from NENA is globally unique. Other entities might not have an ID from NENA is globally unique. Other entities might not have an ID
issued by an organization such as NENA, so they are permitted to use issued by an organization such as NENA, so they are permitted to use
their domain name, but if so, it needs to be unique.) their domain name, but if so, it needs to be unique.)
The content of this registry includes: The content of this registry includes:
Name: An identifier to be used in the 'ProviderIDSeries' element. Name: An identifier to be used in the 'ProviderIDSeries' element.
Source: The full name of the organization issuing the identifiers. Source: The full name of the organization issuing the identifiers.
URL: A URL to the organization for further information. URL: A URL to the organization for further information.
The initial set of values is listed in Figure 1. The initial set of values is listed in Figure 1.
skipping to change at page 68, line 20 skipping to change at page 68, line 15
URL: A URL to the organization for further information. URL: A URL to the organization for further information.
The initial set of values is listed in Figure 1. The initial set of values is listed in Figure 1.
11.1.2. Service Environment Registry 11.1.2. Service Environment Registry
This document creates a new sub-registry called "Service This document creates a new sub-registry called "Service
Environment". As defined in [RFC5226], this registry operates under Environment". As defined in [RFC5226], this registry operates under
"Expert Review" rules. The expert should determine that the entity "Expert Review" rules. The expert should determine that the entity
requesting a new value is relevant for this service element (e.g., a requesting a new value is relevant for this service element (e.g., a
recognized emergency services related SDO), and that the new value is recognized emergency-services-related SDO) and that the new value is
distinct from existing values, and its use is unambiguous. distinct from existing values, and its use is unambiguous.
The content of this registry includes: The content of this registry includes:
Token: The value to be used in the <ServiceEnvironment> element. Token: The value to be used in the <ServiceEnvironment> element.
Description: A short description of the value. Description: A short description of the value.
The initial set of values is listed in Figure 4. The initial set of values is listed in Figure 4.
11.1.3. Service Type Registry 11.1.3. Service Type Registry
This document creates a new sub-registry called "Service Type". As This document creates a new sub-registry called "Service Type". As
defined in [RFC5226], this registry operates under "Expert Review" defined in [RFC5226], this registry operates under "Expert Review"
rules. The expert should determine that the entity requesting a new rules. The expert should determine that the entity requesting a new
value is relevant for this service element (e.g., a recognized value is relevant for this service element (e.g., a recognized
emergency services related SDO) and that the requested value is emergency-services-related SDO) and that the requested value is
clearly distinct from other values so that there is no ambiguity as clearly distinct from other values so that there is no ambiguity as
to when the value is to be used or which value is to be used. to when the value is to be used or which value is to be used.
The content of this registry includes: The content of this registry includes:
Name: The value to be used in the <ServiceType> element. Name: The value to be used in the <ServiceType> element.
Description: A short description of the value. Description: A short description of the value.
The initial set of values is listed in Figure 5. The initial set of values is listed in Figure 5.
11.1.4. Service Mobility Registry 11.1.4. Service Mobility Registry
This document creates a new sub-registry called "Service Mobility". This document creates a new sub-registry called "Service Mobility".
As defined in [RFC5226], this registry operates under "Expert Review" As defined in [RFC5226], this registry operates under "Expert Review"
rules. The expert should determine that the entity requesting a new rules. The expert should determine that the entity requesting a new
value is relevant for this service element (e.g., a recognized value is relevant for this service element (e.g., a recognized
emergency services related SDO) and that the requested value is emergency-services-related SDO) and that the requested value is
clearly distinct from other values so that there is no ambiguity as clearly distinct from other values so that there is no ambiguity as
to when the value is to be used or which value is to be used. to when the value is to be used or which value is to be used.
The content of this registry includes: The content of this registry includes:
Token: The value used in the <ServiceMobility> element. Token: The value used in the <ServiceMobility> element.
Description: A short description of the value. Description: A short description of the value.
The initial set of values is listed in Figure 6. The initial set of values is listed in Figure 6.
11.1.5. Type of Provider Registry 11.1.5. Type of Provider Registry
This document creates a new sub-registry called "Type of Provider". This document creates a new sub-registry called "Type of Provider".
As defined in [RFC5226], this registry operates under "Expert As defined in [RFC5226], this registry operates under "Expert Review"
Review". The expert should determine that the proposed new value is rules. The expert should determine that the proposed new value is
distinct from existing values and appropriate for use in the distinct from existing values and appropriate for use in the
<TypeOfServicerProvider> element <TypeOfServicerProvider> element
The content of this registry includes: The content of this registry includes:
Token: The value used in the <TypeOfProvider> element. Token: The value used in the <TypeOfProvider> element.
Description: A short description of the type of service provider. Description: A short description of the type of service provider.
The initial set of values is defined in Figure 2. The initial set of values is defined in Figure 2.
11.1.6. Device Classification Registry 11.1.6. Device Classification Registry
This document creates a new sub-registry called 'Device This document creates a new sub-registry called "Device
Classification'. As defined in [RFC5226], this registry operates Classification". As defined in [RFC5226], this registry operates
under "Expert Review" rules. The expert should consider whether the under "Expert Review" rules. The expert should consider whether the
proposed class is unique from existing classes and the definition of proposed class is unique from existing classes, and the definition of
the class will be clear to implementors and PSAPs/responders. the class will be clear to implementors and PSAPs/responders.
The content of this registry includes: The content of this registry includes:
Token: Value used in the <DeviceClassification> element. Token: Value used in the <DeviceClassification> element.
Description: Short description identifying the device type. Description: Short description identifying the device type.
The initial set of values are defined in Figure 8. The initial set of values is defined in Figure 8.
11.1.7. Device ID Type Registry 11.1.7. Device ID Type Registry
This document creates a new sub-registry called "Device ID Type". As This document creates a new sub-registry called "Device ID Type". As
defined in [RFC5226], this registry operates under "Expert Review" defined in [RFC5226], this registry operates under "Expert Review"
rules. The expert should ascertain that the proposed type is well rules. The expert should ascertain that the proposed type is well
understood, and provides information which PSAPs and responders are understood and provides information that PSAPs and responders are
able to use to uniquely identify a device. (For example, a biometric able to use to uniquely identify a device. (For example, a biometric
fingerprint used to authenticate a device would not normally be fingerprint used to authenticate a device would not normally be used
useful by a PSAP or responder to identify a device.) by a PSAP or responder to identify a device.)
The content of this registry includes: The content of this registry includes:
Token: The value to be placed in the <TypeOfDeviceID> element. Token: The value to be placed in the <TypeOfDeviceID> element.
Description: Short description identifying the type of the device Description: Short description identifying the type of the device
ID. ID.
The initial set of values are defined in Figure 9. The initial set of values is defined in Figure 9.
11.1.8. Device/Service Data Type Registry 11.1.8. Device/Service Data Type Registry
This document creates a new sub-registry called "Device/Service Data This document creates a new sub-registry called "Device/Service Data
Type". As defined in [RFC5226], this registry operates under Type". As defined in [RFC5226], this registry operates under
"Specification Required" rules, which include an explicit expert "Specification Required" rules, which include an explicit "Expert
review. The designated expert should ascertain that the proposed Review". The designated expert should ascertain that the proposed
type is well understood, and provides information useful to PSAPs and type is well understood and provides information useful to PSAPs and
responders. The specification must contain a complete description of responders. The specification must contain a complete description of
the data, and a precise format specification suitable to allow the data and a precise format specification suitable to allow
interoperable implementations. interoperable implementations.
The content of this registry includes: The content of this registry includes:
Token: The value to be placed in the <DeviceSpecificType> element. Token: The value to be placed in the <DeviceSpecificType> element.
Description: Short description identifying the data. Description: Short description identifying the data.
Specification: Citation for the specification of the data. Specification: Citation for the specification of the data.
The initial set of values are listed in Figure 10. The initial set of values is listed in Figure 10.
11.1.9. Emergency Call Data Types Registry 11.1.9. Emergency Call Data Types Registry
This document creates a new sub-registry called 'Emergency Call Data This document creates a new sub-registry called "Emergency Call Data
Types'. As defined in [RFC5226], this registry operates under Types". As defined in [RFC5226], this registry operates under
"Specification Required" rules, which include an explicit expert "Specification Required" rules, which include an explicit "Expert
review. The expert is responsible for verifying that the document Review". The expert is responsible for verifying that the document
contains a complete and clear specification and the proposed contains a complete and clear specification, and the proposed
functionality does not obviously duplicate existing functionality. functionality does not obviously duplicate existing functionality.
The expert is also responsible for verifying that the block is The expert is also responsible for verifying that the block is
correctly categorized per the description of the categories in correctly categorized per the description of the categories in
Section 1. Section 1.
The registry contains an entry for every data block that can be sent The registry contains an entry for every data block that can be sent
with an emergency call using the mechanisms as specified in this with an emergency call using the mechanisms as specified in this
document. Each data block is identified by the "root" of its MIME document. Each data block is identified by the 'root' of its MIME
media subtype (which is the part after 'EmergencyCallData.'). If the media subtype (which is the part after 'EmergencyCallData.'). If the
MIME media subtype does not start with 'EmergencyCallData.', then it MIME media subtype does not start with 'EmergencyCallData.', then it
cannot be registered here nor used in a Call-Info header field as cannot be registered here nor used in a Call-Info header field as
specified in this document. The subtype MAY exist under any MIME specified in this document. The subtype MAY exist under any MIME
media type (although most commonly these are under 'Application/' media type (although most commonly under 'application/', this is NOT
this is NOT REQUIRED), however, to be added to the registry the REQUIRED); however, to be added to the registry, the 'root' needs to
"root" needs to be unique regardless of the MIME media type. be unique regardless of the MIME media type.
The content of this registry includes: The content of this registry includes:
Token: The root of the data's MIME media subtype (not including the Token: The root of the data's MIME media subtype (not including the
'EmergencyCallData' prefix and any suffix such as '+xml') 'EmergencyCallData' prefix and any suffix such as '+xml').
Data About: A hint as to if the block is considered descriptive of Data About: A hint as to if the block is considered descriptive of
the call, the caller, or the location (or is applicable to more the call, the caller, or the location (or is applicable to more
than one), which can help PSAPs and other entities determine if than one), which can help PSAPs and other entities determine if
they wish to process the block. Note that this is only a hint; they wish to process the block. Note that this is only a hint;
entities need to consider the block's contents, not just this entities need to consider the block's contents, not just this
field, when determining if they wish to process the block (which field, when determining if they wish to process the block (which
is why the field only exists in the registry, and is not contained is why the field only exists in the registry and is not contained
within the block). The value MUST be either "The Call", "The within the block). The value MUST be either 'The Call', 'The
Caller", "The Location", or "Multiple". New values are created by Caller', 'The Location', or 'Multiple'. New values are created by
extending this registry in a subsequent RFC. extending this registry in a subsequent RFC.
Reference: The document that describes the data object Reference: The document that describes the data object.
Note that the tokens in this registry are part of the Note that the tokens in this registry are part of the
'EmergencyCallData' compound value; when used as a value of the 'EmergencyCallData' compound value; when used as a value of the
'purpose' parameter of a Call-Info header field, the values listed in 'purpose' parameter of a Call-Info header field, the values listed in
this registry are prefixed by 'EmergencyCallData.' per the this registry are prefixed by 'EmergencyCallData.' per the
'EmergencyCallData' registration Section 11.2. 'EmergencyCallData' registration; see Section 11.2.
The initial set of values are listed in Figure 25. The initial set of values is listed in Figure 25.
+----------------+--------------+------------+ +----------------+--------------+------------+
| Token | Data About | Reference | | Token | Data About | Reference |
+----------------+--------------+------------+ +----------------+--------------+------------+
| ProviderInfo | The Call | [This RFC] | | ProviderInfo | The Call | RFC 7852 |
| ServiceInfo | The Call | [This RFC] | | ServiceInfo | The Call | RFC 7852 |
| DeviceInfo | The Call | [This RFC] | | DeviceInfo | The Call | RFC 7852 |
| SubscriberInfo | The Call | [This RFC] | | SubscriberInfo | The Call | RFC 7852 |
| Comment | The Call | [This RFC] | | Comment | The Call | RFC 7852 |
+----------------+--------------+------------+ +----------------+--------------+------------+
Figure 25: Additional Data Blocks Registry Figure 25: Additional Data Blocks Registry
11.2. 'EmergencyCallData' Purpose Parameter Value 11.2. 'EmergencyCallData' Purpose Parameter Value
This document defines the 'EmergencyCallData' value for the 'purpose' This document defines the 'EmergencyCallData' value for the 'purpose'
parameter of the Call-Info header field [RFC3261]. IANA has added parameter of the Call-Info header field [RFC3261]. IANA has added
this document to the list of references for the 'purpose' value of this document to the list of references for the 'purpose' value of
Call-Info in the Header Field Parameters and Parameter Values sub- Call-Info in the "Header Field Parameters and Parameter Values" sub-
registry of the Session Initiation Protocol (SIP) Parameters registry of the "Session Initiation Protocol (SIP) Parameters"
registry. Note that 'EmergencyCallData' is a compound value; when registry. Note that 'EmergencyCallData' is a compound value; when
used as a value of the 'purpose' parameter of a Call-Info header used as a value of the 'purpose' parameter of a Call-Info header
field, 'EmergencyCallData' is immediately followed by a dot ('.') and field, 'EmergencyCallData' is immediately followed by a dot ('.') and
a value from the 'Emergency Call Data Types' registry Section 11.1.9. a value from the "Emergency Call Data Types" registry; see
Section 11.1.9.
11.3. URN Sub-Namespace Registration for <provided-by> Registry Entry 11.3. URN Sub-Namespace Registration for <provided-by> Registry Entry
This section registers the namespace specified in Section 11.5.1 in This section registers the namespace specified in Section 11.5.1 in
the provided-by registry established by RFC 4119, for usage within the provided-by registry established by RFC 4119, for usage within
the <provided-by> element of a PIDF-LO. the <provided-by> element of a PIDF-LO.
The schema for the <provided-by> element used by this document is The schema for the <provided-by> element used by this document is
specified in Section 8.6. specified in Section 8.6.
11.4. MIME Registrations 11.4. MIME Registrations
11.4.1. MIME Content-type Registration for 'application/ 11.4.1. MIME Content-Type Registration for 'application/
EmergencyCallData.ProviderInfo+xml' EmergencyCallData.ProviderInfo+xml'
This specification requests the registration of a new MIME media type This specification requests the registration of a new MIME media type
according to the procedures of RFC 6838 [RFC6838] and guidelines in according to the procedures of RFC 6838 [RFC6838] and guidelines in
RFC 7303 [RFC7303]. RFC 7303 [RFC7303].
MIME media type name: application Type name: application
MIME media subtype name: EmergencyCallData.ProviderInfo+xml Subtype name: EmergencyCallData.ProviderInfo+xml
Mandatory parameters: N/A
Mandatory parameters: none
Optional parameters: charset (indicates the character encoding of Optional parameters: charset (indicates the character encoding of
the contents) the contents)
Encoding considerations: Uses XML, which can contain 8-bit Encoding considerations: Uses XML, which can contain 8-bit
characters, depending on the character encoding. See Section 3.2 characters, depending on the character encoding. See Section 3.2
of RFC 7303 [RFC7303]. of RFC 7303 [RFC7303].
Security considerations: This content type is designed to carry Security considerations: This content type is designed to carry
the data provider information, which is a sub-category of the data provider information, which is a sub-category of
additional data about an emergency call. Since this data can additional data about an emergency call. Since this data can
contain personal information, appropriate precautions are needed contain personal information, appropriate precautions are needed
to limit unauthorized access, inappropriate disclosure, and to limit unauthorized access, inappropriate disclosure, and
eavesdropping of personal information. Please refer to Section 9 eavesdropping of personal information. Please refer to Sections 9
and Section 10 for more information. and 10 for more information.
Interoperability considerations: None Interoperability considerations: N/A
Published specification: [TBD: This specification] Published specification: RFC 7852
Applications which use this media type: Emergency Services Applications that use this media type: Emergency Services
Additional information: Additional information:
Magic Number: None Magic Number: N/A
File Extension: .xml File Extension: .xml
Macintosh file type code: 'TEXT' Macintosh file type code: 'TEXT'
Person and email address for further information: Hannes Person and email address for further information:
Tschofenig, Hannes.Tschofenig@gmx.net Hannes Tschofenig, Hannes.Tschofenig@gmx.net
Intended usage: LIMITED USE Intended usage: LIMITED USE
Author: This specification is a work item of the IETF ECRIT Author: This specification is a work item of the IETF ECRIT
working group, with mailing list address <ecrit@ietf.org>. working group, with mailing list address <ecrit@ietf.org>.
Change controller: The IESG <iesg@ietf.org> Change controller: The IESG <iesg@ietf.org>
11.4.2. MIME Content-type Registration for 'application/ 11.4.2. MIME Content-Type Registration for 'application/
EmergencyCallData.ServiceInfo+xml' EmergencyCallData.ServiceInfo+xml'
This specification requests the registration of a new MIME media type This specification requests the registration of a new MIME media type
according to the procedures of RFC 6838 [RFC6838] and guidelines in according to the procedures of RFC 6838 [RFC6838] and guidelines in
RFC 7303 [RFC7303]. RFC 7303 [RFC7303].
MIME media type name: application Type name: application
MIME media subtype name: EmergencyCallData.ServiceInfo+xml
Mandatory parameters: none Subtype name: EmergencyCallData.ServiceInfo+xml
Mandatory parameters: N/A
Optional parameters: charset (indicates the character encoding of Optional parameters: charset (indicates the character encoding of
the contents) the contents)
Encoding considerations: Uses XML, which can contain 8-bit Encoding considerations: Uses XML, which can contain 8-bit
characters, depending on the character encoding. See Section 3.2 characters, depending on the character encoding. See Section 3.2
of RFC 7303 [RFC7303]. of RFC 7303 [RFC7303].
Security considerations: This content type is designed to carry Security considerations: This content type is designed to carry
the service information, which is a sub-category of additional the service information, which is a sub-category of additional
data about an emergency call. Since this data can contain data about an emergency call. Since this data can contain
personal information, appropriate precautions are needed to limit personal information, appropriate precautions are needed to limit
unauthorized access, inappropriate disclosure, and eavesdropping unauthorized access, inappropriate disclosure, and eavesdropping
of personal information. Please refer to Section 9 and Section 10 of personal information. Please refer to Sections 9 and 10 for
for more information. more information.
Interoperability considerations: None Interoperability considerations: N/A
Published specification: [TBD: This specification] Published specification: RFC 7852
Applications which use this media type: Emergency Services Applications that use this media type: Emergency Services
Additional information: Additional information:
Magic Number: None Magic Number: N/A
File Extension: .xml File Extension: .xml
Macintosh file type code: 'TEXT' Macintosh file type code: 'TEXT'
Person and email address for further information: Hannes Person and email address for further information:
Tschofenig, Hannes.Tschofenig@gmx.net Hannes Tschofenig, Hannes.Tschofenig@gmx.net
Intended usage: LIMITED USE Intended usage: LIMITED USE
Author: This specification is a work item of the IETF ECRIT Author: This specification is a work item of the IETF ECRIT
working group, with mailing list address <ecrit@ietf.org>. working group, with mailing list address <ecrit@ietf.org>.
Change controller: The IESG <iesg@ietf.org> Change controller: The IESG <iesg@ietf.org>
11.4.3. MIME Content-type Registration for 'application/ 11.4.3. MIME Content-Type Registration for 'application/
EmergencyCallData.DeviceInfo+xml' EmergencyCallData.DeviceInfo+xml'
This specification requests the registration of a new MIME media type This specification requests the registration of a new MIME media type
according to the procedures of RFC 6838 [RFC6838] and guidelines in according to the procedures of RFC 6838 [RFC6838] and guidelines in
RFC 7303 [RFC7303]. RFC 7303 [RFC7303].
MIME media type name: application Type name: application
MIME media subtype name: EmergencyCallData.DeviceInfo+xml Subtype name: EmergencyCallData.DeviceInfo+xml
Mandatory parameters: none Mandatory parameters: N/A
Optional parameters: charset (indicates the character encoding of Optional parameters: charset (indicates the character encoding of
the contents) the contents)
Encoding considerations: Uses XML, which can contain 8-bit Encoding considerations: Uses XML, which can contain 8-bit
characters, depending on the character encoding. See Section 3.2 characters, depending on the character encoding. See Section 3.2
of RFC 7303 [RFC7303]. of RFC 7303 [RFC7303].
Security considerations: This content type is designed to carry Security considerations: This content type is designed to carry
device information, which is a sub-category of additional data device information, which is a sub-category of additional data
about an emergency call. Since this data contains personal about an emergency call. Since this data contains personal
information, appropriate precautions need to be taken to limit information, appropriate precautions need to be taken to limit
unauthorized access, inappropriate disclosure to third parties, unauthorized access, inappropriate disclosure to third parties,
and eavesdropping of this information. Please refer to Section 9 and eavesdropping of this information. Please refer to Sections 9
and Section 10 for more information. and 10 for more information.
Interoperability considerations: None Interoperability considerations: N/A
Published specification: [TBD: This specification] Published specification: RFC 7852
Applications which use this media type: Emergency Services Applications that use this media type: Emergency Services
Additional information: Additional information:
Magic Number: None Magic Number: N/A
File Extension: .xml File Extension: .xml
Macintosh file type code: 'TEXT' Macintosh file type code: 'TEXT'
Person and email address for further information: Hannes Person and email address for further information:
Tschofenig, Hannes.Tschofenig@gmx.net Hannes Tschofenig, Hannes.Tschofenig@gmx.net
Intended usage: LIMITED USE Intended usage: LIMITED USE
Author: This specification is a work item of the IETF ECRIT Author: This specification is a work item of the IETF ECRIT
working group, with mailing list address <ecrit@ietf.org>. working group, with mailing list address <ecrit@ietf.org>.
Change controller: The IESG <iesg@ietf.org> Change controller: The IESG <iesg@ietf.org>
11.4.4. MIME Content-type Registration for 'application/ 11.4.4. MIME Content-Type Registration for 'application/
EmergencyCallData.SubscriberInfo+xml' EmergencyCallData.SubscriberInfo+xml'
This specification requests the registration of a new MIME media type This specification requests the registration of a new MIME media type
according to the procedures of RFC 6838 [RFC6838] and guidelines in according to the procedures of RFC 6838 [RFC6838] and guidelines in
RFC 7303 [RFC7303]. RFC 7303 [RFC7303].
MIME media type name: application Type name: application
MIME media subtype name: EmergencyCallData.SubscriberInfo+xml
Mandatory parameters: none Subtype name: EmergencyCallData.SubscriberInfo+xml
Mandatory parameters: N/A
Optional parameters: charset (indicates the character encoding of Optional parameters: charset (indicates the character encoding of
the contents) the contents)
Encoding considerations: Uses XML, which can contain 8-bit Encoding considerations: Uses XML, which can contain 8-bit
characters, depending on the character encoding. See Section 3.2 characters, depending on the character encoding. See Section 3.2
of RFC 7303 [RFC7303]. of RFC 7303 [RFC7303].
Security considerations: This content type is designed to carry Security considerations: This content type is designed to carry
owner/subscriber information, which is a sub-category of owner/subscriber information, which is a sub-category of
additional data about an emergency call. Since this data contains additional data about an emergency call. Since this data contains
personal information, appropriate precautions need to be taken to personal information, appropriate precautions need to be taken to
limit unauthorized access, inappropriate disclosure to third limit unauthorized access, inappropriate disclosure to third
parties, and eavesdropping of this information. Please refer to parties, and eavesdropping of this information. Please refer to
Section 9 and Section 10 for more information. Sections 9 and 10 for more information.
Interoperability considerations: None Interoperability considerations: N/A
Published specification: [TBD: This specification] Published specification: RFC 7852
Applications which use this media type: Emergency Services Applications that use this media type: Emergency Services
Additional information: Additional information:
Magic Number: None Magic Number: N/A
File Extension: .xml File Extension: .xml
Macintosh file type code: 'TEXT' Macintosh file type code: 'TEXT'
Person and email address for further information: Hannes Person and email address for further information:
Tschofenig, Hannes.Tschofenig@gmx.net Hannes Tschofenig, Hannes.Tschofenig@gmx.net
Intended usage: LIMITED USE Intended usage: LIMITED USE
Author: This specification is a work item of the IETF ECRIT Author: This specification is a work item of the IETF ECRIT
working group, with mailing list address <ecrit@ietf.org>. working group, with mailing list address <ecrit@ietf.org>.
Change controller: The IESG <iesg@ietf.org> Change controller: The IESG <iesg@ietf.org>
11.4.5. MIME Content-type Registration for 'application/ 11.4.5. MIME Content-Type Registration for 'application/
EmergencyCallData.Comment+xml' EmergencyCallData.Comment+xml'
This specification requests the registration of a new MIME media type This specification requests the registration of a new MIME media type
according to the procedures of RFC 6838 [RFC6838] and guidelines in according to the procedures of RFC 6838 [RFC6838] and guidelines in
RFC 7303 [RFC7303]. RFC 7303 [RFC7303].
MIME media type name: application Type name: application
Subtype name: EmergencyCallData.Comment+xml
MIME media subtype name: EmergencyCallData.Comment+xml
Mandatory parameters: none Mandatory parameters: N/A
Optional parameters: charset (indicates the character encoding of Optional parameters: charset (indicates the character encoding of
the contents) the contents)
Encoding considerations: Uses XML, which can contain 8-bit Encoding considerations: Uses XML, which can contain 8-bit
characters, depending on the character encoding. See Section 3.2 characters, depending on the character encoding. See Section 3.2
of RFC 7303 [RFC7303]. of RFC 7303 [RFC7303].
Security considerations: This content type is designed to carry a Security considerations: This content type is designed to carry a
comment, which is a sub-category of additional data about an comment, which is a sub-category of additional data about an
emergency call. This data can contain personal information. emergency call. This data can contain personal information.
Appropriate precautions are needed to limit unauthorized access, Appropriate precautions are needed to limit unauthorized access,
inappropriate disclosure to third parties, and eavesdropping of inappropriate disclosure to third parties, and eavesdropping of
this information. Please refer to Section 9 and Section 10 for this information. Please refer to Sections 9 and 10 for more
more information. information.
Interoperability considerations: None Interoperability considerations: N/A
Published specification: [TBD: This specification] Published specification: RFC 7852
Applications which use this media type: Emergency Services Applications that use this media type: Emergency Services
Additional information: Additional information:
Magic Number: None Magic Number: N/A
File Extension: .xml File Extension: .xml
Macintosh file type code: 'TEXT' Macintosh file type code: 'TEXT'
Person and email address for further information: Hannes Person and email address for further information:
Tschofenig, Hannes.Tschofenig@gmx.net Hannes Tschofenig, Hannes.Tschofenig@gmx.net
Intended usage: LIMITED USE Intended usage: LIMITED USE
Author: This specification is a work item of the IETF ECRIT Author: This specification is a work item of the IETF ECRIT
working group, with mailing list address <ecrit@ietf.org>. working group, with mailing list address <ecrit@ietf.org>.
Change controller: The IESG <iesg@ietf.org> Change controller: The IESG <iesg@ietf.org>
11.5. URN Sub-Namespace Registration 11.5. URN Sub-Namespace Registration
skipping to change at page 78, line 43 skipping to change at page 78, line 30
<?xml version="1.0"?> <?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"> "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="content-type" <meta http-equiv="content-type"
content="text/html;charset=iso-8859-1"/> content="text/html;charset=iso-8859-1"/>
<title>Namespace for Additional Emergency Call Data</title> <title>Namespace for Additional Emergency Call Data</title>
</head> </head>
<body> <body>
<h1>Namespace for Additional Data related to an Emergency Call <h1>Namespace for Additional Data Related to an Emergency Call
</h1> </h1>
<p>See [TBD: This document].</p> <p>See <a href="http://www.rfc-editor.org/rfc/rfc7852.txt">
RFC 7852</a>.</p>
</body> </body>
</html> </html>
END END
11.5.2. Registration for 11.5.2. Registration for
urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo
This section registers a new XML namespace, as per the guidelines in This section registers a new XML namespace, as per the guidelines in
RFC 3688 [RFC3688]. RFC 3688 [RFC3688].
skipping to change at page 79, line 30 skipping to change at page 79, line 19
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"> "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="content-type" <meta http-equiv="content-type"
content="text/html;charset=iso-8859-1"/> content="text/html;charset=iso-8859-1"/>
<title>Namespace for Additional Emergency Call Data: <title>Namespace for Additional Emergency Call Data:
Data Provider Information</title> Data Provider Information</title>
</head> </head>
<body> <body>
<h1>Namespace for Additional Data related to an Emergency Call <h1>Namespace for Additional Data Related to an Emergency Call
</h1> </h1>
<h2>Data Provider Information</h2> <h2>Data Provider Information</h2>
<p>See [TBD: This document].</p> <p>See <a href="http://www.rfc-editor.org/rfc/rfc7852.txt">
RFC 7852</a>.</p>
</body> </body>
</html> </html>
END END
11.5.3. Registration for 11.5.3. Registration for
urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo
This section registers a new XML namespace, as per the guidelines in This section registers a new XML namespace, as per the guidelines in
RFC 3688 [RFC3688]. RFC 3688 [RFC3688].
skipping to change at page 80, line 17 skipping to change at page 80, line 4
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"> "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="content-type" <meta http-equiv="content-type"
content="text/html;charset=iso-8859-1"/> content="text/html;charset=iso-8859-1"/>
<title>Namespace for Additional Emergency Call Data: <title>Namespace for Additional Emergency Call Data:
Service Information</title> Service Information</title>
</head> </head>
<body> <body>
<h1>Namespace for Additional Data related to an Emergency Call <h1>Namespace for Additional Data Related to an Emergency Call
</h1> </h1>
<h2>Service Information</h2> <h2>Service Information</h2>
<p>See [TBD: This document].</p> <p>See <a href="http://www.rfc-editor.org/rfc/rfc7852.txt">
RFC 7852</a>.</p>
</body> </body>
</html> </html>
END END
11.5.4. Registration for 11.5.4. Registration for
urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo
This section registers a new XML namespace, as per the guidelines in This section registers a new XML namespace, as per the guidelines in
RFC 3688 [RFC3688]. RFC 3688 [RFC3688].
skipping to change at page 81, line 17 skipping to change at page 80, line 38
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"> "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="content-type" <meta http-equiv="content-type"
content="text/html;charset=iso-8859-1"/> content="text/html;charset=iso-8859-1"/>
<title>Namespace for Additional Emergency Call Data: <title>Namespace for Additional Emergency Call Data:
Device Information</title> Device Information</title>
</head> </head>
<body> <body>
<h1>Namespace for Additional Data related to an Emergency Call <h1>Namespace for Additional Data Related to an Emergency Call
</h1> </h1>
<h2>Device Information</h2> <h2>Device Information</h2>
<p>See [TBD: This document].</p> <p>See <a href="http://www.rfc-editor.org/rfc/rfc7852.txt">
RFC 7852</a>.</p>
</body> </body>
</html> </html>
END END
11.5.5. Registration for 11.5.5. Registration for
urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo
This section registers a new XML namespace, as per the guidelines in This section registers a new XML namespace, as per the guidelines in
RFC 3688 [RFC3688]. RFC 3688 [RFC3688].
skipping to change at page 82, line 17 skipping to change at page 81, line 30
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"> "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="content-type" <meta http-equiv="content-type"
content="text/html;charset=iso-8859-1"/> content="text/html;charset=iso-8859-1"/>
<title>Namespace for Additional Emergency Call Data: <title>Namespace for Additional Emergency Call Data:
Owner/Subscriber Information</title> Owner/Subscriber Information</title>
</head> </head>
<body> <body>
<h1>Namespace for Additional Data related to an Emergency Call <h1>Namespace for Additional Data Related to an Emergency Call
</h1> </h1>
<h2> Owner/Subscriber Information</h2> <h2> Owner/Subscriber Information</h2>
<p>See [TBD: This document].</p> <p>See <a href="http://www.rfc-editor.org/rfc/rfc7852.txt">
RFC 7852</a>.</p>
</body> </body>
</html> </html>
END END
11.5.6. Registration for 11.5.6. Registration for
urn:ietf:params:xml:ns:EmergencyCallData:Comment urn:ietf:params:xml:ns:EmergencyCallData:Comment
This section registers a new XML namespace, as per the guidelines in This section registers a new XML namespace, as per the guidelines in
RFC 3688 [RFC3688]. RFC 3688 [RFC3688].
skipping to change at page 83, line 17 skipping to change at page 82, line 19
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"> "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="content-type" <meta http-equiv="content-type"
content="text/html;charset=iso-8859-1"/> content="text/html;charset=iso-8859-1"/>
<title>Namespace for Additional Emergency Call Data:Comment <title>Namespace for Additional Emergency Call Data:Comment
</title> </title>
</head> </head>
<body> <body>
<h1>Namespace for Additional Data related to an Emergency Call <h1>Namespace for Additional Data Related to an Emergency Call
</h1> </h1>
<h2> Comment</h2> <h2> Comment</h2>
<p>See [TBD: This document].</p> <p>See <a href="http://www.rfc-editor.org/rfc/rfc7852.txt">
RFC 7852</a>.</p>
</body> </body>
</html> </html>
END END
11.6. Schema Registrations 11.6. Schema Registrations
This specification registers the following schemas, as per the This specification registers the following schemas, as per the
guidelines in RFC 3688 [RFC3688]. guidelines in RFC 3688 [RFC3688].
Name: Provided-by Schema ID: EmergencyCallData
URI: urn:ietf:params:xml:schema:EmergencyCallData URI: urn:ietf:params:xml:schema:EmergencyCallData
Registrant Contact: IETF, ECRIT Working Group (ecrit@ietf.org), as Registrant Contact: IETF, ECRIT Working Group (ecrit@ietf.org), as
delegated by the IESG (iesg@ietf.org). delegated by the IESG (iesg@ietf.org).
XML: The XML schema can be found in Section 8.6. XML: The XML schema can be found in Section 8.6.
Name: ProviderInfo Schema ID: EmergencyCallData:ProviderInfo
URI: urn:ietf:params:xml:schema:EmergencyCallData:ProviderInfo
URI: urn:ietf:params:xml:schema:emergencycalldata:ProviderInfo Registrant Contact: IETF, ECRIT working group (ecrit@ietf.org), as
Registrant Contact: IETF, ECRIT Working Group (ecrit@ietf.org), as
delegated by the IESG (iesg@ietf.org). delegated by the IESG (iesg@ietf.org).
XML: The XML schema can be found in Figure 19. XML: The XML schema can be found in Figure 19.
Name: ServiceInfo Schema ID: EmergencyCallData:ServiceInfo
URI: urn:ietf:params:xml:schema:EmergencyCallData:ServiceInfo
URI: urn:ietf:params:xml:schema:emergencycalldata:ServiceInfo Registrant Contact: IETF, ECRIT working group (ecrit@ietf.org), as
Registrant Contact: IETF, ECRIT Working Group (ecrit@ietf.org), as
delegated by the IESG (iesg@ietf.org). delegated by the IESG (iesg@ietf.org).
XML: The XML schema can be found in Figure 20. XML: The XML schema can be found in Figure 20.
Name: DeviceInfo Schema ID: EmergencyCallData:DeviceInfo
URI: urn:ietf:params:xml:schema:EmergencyCallData:DeviceInfo
URI: urn:ietf:params:xml:schema:emergencycalldata:DeviceInfo Registrant Contact: IETF, ECRIT working group (ecrit@ietf.org), as
Registrant Contact: IETF, ECRIT Working Group (ecrit@ietf.org), as
delegated by the IESG (iesg@ietf.org). delegated by the IESG (iesg@ietf.org).
XML: The XML schema can be found in Figure 21. XML: The XML schema can be found in Figure 21.
Name: SubscriberInfo Schema ID: EmergencyCallData:SubscriberInfo
URI: urn:ietf:params:xml:schema:EmergencyCallData:SubscriberInfo
URI: urn:ietf:params:xml:schema:emergencycalldata:SubscriberInfo Registrant Contact: IETF, ECRIT working group (ecrit@ietf.org), as
Registrant Contact: IETF, ECRIT Working Group (ecrit@ietf.org), as
delegated by the IESG (iesg@ietf.org). delegated by the IESG (iesg@ietf.org).
XML: The XML schema can be found in Section 8.4. XML: The XML schema can be found in Section 8.4.
Name: Comment Schema ID: EmergencyCallData:Comment
URI: urn:ietf:params:xml:schema:EmergencyCallData:Comment
URI: urn:ietf:params:xml:schema:emergencycalldata:comment Registrant Contact: IETF, ECRIT working group (ecrit@ietf.org), as
Registrant Contact: IETF, ECRIT Working Group (ecrit@ietf.org), as
delegated by the IESG (iesg@ietf.org). delegated by the IESG (iesg@ietf.org).
XML: The XML schema can be found in Section 8.5. XML: The XML schema can be found in Section 8.5.
Name: Additional Data VCard Schema ID: vcard-4.0
URI: urn:ietf:params:xml:ns:vcard-4.0 URI: urn:ietf:params:xml:ns:vcard-4.0
Registrant Contact: IETF, ECRIT Working Group (ecrit@ietf.org), as Registrant Contact: IETF, ECRIT Working Group (ecrit@ietf.org), as
delegated by the IESG (iesg@ietf.org). delegated by the IESG (iesg@ietf.org).
XML: The XML schema can be found in Appendix A. XML: The XML schema can be found in Appendix A.
11.7. VCard Parameter Value Registration 11.7. vCard Parameter Value Registration
This document registers a new value in the vCARD Parameter Values This document registers a new value in the "vCard Parameter Values"
registry as defined by [RFC6350] with the following template: registry as defined by [RFC6350] with the following template:
Value: main Value: main-number
Purpose: The main telephone number, typically of an enterprise, as Purpose: The main telephone number, typically of an enterprise, as
opposed to a direct dial number of an individual employee opposed to a direct-dial number of an individual employee
Conformance: This value can be used with the "TYPE" parameter Conformance: This value can be used with the 'TYPE' parameter
applied on the "TEL" property. applied on the 'TEL' property
Example(s): TEL;VALUE=uri;TYPE="main,voice";PREF=1:tel:+1-418-656-90 Example(s): TEL;VALUE=uri;TYPE="main,voice";PREF=1:tel:+1-418-656-90
00 00
12. Acknowledgments 12. References
This work was originally started in NENA and has benefited 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. Amursana Khiyod, Robert Sherry, Frank
Rahoi, Scott Ross, and Tom Klepetka provided valuable feedback
regarding the vCard/xCard use in this specification.
We would also like to thank Paul Kyzivat, Gunnar Hellstrom, Martin
Thomson, Keith Drage, Laura Liess, Chris Santer, Barbara Stark, Chris
Santer, Archie Cobbs, Magnus Nystrom, Stephen Farrell, Amanda Baber,
Dan Banks, Andrew Newton, Philip Reichl, and Francis Dupont for their
review comments. Alissa Cooper, Guy Caron, Ben Campbell, and Barry
Leiba deserves special mention for their detailed and extensive
review comments, which were very helpful and appreciated.
13. References
13.1. Normative References 12.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
[RFC2392] Levinson, E., "Content-ID and Message-ID Uniform Resource [RFC2392] Levinson, E., "Content-ID and Message-ID Uniform Resource
Locators", RFC 2392, DOI 10.17487/RFC2392, August 1998, Locators", RFC 2392, DOI 10.17487/RFC2392, August 1998,
<http://www.rfc-editor.org/info/rfc2392>. <http://www.rfc-editor.org/info/rfc2392>.
skipping to change at page 87, line 14 skipping to change at page 85, line 35
[RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type [RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type
Specifications and Registration Procedures", BCP 13, Specifications and Registration Procedures", BCP 13,
RFC 6838, DOI 10.17487/RFC6838, January 2013, RFC 6838, DOI 10.17487/RFC6838, January 2013,
<http://www.rfc-editor.org/info/rfc6838>. <http://www.rfc-editor.org/info/rfc6838>.
[RFC7303] Thompson, H. and C. Lilley, "XML Media Types", RFC 7303, [RFC7303] Thompson, H. and C. Lilley, "XML Media Types", RFC 7303,
DOI 10.17487/RFC7303, July 2014, DOI 10.17487/RFC7303, July 2014,
<http://www.rfc-editor.org/info/rfc7303>. <http://www.rfc-editor.org/info/rfc7303>.
13.2. Informational References 12.2. Informative References
[ECRIT-WG-wiki] [ECRIT-WG-wiki]
IETF, "ECRIT WG Wiki"", July 2015, IETF ECRIT WG Wiki, "Additional Data Examples", July 2015,
<http://tools.ietf.org/wg/ecrit/trac/attachment/wiki/ <http://tools.ietf.org/wg/ecrit/trac/attachment/wiki/
WikiStart/additional-data-examples.zip>. WikiStart/additional-data-examples.zip>.
[I-D.ietf-slim-negotiating-human-language] [Err3047] RFC Errata, Erratum ID 3047, RFC 6351.
[HUMAN-LANG]
Gellens, R., "Negotiating Human Language in Real-Time Gellens, R., "Negotiating Human Language in Real-Time
Communications", draft-ietf-slim-negotiating-human- Communications", Work in Progress, draft-ietf-slim-
language-01 (work in progress), March 2016. negotiating-human-language-04, July 2016.
[IANA-XML-Schemas] [IANA-XML-Schemas]
IANA, "IANA XML Schemas"", July 2015, IANA, "IETF XML Registry",
<http://www.iana.org/assignments/xml-registry/ <http://www.iana.org/assignments/xml-registry>.
xml-registry.xhtml#schema>.
[IEEE-1512-2006] [IEEE-1512-2006]
IEEE, "1512-2006 - IEEE Standard for Common Incident IEEE, "IEEE Standard for Common Incident Management
Management Message Sets for Use by Emergency Management Message Sets for Use by Emergency Management Centers",
Centers", Jun 2006, <https://standards.ieee.org/findstds/ IEEE Std 1512-2006, DOI 10.1109/IEEESTD.2006.224678,
August 2006, <https://standards.ieee.org/findstds/
standard/1512-2006.html>. standard/1512-2006.html>.
[LanguageTagRegistry] [LanguageSubtagRegistry]
IANA, "Language Subtag Registry", Feb 2015, IANA, "Language Subtag Registry",
<http://www.iana.org/assignments/language-subtag-registry/ <http://www.iana.org/assignments/
language-subtag-registry>. language-subtag-registry>.
[LERG] Telcordia Technologies, Inc., "Local Exchange Routing [LERG] Telcordia Technologies, Inc., "LERG Routing Guide", ANI
Guide (LERG)", ANI II Digits Definitions , June 2015. II Digits Definitions, June 2015.
[NANP] North American Numbering Plan Administration, "ANI II [NANP] North American Numbering Plan Administration (NANPA), "ANI
Digits Assignments", September 2015, II Digits Assignments", September 2015,
<http://nanpa.com/number_resource_info/ <http://nanpa.com/number_resource_info/
ani_ii_assignments.html>. ani_ii_assignments.html>.
[nc911] North Carolina 911 Board, "North Carolina Telecommunicator [nc911] North Carolina 911 Board, "Wireless 911 for
Reference", January 2009, <https://www.nc911.nc.gov/pdf/ Telecommunicators", January 2009,
<https://www.nc911.nc.gov/pdf/
A_TelecommunicatorReference.pdf>. A_TelecommunicatorReference.pdf>.
[NENA-02-010] [NENA-02-010]
National Emergency Number Association (NENA), "NENA National Emergency Number Association (NENA), "NENA
Standard Data Formats for 9-1-1 Data Exchange & GIS Standard Data Formats for 9-1-1 Data Exchange & GIS
Mapping", NENA Standard 02-010, December 2010, Mapping", NENA-02-010, Version 9, December 2010,
<http://www.nena.org>. <http://www.nena.org>.
[RFC3325] Jennings, C., Peterson, J., and M. Watson, "Private [RFC3325] Jennings, C., Peterson, J., and M. Watson, "Private
Extensions to the Session Initiation Protocol (SIP) for Extensions to the Session Initiation Protocol (SIP) for
Asserted Identity within Trusted Networks", RFC 3325, Asserted Identity within Trusted Networks", RFC 3325,
DOI 10.17487/RFC3325, November 2002, DOI 10.17487/RFC3325, November 2002,
<http://www.rfc-editor.org/info/rfc3325>. <http://www.rfc-editor.org/info/rfc3325>.
[RFC3840] Rosenberg, J., Schulzrinne, H., and P. Kyzivat, [RFC3840] Rosenberg, J., Schulzrinne, H., and P. Kyzivat,
"Indicating User Agent Capabilities in the Session "Indicating User Agent Capabilities in the Session
skipping to change at page 89, line 48 skipping to change at page 89, line 5
Patel, "Public Safety Answering Point (PSAP) Callback", Patel, "Public Safety Answering Point (PSAP) Callback",
RFC 7090, DOI 10.17487/RFC7090, April 2014, RFC 7090, DOI 10.17487/RFC7090, April 2014,
<http://www.rfc-editor.org/info/rfc7090>. <http://www.rfc-editor.org/info/rfc7090>.
[RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre,
"Recommendations for Secure Use of Transport Layer "Recommendations for Secure Use of Transport Layer
Security (TLS) and Datagram Transport Layer Security Security (TLS) and Datagram Transport Layer Security
(DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May
2015, <http://www.rfc-editor.org/info/rfc7525>. 2015, <http://www.rfc-editor.org/info/rfc7525>.
13.3. URIs
[1] http://www.nena.org/?page=cid2014
[2] http://www.nena.org/?page=CompanyID
Appendix A. XML Schema for vCard/xCard Appendix A. XML Schema for vCard/xCard
This section contains the vCard/xCard XML schema version of the Relax This section contains the vCard/xCard XML schema version of the Relax
NG schema defined in RFC 6351 [RFC6351] for use with the XML schemas NG schema defined in RFC 6351 [RFC6351] for use with the XML schemas
defined in this document. In addition to mapping the Relax NG schema defined in this document. In addition to mapping the Relax NG schema
to an XML schema this specification furthermore applies an errata to an XML schema, this specification applies an erratum raised for
raised for RFC 6351 regarding the type definition (see RFC Errata ID: RFC 6351 regarding the type definition; see RFC Erratum ID 3047
3047). [Err3047].
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <xs:schema
elementFormDefault="qualified" targetNamespace="urn:ietf:params:xml:ns:vcard-4.0"
targetNamespace="urn:ietf:params:xml:ns:vcard-4.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ns1="urn:ietf:params:xml:ns:vcard-4.0"> xmlns:ns1="urn:ietf:params:xml:ns:vcard-4.0"
elementFormDefault="qualified">
<!-- <!--
3.3 3.3
iana-token = xsd:string { pattern = "[a-zA-Z0-9-]+" } iana-token = xsd:string { pattern = "[a-zA-Z0-9-]+" }
x-name = xsd:string { pattern = "x-[a-zA-Z0-9-]+" } x-name = xsd:string { pattern = "x-[a-zA-Z0-9-]+" }
--> -->
<xs:simpleType name="iana-token"> <xs:simpleType name="iana-token">
<xs:annotation> <xs:annotation>
<xs:documentation>vCard Format Specification <xs:documentation>Section 3.3: vCard Format Specification
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:restriction base="xs:string"/> <xs:restriction base="xs:string"/>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="x-name"> <xs:simpleType name="x-name">
<xs:restriction base="xs:string"/> <xs:restriction base="xs:string"/>
</xs:simpleType> </xs:simpleType>
<!-- <!--
4.1 4.1
--> -->
<xs:element name="text" type="xs:string"/> <xs:element name="text" type="xs:string"/>
<xs:group name="value-text-list"> <xs:group name="value-text-list">
<xs:sequence> <xs:sequence>
<xs:element maxOccurs="unbounded" ref="ns1:text"/> <xs:element ref="ns1:text" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<!-- 4.2 --> <!-- 4.2 -->
<xs:element name="uri" type="xs:anyURI"/> <xs:element name="uri" type="xs:anyURI"/>
<!-- 4.3.1 --> <!-- 4.3.1 -->
<xs:element name="date" <xs:element name="date"
substitutionGroup="ns1:value-date-and-or-time"> substitutionGroup="ns1:value-date-and-or-time">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:pattern value= <xs:pattern
"\d{8}|\d{4}-\d\d|--\d\d(\d\d)?|---\d\d"/> value="\d{8}|\d{4}-\d\d|--\d\d(\d\d)?|---\d\d"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
<!-- 4.3.2 --> <!-- 4.3.2 -->
<xs:element name="time" <xs:element name="time"
substitutionGroup="ns1:value-date-and-or-time"> substitutionGroup="ns1:value-date-and-or-time">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:pattern value= <xs:pattern value=
"(\d\d(\d\d(\d\d)?)?|-\d\d(\d\d?)|--\d\d)(Z|[+\-]\d\d(\d\d)?)?"/> "(\d\d(\d\d(\d\d)?)?|-\d\d(\d\d?)|--\d\d)(Z|[+\-]\d\d(\d\d)?)?"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
<!-- 4.3.3 --> <!-- 4.3.3 -->
<xs:element name="date-time" <xs:element name="date-time"
substitutionGroup="ns1:value-date-and-or-time"> substitutionGroup="ns1:value-date-and-or-time">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:pattern value= <xs:pattern value=
"(\d{8}|--\d{4}|---\d\d)T\d\d(\d\d(\d\d)?)?(Z|[+\-]\d\d(\d\d)?)?"/> "(\d{8}|--\d{4}|---\d\d)T\d\d(\d\d(\d\d)?)?(Z|[+\-]\d\d(\d\d)?)?"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
<!-- 4.3.4 --> <!-- 4.3.4 -->
<xs:element name="value-date-and-or-time" abstract="true"/> <xs:element name="value-date-and-or-time" abstract="true"/>
<!-- 4.3.5 --> <!-- 4.3.5 -->
<xs:complexType name="value-timestamp"> <xs:complexType name="value-timestamp">
<xs:sequence> <xs:sequence>
<xs:element ref="ns1:timestamp"/> <xs:element ref="ns1:timestamp"/>
</xs:sequence> </xs:sequence>
skipping to change at page 92, line 14 skipping to change at page 91, line 12
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:pattern value="[+\-]\d\d(\d\d)?"/> <xs:pattern value="[+\-]\d\d(\d\d)?"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
<!-- 4.8 --> <!-- 4.8 -->
<xs:element name="language-tag"> <xs:element name="language-tag">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:pattern <xs:pattern value=
value="([a-z]{2,3}((-[a-z]{3}){0,3})?|[a-z]{4,8}) "([a-z]{2,3}((-[a-z]{3}){0,3})?|[a-z]{4,8})(-[a-z]{4})?
(-[a-z]{4})?(-([a-z]{2}|\d{3}))?(-([0-9a-z]{5,8}| (-([a-z]{2}|\d{3}))?(-([0-9a-z]{5,8}|\d[0-9a-z]{3}))*
\d[0-9a-z]{3}))*(-[0-9a-wyz](-[0-9a-z]{2,8})+)* (-[0-9a-wyz](-[0-9a-z]{2,8})+)*(-x(-[0-9a-z]{1,8})+)?
(-x(-[0-9a-z]{1,8})+)?|x(-[0-9a-z]{1,8})+|[a-z]{1,3} |x(-[0-9a-z]{1,8})+|[a-z]{1,3}(-[0-9a-z]{2,8}){1,2}"/>
(-[0-9a-z]{2,8}){1,2}"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
<!-- <!--
5.1 5.1
--> -->
<xs:group name="param-language"> <xs:group name="param-language">
<xs:annotation> <xs:annotation>
<xs:documentation>Section 5: Parameters</xs:documentation> <xs:documentation>Section 5: Parameters</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" ref="ns1:language"/> <xs:element ref="ns1:language" minOccurs="0"/>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<xs:element name="language"> <xs:element name="language">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="ns1:language-tag"/> <xs:element ref="ns1:language-tag"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 5.2 --> <!-- 5.2 -->
<xs:group name="param-pref"> <xs:group name="param-pref">
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" ref="ns1:pref"/> <xs:element ref="ns1:pref" minOccurs="0"/>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<xs:element name="pref"> <xs:element name="pref">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="integer"> <xs:element name="integer">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:integer"> <xs:restriction base="xs:integer">
<xs:minInclusive value="1"/> <xs:minInclusive value="1"/>
<xs:maxInclusive value="100"/> <xs:maxInclusive value="100"/>
skipping to change at page 93, line 8 skipping to change at page 92, line 4
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<xs:element name="pref"> <xs:element name="pref">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="integer"> <xs:element name="integer">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:integer"> <xs:restriction base="xs:integer">
<xs:minInclusive value="1"/> <xs:minInclusive value="1"/>
<xs:maxInclusive value="100"/> <xs:maxInclusive value="100"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 5.4 --> <!-- 5.4 -->
<xs:group name="param-altid"> <xs:group name="param-altid">
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" ref="ns1:altid"/> <xs:element ref="ns1:altid" minOccurs="0"/>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<xs:element name="altid"> <xs:element name="altid">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 5.5 --> <!-- 5.5 -->
<xs:group name="param-pid"> <xs:group name="param-pid">
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" ref="ns1:pid"/> <xs:element ref="ns1:pid" minOccurs="0"/>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<xs:element name="pid"> <xs:element name="pid">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element maxOccurs="unbounded" name="text"> <xs:element name="text" maxOccurs="unbounded">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:pattern value="\d+(\.\d+)?"/> <xs:pattern value="\d+(\.\d+)?"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 5.6 --> <!-- 5.6 -->
<xs:group name="param-type"> <xs:group name="param-type">
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" ref="ns1:type"/> <xs:element ref="ns1:type" minOccurs="0"/>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<xs:element name="type"> <xs:element name="type">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element maxOccurs="unbounded" name="text"> <xs:element name="text" maxOccurs="unbounded">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:token"> <xs:restriction base="xs:token">
<xs:enumeration value="work"/> <xs:enumeration value="work"/>
<xs:enumeration value="home"/> <xs:enumeration value="home"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 5.7 --> <!-- 5.7 -->
<xs:group name="param-mediatype"> <xs:group name="param-mediatype">
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" ref="ns1:mediatype"/> <xs:element ref="ns1:mediatype" minOccurs="0"/>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<xs:element name="mediatype"> <xs:element name="mediatype">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 5.8 --> <!-- 5.8 -->
<xs:group name="param-calscale"> <xs:group name="param-calscale">
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" ref="ns1:calscale"/> <xs:element ref="ns1:calscale" minOccurs="0"/>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<xs:element name="calscale"> <xs:element name="calscale">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="text"> <xs:element name="text">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:token"> <xs:restriction base="xs:token">
<xs:enumeration value="gregorian"/> <xs:enumeration value="gregorian"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 5.9 --> <!-- 5.9 -->
<xs:group name="param-sort-as"> <xs:group name="param-sort-as">
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" ref="ns1:sort-as"/> <xs:element ref="ns1:sort-as" minOccurs="0"/>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<xs:element name="sort-as"> <xs:element name="sort-as">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element maxOccurs="unbounded" ref="ns1:text"/> <xs:element ref="ns1:text" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 5.10 --> <!-- 5.10 -->
<xs:group name="param-geo"> <xs:group name="param-geo">
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="geo"> <xs:element name="geo" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<!-- 5.11 --> <!-- 5.11 -->
<xs:group name="param-tz"> <xs:group name="param-tz">
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="tz"> <xs:element name="tz" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:choice> <xs:choice>
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
</xs:choice> </xs:choice>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<!-- <!--
skipping to change at page 96, line 17 skipping to change at page 95, line 12
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.1.4 --> <!-- 6.1.4 -->
<xs:element name="kind"> <xs:element name="kind">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="text"> <xs:annotation>
<xs:simpleType> <xs:documentation>
<xs:union memberTypes="ns1:x-name ns1:iana-token"> The text value must be one of: individual, group, org,
<xs:simpleType> location or a ns1:x-name or a ns1:iana-token value
<xs:restriction base="xs:token"> </xs:documentation>
<xs:enumeration value="individual"/> </xs:annotation>
</xs:restriction> <xs:element name="text" type="xs:token"
</xs:simpleType> minOccurs="1" maxOccurs="1"/>
<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:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.2.1 --> <!-- 6.2.1 -->
<xs:element name="fn"> <xs:element name="fn">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-language"/> <xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.2.2 --> <!-- 6.2.2 -->
<xs:element name="n"> <xs:element name="n">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-language"/> <xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-sort-as"/> <xs:group ref="ns1:param-sort-as"/>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element maxOccurs="unbounded" ref="ns1:surname"/> <xs:element ref="ns1:surname"
<xs:element maxOccurs="unbounded" ref="ns1:given"/> minOccurs="0" maxOccurs="unbounded"/>
<xs:element maxOccurs="unbounded" ref="ns1:additional"/> <xs:element ref="ns1:given"
<xs:element maxOccurs="unbounded" ref="ns1:prefix"/> minOccurs="0" maxOccurs="unbounded"/>
<xs:element maxOccurs="unbounded" ref="ns1:suffix"/> <xs:element ref="ns1:additional"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ns1:prefix"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ns1:suffix"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="surname" type="xs:string"/> <xs:element name="surname" type="xs:string"/>
<xs:element name="given" type="xs:string"/> <xs:element name="given" type="xs:string"/>
<xs:element name="additional" type="xs:string"/> <xs:element name="additional" type="xs:string"/>
<xs:element name="prefix" type="xs:string"/> <xs:element name="prefix" type="xs:string"/>
<xs:element name="suffix" type="xs:string"/> <xs:element name="suffix" type="xs:string"/>
<!-- 6.2.3 --> <!-- 6.2.3 -->
<xs:element name="nickname"> <xs:element name="nickname">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-language"/> <xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:group ref="ns1:value-text-list"/> <xs:group ref="ns1:value-text-list"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.2.4 --> <!-- 6.2.4 -->
<xs:element name="photo"> <xs:element name="photo">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/> <xs:group ref="ns1:param-mediatype"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.2.5 --> <!-- 6.2.5 -->
<xs:element name="bday"> <xs:element name="bday">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-calscale"/> <xs:group ref="ns1:param-calscale"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:choice> <xs:choice>
<xs:element ref="ns1:value-date-and-or-time"/> <xs:element ref="ns1:value-date-and-or-time"/>
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
</xs:choice> </xs:choice>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.2.6 --> <!-- 6.2.6 -->
<xs:element name="anniversary"> <xs:element name="anniversary">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-calscale"/> <xs:group ref="ns1:param-calscale"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:choice> <xs:choice>
<xs:element ref="ns1:value-date-and-or-time"/> <xs:element ref="ns1:value-date-and-or-time"/>
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
skipping to change at page 99, line 22 skipping to change at page 98, line 4
<xs:group ref="ns1:param-calscale"/> <xs:group ref="ns1:param-calscale"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:choice> <xs:choice>
<xs:element ref="ns1:value-date-and-or-time"/> <xs:element ref="ns1:value-date-and-or-time"/>
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
</xs:choice> </xs:choice>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.2.7 --> <!-- 6.2.7 -->
<xs:element name="gender"> <xs:element name="gender">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="ns1:sex"/> <xs:element ref="ns1:sex"/>
<xs:element minOccurs="0" ref="ns1:identity"/> <xs:element ref="ns1:identity" minOccurs="0"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="sex"> <xs:element name="sex">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:token"> <xs:restriction base="xs:token">
<xs:enumeration value=""/> <xs:enumeration value=""/>
<xs:enumeration value="M"/> <xs:enumeration value="M"/>
<xs:enumeration value="F"/> <xs:enumeration value="F"/>
<xs:enumeration value="O"/> <xs:enumeration value="O"/>
<xs:enumeration value="N"/> <xs:enumeration value="N"/>
<xs:enumeration value="U"/> <xs:enumeration value="U"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
<xs:element name="identity" type="xs:string"/> <xs:element name="identity" type="xs:string"/>
<!-- 6.3.1 --> <!-- 6.3.1 -->
<xs:group name="param-label"> <xs:group name="param-label">
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" ref="ns1:label"/> <xs:element ref="ns1:label" minOccurs="0"/>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<xs:element name="label"> <xs:element name="label">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="adr"> <xs:element name="adr">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-language"/> <xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-geo"/> <xs:group ref="ns1:param-geo"/>
<xs:group ref="ns1:param-tz"/> <xs:group ref="ns1:param-tz"/>
<xs:group ref="ns1:param-label"/> <xs:group ref="ns1:param-label"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element maxOccurs="unbounded" ref="ns1:pobox"/> <xs:element ref="ns1:pobox"
<xs:element maxOccurs="unbounded" ref="ns1:ext"/> minOccurs="0" maxOccurs="unbounded"/>
<xs:element maxOccurs="unbounded" ref="ns1:street"/> <xs:element ref="ns1:ext"
<xs:element maxOccurs="unbounded" ref="ns1:locality"/> minOccurs="0" maxOccurs="unbounded"/>
<xs:element maxOccurs="unbounded" ref="ns1:region"/> <xs:element ref="ns1:street"
<xs:element maxOccurs="unbounded" ref="ns1:code"/> minOccurs="0" maxOccurs="unbounded"/>
<xs:element maxOccurs="unbounded" ref="ns1:country"/> <xs:element ref="ns1:locality"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ns1:region"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ns1:code"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ns1:country"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="pobox" type="xs:string"/> <xs:element name="pobox" type="xs:string"/>
<xs:element name="ext" type="xs:string"/> <xs:element name="ext" type="xs:string"/>
<xs:element name="street" type="xs:string"/> <xs:element name="street" type="xs:string"/>
<xs:element name="locality" type="xs:string"/> <xs:element name="locality" type="xs:string"/>
<xs:element name="region" type="xs:string"/> <xs:element name="region" type="xs:string"/>
<xs:element name="code" type="xs:string"/> <xs:element name="code" type="xs:string"/>
<xs:element name="country" type="xs:string"/> <xs:element name="country" type="xs:string"/>
<!-- 6.4.1 --> <!-- 6.4.1 -->
<xs:element name="tel"> <xs:element name="tel">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"
<xs:group ref="ns1:param-pid"/> minOccurs="0"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pid"
<xs:element minOccurs="0" name="type"> minOccurs="0"/>
<xs:group ref="ns1:param-pref"
minOccurs="0"/>
<xs:element name="type" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element maxOccurs="unbounded" name="text" <xs:element name="text"
type="xs:string"/> type="xs:string"
maxOccurs="unbounded">
</xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:group ref="ns1:param-mediatype"/> <xs:group ref="ns1:param-mediatype"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:choice> <xs:choice>
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
</xs:choice> </xs:choice>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.4.2 --> <!-- 6.4.2 -->
<xs:element name="email"> <xs:element name="email">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.4.3 --> <!-- 6.4.3 -->
<xs:element name="impp"> <xs:element name="impp">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/> <xs:group ref="ns1:param-mediatype"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.4.4 --> <!-- 6.4.4 -->
<xs:element name="lang"> <xs:element name="lang">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="ns1:language-tag"/> <xs:element ref="ns1:language-tag"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.5.1 --> <!-- 6.5.1 -->
<xs:group name="property-tz"> <xs:group name="property-tz">
<xs:sequence> <xs:sequence>
<xs:element name="tz"> <xs:element name="tz">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/> <xs:group
ref="ns1:param-mediatype"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:choice> <xs:choice>
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
<xs:element ref="ns1:utc-offset"/> <xs:element ref="ns1:utc-offset"/>
</xs:choice> </xs:choice>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
skipping to change at page 103, line 9 skipping to change at page 102, line 4
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:choice> <xs:choice>
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
<xs:element ref="ns1:utc-offset"/> <xs:element ref="ns1:utc-offset"/>
</xs:choice> </xs:choice>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<!-- 6.5.2 --> <!-- 6.5.2 -->
<xs:group name="property-geo"> <xs:group name="property-geo">
<xs:sequence> <xs:sequence>
<xs:element name="geo"> <xs:element name="geo">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/> <xs:group
ref="ns1:param-mediatype"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<!-- 6.6.1 --> <!-- 6.6.1 -->
<xs:element name="title"> <xs:element name="title">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-language"/> <xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
skipping to change at page 104, line 4 skipping to change at page 102, line 49
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.6.2 --> <!-- 6.6.2 -->
<xs:element name="role"> <xs:element name="role">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-language"/> <xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.6.3 --> <!-- 6.6.3 -->
<xs:element name="logo"> <xs:element name="logo">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-language"/> <xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/> <xs:group ref="ns1:param-mediatype"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.6.4 --> <!-- 6.6.4 -->
<xs:element name="org"> <xs:element name="org">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-language"/> <xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-sort-as"/> <xs:group ref="ns1:param-sort-as"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:group ref="ns1:value-text-list"/> <xs:group ref="ns1:value-text-list"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.6.5 --> <!-- 6.6.5 -->
<xs:element name="member"> <xs:element name="member">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-mediatype"/> <xs:group ref="ns1:param-mediatype"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.6.6 --> <!-- 6.6.6 -->
<xs:element name="related"> <xs:element name="related">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:element minOccurs="0" name="type"> <xs:element name="type" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element maxOccurs="unbounded" name="text"> <xs:element name="text" maxOccurs="unbounded">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:token"> <xs:restriction base="xs:token">
<xs:enumeration value="work"/> <xs:enumeration value="work"/>
<xs:enumeration value="home"/> <xs:enumeration value="home"/>
<xs:enumeration value="contact"/> <xs:enumeration value="contact"/>
<xs:enumeration value="acquaintance"/> <xs:enumeration value="acquaintance"/>
<xs:enumeration value="friend"/> <xs:enumeration value="friend"/>
<xs:enumeration value="met"/> <xs:enumeration value="met"/>
<xs:enumeration value="co-worker"/> <xs:enumeration value="co-worker"/>
<xs:enumeration value="colleague"/> <xs:enumeration value="colleague"/>
skipping to change at page 106, line 45 skipping to change at page 105, line 41
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
</xs:choice> </xs:choice>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.7.1 --> <!-- 6.7.1 -->
<xs:element name="categories"> <xs:element name="categories">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:group ref="ns1:value-text-list"/> <xs:group ref="ns1:value-text-list"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.7.2 --> <!-- 6.7.2 -->
<xs:element name="note"> <xs:element name="note">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-language"/> <xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
skipping to change at page 107, line 45 skipping to change at page 106, line 41
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.7.4 --> <!-- 6.7.4 -->
<xs:element name="rev" type="ns1:value-timestamp"/> <xs:element name="rev" type="ns1:value-timestamp"/>
<!-- 6.7.5 --> <!-- 6.7.5 -->
<xs:element name="sound"> <xs:element name="sound">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-language"/> <xs:group ref="ns1:param-language"/>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/> <xs:group ref="ns1:param-mediatype"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
skipping to change at page 108, line 34 skipping to change at page 107, line 30
<xs:element ref="ns1:sourceid"/> <xs:element ref="ns1:sourceid"/>
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="sourceid" type="xs:positiveInteger"/> <xs:element name="sourceid" type="xs:positiveInteger"/>
<!-- 6.7.8 --> <!-- 6.7.8 -->
<xs:element name="url"> <xs:element name="url">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/> <xs:group ref="ns1:param-mediatype"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.8.1 --> <!-- 6.8.1 -->
<xs:element name="key"> <xs:element name="key">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/> <xs:group ref="ns1:param-mediatype"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
skipping to change at page 109, line 27 skipping to change at page 108, line 23
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
<xs:element ref="ns1:text"/> <xs:element ref="ns1:text"/>
</xs:choice> </xs:choice>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.9.1 --> <!-- 6.9.1 -->
<xs:element name="fburl"> <xs:element name="fburl">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/> <xs:group ref="ns1:param-mediatype"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.9.2 --> <!-- 6.9.2 -->
<xs:element name="caladruri"> <xs:element name="caladruri">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/> <xs:group ref="ns1:param-mediatype"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- 6.9.3 --> <!-- 6.9.3 -->
<xs:element name="caluri"> <xs:element name="caluri">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="parameters"> <xs:element name="parameters" minOccurs="0">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:group ref="ns1:param-altid"/> <xs:group ref="ns1:param-altid"/>
<xs:group ref="ns1:param-pid"/> <xs:group ref="ns1:param-pid"/>
<xs:group ref="ns1:param-pref"/> <xs:group ref="ns1:param-pref"/>
<xs:group ref="ns1:param-type"/> <xs:group ref="ns1:param-type"/>
<xs:group ref="ns1:param-mediatype"/> <xs:group ref="ns1:param-mediatype"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="ns1:uri"/> <xs:element ref="ns1:uri"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- Top-level grammar --> <!-- Top-level grammar -->
<xs:group name="property"> <xs:group name="property">
<xs:choice> <xs:sequence>
<xs:element ref="ns1:adr"/> <xs:element ref="ns1:adr" minOccurs="0"
<xs:element ref="ns1:anniversary"/> maxOccurs="unbounded"/>
<xs:element ref="ns1:bday"/> <xs:element ref="ns1:anniversary" minOccurs="0"
<xs:element ref="ns1:caladruri"/> maxOccurs="1"/>
<xs:element ref="ns1:caluri"/> <xs:element ref="ns1:bday" minOccurs="0"
<xs:element ref="ns1:categories"/> maxOccurs="1"/>
<xs:element ref="ns1:clientpidmap"/> <xs:element ref="ns1:caladruri" minOccurs="0"
<xs:element ref="ns1:email"/> maxOccurs="unbounded"/>
<xs:element ref="ns1:fburl"/> <xs:element ref="ns1:caluri" minOccurs="0"
<xs:element ref="ns1:fn"/> maxOccurs="unbounded"/>
<xs:group ref="ns1:property-geo"/> <xs:element ref="ns1:categories" minOccurs="0"
<xs:element ref="ns1:impp"/> maxOccurs="unbounded"/>
<xs:element ref="ns1:key"/> <xs:element ref="ns1:clientpidmap" minOccurs="0"
<xs:element ref="ns1:kind"/> maxOccurs="unbounded"/>
<xs:element ref="ns1:lang"/> <xs:element ref="ns1:email" minOccurs="0"
<xs:element ref="ns1:logo"/> maxOccurs="unbounded"/>
<xs:element ref="ns1:member"/> <xs:element ref="ns1:fburl" minOccurs="0"
<xs:element ref="ns1:n"/> maxOccurs="unbounded"/>
<xs:element ref="ns1:nickname"/> <xs:element ref="ns1:fn" minOccurs="1"
<xs:element ref="ns1:note"/> maxOccurs="unbounded"/>
<xs:element ref="ns1:org"/> <xs:group ref="ns1:property-geo" minOccurs="0"
<xs:element ref="ns1:photo"/> maxOccurs="unbounded"/>
<xs:element ref="ns1:prodid"/> <xs:element ref="ns1:impp" minOccurs="0"
<xs:element ref="ns1:related"/> maxOccurs="unbounded"/>
<xs:element ref="ns1:rev"/> <xs:element ref="ns1:key" minOccurs="0"
<xs:element ref="ns1:role"/> maxOccurs="unbounded"/>
<xs:element ref="ns1:gender"/> <xs:element ref="ns1:kind" minOccurs="0"
<xs:element ref="ns1:sound"/> maxOccurs="1"/>
<xs:element ref="ns1:source"/> <xs:element ref="ns1:lang" minOccurs="0"
<xs:element ref="ns1:tel"/> maxOccurs="unbounded"/>
<xs:element ref="ns1:title"/> <xs:element ref="ns1:logo" minOccurs="0"
<xs:group ref="ns1:property-tz"/> maxOccurs="unbounded"/>
<xs:element ref="ns1:uid"/> <xs:element ref="ns1:member" minOccurs="0"
<xs:element ref="ns1:url"/> maxOccurs="unbounded"/>
</xs:choice> <xs:element ref="ns1:n" minOccurs="0"
</xs:group> maxOccurs="1"/>
<xs:element ref="ns1:nickname" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element ref="ns1:note" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element ref="ns1:org" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element ref="ns1:photo" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element ref="ns1:prodid" minOccurs="0"
maxOccurs="1"/>
<xs:element ref="ns1:related" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element ref="ns1:rev" minOccurs="0"
maxOccurs="1"/>
<xs:element ref="ns1:role" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element ref="ns1:gender" minOccurs="0"
maxOccurs="1"/>
<xs:element ref="ns1:sound" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element ref="ns1:source" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element ref="ns1:tel" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element ref="ns1:title" minOccurs="0"
maxOccurs="unbounded"/>
<xs:group ref="ns1:property-tz" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element ref="ns1:uid" minOccurs="0"
maxOccurs="1"/>
<xs:element ref="ns1:url" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:element name="vcards"> <xs:element name="vcards">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element maxOccurs="unbounded" ref="ns1:vcard"/> <xs:element ref="ns1:vcard" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:complexType name="vcardType"> <xs:complexType name="vcardType">
<xs:complexContent> <xs:sequence>
<xs:restriction base="xs:anyType"> <xs:group ref="ns1:property"/>
<xs:choice maxOccurs="unbounded"> <xs:element ref="ns1:group" minOccurs="0"
<xs:group ref="ns1:property"/> maxOccurs="unbounded"/>
<xs:element ref="ns1:group"/> <xs:any namespace="##other" processContents="lax"
</xs:choice> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType> </xs:complexType>
<xs:element name="vcard" type="ns1:vcardType"/>
<xs:element name="vcard" type="ns1:vcardType"/>
<xs:element name="group"> <xs:element name="group">
<xs:complexType> <xs:complexType>
<xs:group minOccurs="0" maxOccurs="unbounded" <xs:group ref="ns1:property"/>
ref="ns1:property"/>
<xs:attribute name="name" use="required"/> <xs:attribute name="name" use="required"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:schema> </xs:schema>
Appendix B. XML Validation Appendix B. XML Validation
This document defines a number of XML schemas and contains various This document defines a number of XML schemas and contains various
examples. Extracting the XML and validating the examples against the examples. Extracting the XML and validating the examples against the
schemas can be challenging, especially due to the formatting schemas can be challenging, especially due to the formatting
limitations introduced by IETF RFCs. For those readers who copy the limitations introduced by IETF RFCs. For those readers who copy the
XML schemas and examples directly from this document, please consider XML schemas and examples directly from this document, please consider
skipping to change at page 112, line 16 skipping to change at page 111, line 39
</xs:schema> </xs:schema>
Appendix B. XML Validation Appendix B. XML Validation
This document defines a number of XML schemas and contains various This document defines a number of XML schemas and contains various
examples. Extracting the XML and validating the examples against the examples. Extracting the XML and validating the examples against the
schemas can be challenging, especially due to the formatting schemas can be challenging, especially due to the formatting
limitations introduced by IETF RFCs. For those readers who copy the limitations introduced by IETF RFCs. For those readers who copy the
XML schemas and examples directly from this document, please consider XML schemas and examples directly from this document, please consider
that errors might be introduced due to line breaks and extra that errors might be introduced due to line breaks and extra
whitespaces in the regular expressions contained in the vcard schema whitespaces in the regular expressions contained in the vCard schema
in Appendix A. To validate the PIDF-LO from Figure 18 it is also in Appendix A. To validate the PIDF-LO from Figure 18, it is also
necessary to consult the referenced RFCs and copy the schemas necessary to consult the referenced RFCs and copy the schemas
necessary for successful validation. necessary for successful validation.
The XML schemas found in this document include a 'SchemaLocation' The XML schemas found in this document include a 'SchemaLocation'
attribute. Depending on the location of the downloaded schema files attribute. Depending on the location of the downloaded schema files,
you may need to adjust this schema location or configure your XML you may need to adjust this schema location or configure your XML
editor to point to the location. editor to point to the location.
For convenience of readers, the schemas are available at http://ip- For the convenience of the reader, the schemas are available at
emergency.net/additional-data.zip and the XML examples are available [IANA-XML-Schemas], and the XML examples are available at the IETF
at the IETF ECRIT Working Group wiki page [ECRIT-WG-wiki]. ECRIT working group wiki page [ECRIT-WG-wiki].
Note to RFC Editor: After IANA has published the schemas, the above Acknowledgments
link to the schemas should be replaced with [IANA-XML-Schemas].
This work was originally started in NENA and has benefited from a
large number of participants involved in NENA standardization
efforts, originally in the Long Term Definition working group, the
Data Technical Committee, and most recently in 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, Brian Dupras, Mark
Fletcher, James Leyerle, Kathy McMahon, Christian Militeau, Ira
Pyles, Matt Serra, and Robert (Bob) Sherry. Amursana Khiyod, Robert
Sherry, Frank Rahoi, Scott Ross, and Tom Klepetka provided valuable
feedback regarding the vCard/xCard use in this specification.
We would also like to thank Paul Kyzivat, Gunnar Hellstrom, Martin
Thomson, Keith Drage, Laura Liess, Chris Santer, Barbara Stark, Chris
Santer, Archie Cobbs, Magnus Nystrom, Stephen Farrell, Amanda Baber,
Dan Banks, Andrew Newton, Philip Reichl, and Francis Dupont for their
review comments. Alissa Cooper, Guy Caron, Ben Campbell, and Barry
Leiba deserve special mention for their detailed and extensive review
comments, which were very helpful and appreciated.
Authors' Addresses Authors' Addresses
Randall Gellens Randall Gellens
San Diego, CA 92121 San Diego, CA 92121
US United States
Email: rg+ietf@randy.pensive.org Email: rg+ietf@randy.pensive.org
Brian Rosen Brian Rosen
NeuStar NeuStar
470 Conrad Dr. 470 Conrad Dr.
Mars, PA 16046 Mars, PA 16046
US United States
Phone: +1 724 382 1051 Phone: +1 724 382 1051
Email: br@brianrosen.net Email: br@brianrosen.net
Hannes Tschofenig Hannes Tschofenig
Hall in Tirol 6060 Hall in Tirol 6060
Austria Austria
Email: Hannes.tschofenig@gmx.net Email: Hannes.tschofenig@gmx.net
URI: http://www.tschofenig.priv.at URI: http://www.tschofenig.priv.at
Roger Marshall Roger Marshall
TeleCommunication Systems, Inc. TeleCommunication Systems, Inc.
2401 Elliott Avenue 2401 Elliott Avenue
skipping to change at page 113, line 15 skipping to change at page 113, line 33
Hall in Tirol 6060 Hall in Tirol 6060
Austria Austria
Email: Hannes.tschofenig@gmx.net Email: Hannes.tschofenig@gmx.net
URI: http://www.tschofenig.priv.at URI: http://www.tschofenig.priv.at
Roger Marshall Roger Marshall
TeleCommunication Systems, Inc. TeleCommunication Systems, Inc.
2401 Elliott Avenue 2401 Elliott Avenue
Seattle, WA 98121 Seattle, WA 98121
US United States
Phone: +1 206 792 2424 Phone: +1 206 792 2424
Email: rmarshall@telecomsys.com Email: rmarshall@telecomsys.com
URI: http://www.telecomsys.com URI: http://www.telecomsys.com
James Winterbottom James Winterbottom
AU Winterb Consulting Services
Gwynneville, NSW 2500
Australia
Phone: +61 448 266004
Email: a.james.winterbottom@gmail.com Email: a.james.winterbottom@gmail.com
 End of changes. 440 change blocks. 
1065 lines changed or deleted 1083 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/