draft-ietf-ecrit-additional-data-29.txt   draft-ietf-ecrit-additional-data-30.txt 
ECRIT R. Gellens ECRIT R. Gellens
Internet-Draft Qualcomm Technologies, Inc. Internet-Draft Qualcomm Technologies, Inc.
Intended status: Standards Track B. Rosen Intended status: Standards Track B. Rosen
Expires: September 9, 2015 NeuStar Expires: January 1, 2016 NeuStar
H. Tschofenig H. Tschofenig
R. Marshall R. Marshall
TeleCommunication Systems, Inc. TeleCommunication Systems, Inc.
J. Winterbottom J. Winterbottom
March 8, 2015
June 30, 2015
Additional Data Related to an Emergency Call Additional Data Related to an Emergency Call
draft-ietf-ecrit-additional-data-29.txt draft-ietf-ecrit-additional-data-30.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 device that sends it, as well as any application service (PSAP), the device that sends it, as well as any application service
provider in the path of the call, or access network provider through provider in the path of the call, or access network provider through
which the call originated may have information about the call, the which the call originated has information about the call, the caller
caller or the location which the PSAP may be able to use. This or the location which might be helpful for the PSAP to have in
document describes data structures and a mechanism to convey such handling the emergency. This document describes data structures and
data to the PSAP. The mechanism uses a Uniform Resource Identifier a mechanism to convey such data to the PSAP. The intent is that
(URI), which may point to either an external resource or an object in every emergency call carry the information described here using the
the body of the SIP message. The mechanism thus allows the data to mechanisms described here.
be passed by reference (when the URI points to an external resource)
or by value (when it points into the body of the message). This The mechanism uses a Uniform Resource Identifier (URI), which may
follows the tradition of prior emergency services standardization point to either an external resource or an object in the body of the
work where data can be conveyed by value within the call signaling SIP message. The mechanism thus allows the data to be passed by
(i.e., in body of the SIP message) and also by reference. reference (when the URI points to an external resource) or by value
(when it points into the body of the message). This follows the
tradition of prior emergency services standardization work where data
can be conveyed by value within the call signaling (i.e., in body of
the SIP message) and also by reference.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 9, 2015. This Internet-Draft will expire on January 1, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 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 34
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 . . . . . . . . . . . . . . . . 8 4.1. Data Provider Information . . . . . . . . . . . . . . . . 8
4.1.1. Data Provider String . . . . . . . . . . . . . . . . 8 4.1.1. Data Provider String . . . . . . . . . . . . . . . . 9
4.1.2. Data Provider ID . . . . . . . . . . . . . . . . . . 9 4.1.2. Data Provider ID . . . . . . . . . . . . . . . . . . 9
4.1.3. Data Provider ID Series . . . . . . . . . . . . . . . 9 4.1.3. Data Provider ID Series . . . . . . . . . . . . . . . 10
4.1.4. Type of Data Provider . . . . . . . . . . . . . . . . 10 4.1.4. Type of Data Provider . . . . . . . . . . . . . . . . 11
4.1.5. Data Provider Contact URI . . . . . . . . . . . . . . 11 4.1.5. Data Provider Contact URI . . . . . . . . . . . . . . 11
4.1.6. Data Provider Languages(s) Supported . . . . . . . . 11 4.1.6. Data Provider Languages(s) Supported . . . . . . . . 12
4.1.7. xCard of Data Provider . . . . . . . . . . . . . . . 12 4.1.7. xCard of Data Provider . . . . . . . . . . . . . . . 13
4.1.8. Subcontractor Principal . . . . . . . . . . . . . . . 12 4.1.8. Subcontractor Principal . . . . . . . . . . . . . . . 13
4.1.9. Subcontractor Priority . . . . . . . . . . . . . . . 13 4.1.9. Subcontractor Priority . . . . . . . . . . . . . . . 14
4.1.10. ProviderInfo Example . . . . . . . . . . . . . . . . 13 4.1.10. ProviderInfo Example . . . . . . . . . . . . . . . . 14
4.2. Service Information . . . . . . . . . . . . . . . . . . . 16 4.2. Service Information . . . . . . . . . . . . . . . . . . . 16
4.2.1. Service Environment . . . . . . . . . . . . . . . . . 16 4.2.1. Service Environment . . . . . . . . . . . . . . . . . 17
4.2.2. Service Type . . . . . . . . . . . . . . . . . . . . 17 4.2.2. Service Type . . . . . . . . . . . . . . . . . . . . 18
4.2.3. Service Mobility Environment . . . . . . . . . . . . 19 4.2.3. Service Mobility Environment . . . . . . . . . . . . 19
4.2.4. EmergencyCallData.ServiceInfo Example . . . . . . . . 19 4.2.4. EmergencyCallData.ServiceInfo Example . . . . . . . . 20
4.3. Device Information . . . . . . . . . . . . . . . . . . . 20 4.3. Device Information . . . . . . . . . . . . . . . . . . . 21
4.3.1. Device Classification . . . . . . . . . . . . . . . . 20 4.3.1. Device Classification . . . . . . . . . . . . . . . . 21
4.3.2. Device Manufacturer . . . . . . . . . . . . . . . . . 22 4.3.2. Device Manufacturer . . . . . . . . . . . . . . . . . 22
4.3.3. Device Model Number . . . . . . . . . . . . . . . . . 22 4.3.3. Device Model Number . . . . . . . . . . . . . . . . . 23
4.3.4. Unique Device Identifier . . . . . . . . . . . . . . 22 4.3.4. Unique Device Identifier . . . . . . . . . . . . . . 23
4.3.5. Device/Service Specific Additional Data Structure . . 23 4.3.5. Device/Service-Specific Additional Data Structure . . 24
4.3.6. Device/Service Specific Additional Data Structure 4.3.6. Device/Service Specific Additional Data Structure
Type . . . . . . . . . . . . . . . . . . . . . . . . 24 Type . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3.7. Issues with getting new types of data into use . . . 24 4.3.7. Issues with getting new types of data into use . . . 25
4.3.8. Choosing between defining a new type of block or new 4.3.8. Choosing between defining a new type of block or new
type of device/service specific additional data . . . 25 type of device/service specific additional data . . . 26
4.3.9. EmergencyCallData.DeviceInfo Example . . . . . . . . 27
4.3.9. EmergencyCallData.DeviceInfo Example . . . . . . . . 26 4.4. Owner/Subscriber Information . . . . . . . . . . . . . . 27
4.4. Owner/Subscriber Information . . . . . . . . . . . . . . 26 4.4.1. Subscriber Data Privacy Indicator . . . . . . . . . . 27
4.4.1. Subscriber Data Privacy Indicator . . . . . . . . . . 26 4.4.2. xCard for Subscriber's Data . . . . . . . . . . . . . 28
4.4.2. xCard for Subscriber's Data . . . . . . . . . . . . . 27 4.4.3. EmergencyCallData.SubscriberInfo Example . . . . . . 28
4.4.3. EmergencyCallData.SubscriberInfo Example . . . . . . 27 4.5. Comment . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.5. Comment . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.5.1. Comment . . . . . . . . . . . . . . . . . . . . . . . 31
4.5.1. Comment . . . . . . . . . . . . . . . . . . . . . . . 30 4.5.2. EmergencyCallData.Comment Example . . . . . . . . . . 31
4.5.2. EmergencyCallData.Comment Example . . . . . . . . . . 30 5. Data Transport Mechanisms . . . . . . . . . . . . . . . . . . 31
5. Data Transport Mechanisms . . . . . . . . . . . . . . . . . . 30 5.1. Transmitting Blocks using the Call-Info Header . . . . . 33
5.1. Transmitting Blocks using the Call-Info Header . . . . . 32 5.2. Transmitting Blocks by Reference using the <provided-by>
5.2. Transmitting Blocks by Reference using the provided-by
Element . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3. Transmitting Blocks by Value using the provided-by
Element . . . . . . . . . . . . . . . . . . . . . . . . . 34 Element . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4. The Content-Disposition Parameter . . . . . . . . . . . . 35 5.3. Transmitting Blocks by Value using the <provided-by>
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Element . . . . . . . . . . . . . . . . . . . . . . . . . 35
7. XML Schemas . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.4. The Content-Disposition Parameter . . . . . . . . . . . . 37
7.1. EmergencyCallData.ProviderInfo XML Schema . . . . . . . . 48 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.2. EmergencyCallData.ServiceInfo XML Schema . . . . . . . . 50 7. XML Schemas . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.3. EmergencyCallData.DeviceInfo XML Schema . . . . . . . . . 51 7.1. EmergencyCallData.ProviderInfo XML Schema . . . . . . . . 51
7.4. EmergencyCallData.SubscriberInfo XML Schema . . . . . . . 53 7.2. EmergencyCallData.ServiceInfo XML Schema . . . . . . . . 53
7.5. EmergencyCallData.Comment XML Schema . . . . . . . . . . 54 7.3. EmergencyCallData.DeviceInfo XML Schema . . . . . . . . . 54
7.6. provided-by XML Schema . . . . . . . . . . . . . . . . . 55 7.4. EmergencyCallData.SubscriberInfo XML Schema . . . . . . . 56
8. Security Considerations . . . . . . . . . . . . . . . . . . . 58 7.5. EmergencyCallData.Comment XML Schema . . . . . . . . . . 57
9. Privacy Considerations . . . . . . . . . . . . . . . . . . . 59 7.6. provided-by XML Schema . . . . . . . . . . . . . . . . . 58
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 62 8. Security Considerations . . . . . . . . . . . . . . . . . . . 60
10.1. Registry creation . . . . . . . . . . . . . . . . . . . 62 9. Privacy Considerations . . . . . . . . . . . . . . . . . . . 62
10.1.1. Provider ID Series Registry . . . . . . . . . . . . 62 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 65
10.1.2. Service Environment Registry . . . . . . . . . . . . 63 10.1. Registry creation . . . . . . . . . . . . . . . . . . . 65
10.1.3. Service Type Registry . . . . . . . . . . . . . . . 63 10.1.1. Provider ID Series Registry . . . . . . . . . . . . 65
10.1.4. Service Mobility Registry . . . . . . . . . . . . . 64 10.1.2. Service Environment Registry . . . . . . . . . . . . 65
10.1.5. Service Provider Type Registry . . . . . . . . . . . 64 10.1.3. Service Type Registry . . . . . . . . . . . . . . . 66
10.1.6. Service Delivered Registry . . . . . . . . . . . . . 65 10.1.4. Service Mobility Registry . . . . . . . . . . . . . 66
10.1.7. Device Classification Registry . . . . . . . . . . . 65 10.1.5. Service Provider Type Registry . . . . . . . . . . . 67
10.1.8. Device ID Type Type Registry . . . . . . . . . . . . 65 10.1.6. Device Classification Registry . . . . . . . . . . . 67
10.1.9. Device/Service Data Type Registry . . . . . . . . . 66 10.1.7. Device ID Type Type Registry . . . . . . . . . . . . 67
10.1.10. Emergency Call Data Types Registry . . . . . . . . . 66 10.1.8. Device/Service Data Type Registry . . . . . . . . . 68
10.2. 'EmergencyCallData' Purpose Parameter Value . . . . . . 67 10.1.9. Emergency Call Data Types Registry . . . . . . . . . 68
10.3. URN Sub-Namespace Registration for provided-by Registry 10.2. 'EmergencyCallData' Purpose Parameter Value . . . . . . 69
Entry . . . . . . . . . . . . . . . . . . . . . . . . . 68 10.3. URN Sub-Namespace Registration for <provided-by>
10.4. MIME Registrations . . . . . . . . . . . . . . . . . . . 68 Registry Entry . . . . . . . . . . . . . . . . . . . . . 70
10.4. MIME Registrations . . . . . . . . . . . . . . . . . . . 70
10.4.1. MIME Content-type Registration for 10.4.1. MIME Content-type Registration for
'application/EmergencyCallData.ProviderInfo+xml' . . 68 'application/EmergencyCallData.ProviderInfo+xml' . . 70
10.4.2. MIME Content-type Registration for 10.4.2. MIME Content-type Registration for
'application/EmergencyCallData.ServiceInfo+xml' . . 69 'application/EmergencyCallData.ServiceInfo+xml' . . 71
10.4.3. MIME Content-type Registration for 10.4.3. MIME Content-type Registration for
'application/EmergencyCallData.DeviceInfo+xml' . . . 70 'application/EmergencyCallData.DeviceInfo+xml' . . . 72
10.4.4. MIME Content-type Registration for 10.4.4. MIME Content-type Registration for
'application/EmergencyCallData.SubscriberInfo+xml' . 71 'application/EmergencyCallData.SubscriberInfo+xml' . 73
10.4.5. MIME Content-type Registration for 10.4.5. MIME Content-type Registration for
'application/EmergencyCallData.Comment+xml' . . . . 72 'application/EmergencyCallData.Comment+xml' . . . . 74
10.5. URN Sub-Namespace Registration . . . . . . . . . . . . . 73 10.5. URN Sub-Namespace Registration . . . . . . . . . . . . . 75
10.5.1. Registration for 10.5.1. Registration for
urn:ietf:params:xml:ns:EmergencyCallData . . . . . . 73 urn:ietf:params:xml:ns:EmergencyCallData . . . . . . 75
10.5.2. Registration for 10.5.2. Registration for
urn:ietf:params:xml:ns:EmergencyCallData:ProviderInf urn:ietf:params:xml:ns:EmergencyCallData:ProviderInf
o . . . . . . . . . . . . . . . . . . . . . . . . . 74 o . . . . . . . . . . . . . . . . . . . . . . . . . 76
10.5.3. Registration for 10.5.3. Registration for
urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo 75 urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo 77
10.5.4. Registration for 10.5.4. Registration for
urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo 76 urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo 78
10.5.5. Registration for 10.5.5. Registration for
urn:ietf:params:xml:ns:EmergencyCallData:SubscriberI urn:ietf:params:xml:ns:EmergencyCallData:SubscriberI
nfo . . . . . . . . . . . . . . . . . . . . . . . . 77 nfo . . . . . . . . . . . . . . . . . . . . . . . . 79
10.5.6. Registration for 10.5.6. Registration for
urn:ietf:params:xml:ns:EmergencyCallData:Comment . . 78 urn:ietf:params:xml:ns:EmergencyCallData:Comment . . 80
10.6. Schema Registrations . . . . . . . . . . . . . . . . . . 79 10.6. Schema Registrations . . . . . . . . . . . . . . . . . . 81
10.7. VCard Parameter Value Registration . . . . . . . . . . . 80 10.7. VCard Parameter Value Registration . . . . . . . . . . . 82
11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 80 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 82
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 81 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 83
12.1. Normative References . . . . . . . . . . . . . . . . . . 81 12.1. Normative References . . . . . . . . . . . . . . . . . . 83
12.2. Informational References . . . . . . . . . . . . . . . . 82 12.2. Informational References . . . . . . . . . . . . . . . . 84
12.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 83 12.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Appendix A. XML Schema for vCard/xCard . . . . . . . . . . . . . 83 Appendix A. XML Schema for vCard/xCard . . . . . . . . . . . . . 85
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 106 Appendix B. XML Validation . . . . . . . . . . . . . . . . . . . 108
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 108
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 meta-data about the
sources of the data. The device, the access network provider, and sources of the data. In addition, the device, the access network
any service provider in the call path may have even more information provider, and any service provider in the call path has even more
useful for a PSAP. This document extends the basic set of data information that is useful for a PSAP when handling an emergency.
communicated with an IP-based emergency call, as described in This document extends the basic set of data communicated with an IP-
[RFC6443] and [RFC6881], in order to carry additional data which may based emergency call, as described in [RFC6443] and [RFC6881], in
be useful to an entity or call taker handling the call. This data is order to carry additional data which is useful to an entity or call
"additional" to the basic information found in the emergency call taker handling the call. This data is "additional" to the basic
signaling used. information found in the emergency call signaling used. The intent
is that every emergency call carry the information described here
using the mechanisms described here.
In general, there are three categories of this additional data that In general, there are three categories of this additional data that
may be transmitted with an emergency call: may 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 [RFC7035] (for relative
skipping to change at page 6, line 24 skipping to change at page 6, line 32
Section 5. Section 5.
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) type for associated Multipurpose Internet Mail Extensions (MIME) type for
identification within transport such as SIP and HTTPS. The set of identification within transport such as SIP and HTTPS. The set of
blocks is extensible. Registries are defined to identify the block blocks is extensible. Registries are defined to identify the block
types that may be used and to allow blocks to be included in types that may 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
private and confidential; service providers and devices generally go
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 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
skipping to change at page 7, line 7 skipping to change at page 7, line 20
"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 is a data format for representing and exchanging a variety of vCard [RFC6350] is a data format for representing and exchanging a
information about individuals and other entities. For applications variety of information about individuals and other entities. For
that use XML the format defined in vCard is not immediately applications that use XML, the format defined in vCard is not
applicable. For this purpose an XML-based encoding of the immediately applicable. For this reason, an XML-based encoding of
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. Since the term defined and the name of that specification is xCard [RFC6351]. Since
vCard is more familiar to most readers, we use the term xCard and the term vCard is more familiar to most readers, we use the terms
vCard interchangeably. 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
with non-emergency calls because they carry sensitive and private with non-emergency calls because they carry sensitive and private
data. data. However, in certain private-use situations where the endpoints
have a preexisting relationship and privacy concerns do not apply
because of the relationship, the mechanisms and data structures
defined here MAY be used.
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 type, and the XML data block. For each block we define the MIME type, and the XML
encoding. The five data structures are: 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.
skipping to change at page 8, line 28 skipping to change at page 8, line 46
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. These numbers are useful to specify a "main" telephone number. These numbers are useful to
emergency responders who are called to a large enterprise. This emergency responders who are called to a large enterprise. This
document adds a new property value to the "tel" property of the TYPE document adds a new property value to the "tel" property of the TYPE
parameter called "main". It can be used in any xCard in additional parameter called "main". It can be used in any xCard in additional
data. data.
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. It includes path of the call, or the access network provider, or the device. It
identification and contact information. This block SHOULD be includes identification and contact information. This block SHOULD
supplied by every service provider in the call path, and by the be supplied by every service provider in the call path, and by the
access network provider. Devices MAY use this block to provide access network provider. Devices MAY use this block to provide
identifying information. The MIME subtype is "application/ identifying information. The MIME subtype 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 section 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: Required Use: Required
XML Element: <DataProviderString> XML Element: <DataProviderString>
Description: This is a plain text string suitable for displaying the Description: This is a plain text string suitable for displaying the
skipping to change at page 9, line 13 skipping to change at page 9, line 31
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: Required. This data MUST be provided in order to uniquely Use: Conditional. Optional for blocks supplied by the originating
device, mandatory otherwise. This data MUST be provided by all
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., the provider's appropriate for the jurisdiction. In the U.S., if the provider is
NENA Company ID MUST appear here. Additional information can be registered with NENA, the provider's NENA Company ID MUST appear
found at NENA Company Identifier Program [1] or NENA Company ID here. Additional information can be found at NENA Company
[2]. The NENA Company ID MUST be in the form of a URI in the Identifier Program [1] or NENA Company ID [2]. The NENA Company
following format: urn:nena:companyid:<NENA Company ID>. The value ID MUST be in the form of a URI in the following format:
MAY be the fully-qualified domain name of the service provider or urn:nena:companyid:<NENA Company ID>. If the organization does
access provider. not have an identifier registered with a jurisdiction-specific
emergency services registrar (such as NENA), then the value MAY be
the fully-qualified domain name of the service provider or access
provider. The device MAY use its IP address or fully-qualified
domain name (and set the "Data Provider ID Series" element to
"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: Required. Use: Conditional. Optional for blocks supplied by the originating
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 (see Section 10.1) initially contains Provider ID Series Registry created in Section 10.1.1 initially
the following valid entries: contains the entries shown in Figure 1.
* NENA
* EENA
* domain
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 |
+-----------+--------------------------+----------------------+
| NENA | National Emergency | http://www.nena.org |
| | Number Association | |
| EENA | European Emergency | http://www.eena.org |
| | Number Association | |
| domain | (The ID is a fully- | (not applicable) |
| | qualified domain name) | |
+-----------+--------------------------+----------------------+
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. A registry with an initial set of values is shown in data. The registry containing all valid values is created in
Figure 1 (see also Section 10.1). Section 10.1.5 and the initial set of values is shown in Figure 2.
Reason for Need: Identifies the category of data provider.
How Used by Call Taker: This information may be helpful when
deciding whom to contact when further information is needed.
+------------------------------+------------------------------------+ +------------------------------+------------------------------------+
| Token | Description | | Token | Description |
+------------------------------+------------------------------------+ +------------------------------+------------------------------------+
|Client | Originating client/device |
|Access Network Provider | Access network service provider | |Access Network Provider | Access network service provider |
|Telecom Provider | Calling or origination telecom SP | |Telecom Provider | Telecom service provider (including|
|Telematics Provider | A sensor based service provider, | | | over-the-top VoIP services) |
| | especially vehicle based | |Telematics Provider | A sensor-based service provider, |
|Language Translation Provider | A spoken language translation SP | | | especially vehicle-based |
|Language Translation Provider | A spoken language translation |
| | 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 | A interpretation SP, for example, | |Relay Provider | A interpretation service, e.g., |
| | video relay for sign language | | | video relay for sign language |
| | interpreting | | | interpreting |
|Other | Any other type of service provider | |Other | Any other type of service provider |
+------------------------------+------------------------------------+ +------------------------------+------------------------------------+
Figure 1: Type of Data Provider Registry. Figure 2: Type of Data Provider Registry
Reason for Need: Identifies the category of data provider.
How Used by Call Taker: This information may be helpful when
deciding whom to contact when further information is needed.
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
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 MUST be a URI to a 24/7 support network provider, this information MUST be a URI to a 24/7 support
organization tasked to provide PSAP support for this emergency organization tasked to provide PSAP support for this emergency
call. If the call is from a device, this SHOULD be the contact call. When provided by a device, this MUST be the contact
information of the owner of the device. The Data Provider Contact information of the user or owner of the device. (Ideally, this is
URI SHOULD be a TEL URI [RFC3966] in E.164 format fully specified the contact information of the device user, but when the owner and
with country code. If a TEL URI is not available, it MAY be a user are separate (e.g., the device owner is an organization),
generic SIP URI. Note that this contact information is not used this MAY be the contact information of the owner.) The Data
by PSAPs for callbacks (a call from a PSAP directly related to a Provider Contact URI SHOULD be a TEL URI [RFC3966] in E.164 format
recently terminated emergency call, placed by the PSAP using a SIP fully specified with country code. If a TEL URI is not available,
Priority header field set to "psap-callback", as described in it MAY be a generic SIP URI. Note that this contact information
[RFC7090]). is not used by PSAPs for callbacks (a call from a PSAP directly
related to a recently terminated emergency call, placed by the
PSAP using a SIP Priority header field set to "psap-callback", as
described in [RFC7090]).
Reason for Need: Additional data providers may need to be contacted Reason for Need: Additional data providers may need to be contacted
in error cases or other unusual circumstances. 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 Languages(s) Supported
Data Element: Data Provider Language(s) supported Data Element: Data Provider Language(s) supported
skipping to change at page 11, line 51 skipping to change at page 12, line 44
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 tags registry, which can be
found at [LanguageTagRegistry], and is defined in [RFC5646]. found at [LanguageTagRegistry], 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 the 'language' media feature tag, defined in RFC 3840 (Note that this field informs the PSAP of the language(s) used by
[RFC3840] and the more extensive language negotiation mechanism the data provider. If the PSAP needs to contact the data
proposed with [I-D.gellens-slim-negotiating-human-language] are provider, it can be helpful to know in advance the language(s)
independent of this data provider language indication. used by the data provider. If the PSAP uses a communication
protocol to reach the data provider, that protocol may have
language facilities of its own (such as the 'language' media
feature tag, defined in RFC 3840 [RFC3840] and the more extensive
language negotiation mechanism proposed with
[I-D.gellens-slim-negotiating-human-language]), and if so, those
are 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 within
a <vcard> element. Although multiple <vcard> elements may be a <vcard> element. Although multiple <vcard> elements may be
contained in a structure only one <vcard> element SHOULD 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 as much information as they structure is encouraged to provide all available information. N,
have available. N, ORG, ADR, TEL, EMAIL are suggested at a ORG, ADR, TEL, EMAIL are suggested at a minimum. N SHOULD contain
minimum. N SHOULD contain the name of the support group or device the name of the support group or device owner as appropriate. If
owner as appropriate. If more than one TEL property is provided, more than one TEL property is provided, a parameter from the vCard
a parameter from the vCard Property Value registry MUST be Property Value registry MUST be specified for each TEL. For
specified on each TEL. For encoding of the xCard this encoding of the vCard this specification uses the XML-based
specification uses the XML-based encoding specified in [RFC6351], encoding specified in [RFC6351], referred to in this document as
referred to in this document as "xCard". "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 may be included in additional contact information aside from what may be included in
the SIP INVITE or the PIDF-LO. the SIP INVITE or the PIDF-LO.
4.1.8. Subcontractor Principal 4.1.8. Subcontractor Principal
skipping to change at page 13, line 28 skipping to change at page 14, line 28
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 between data providers and the service providers in
the path of the call are. the path of the call are.
4.1.9. Subcontractor Priority 4.1.9. Subcontractor Priority
Data Element: Subcontractor Priority Data Element: Subcontractor Priority
Use: Conditional. This element is required if the Data Provider Use: Conditional. This data is required if the entity providing the
type is set to "Subcontractor". data is a subcontractor.
XML Element: <SubcontractorPriority> XML Element: <SubcontractorPriority>
Description: If the subcontractor has to be contacted first then Description: If the subcontractor is supposed to be contacted first
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 has to be contacted first then this subcontractor is working for is supposed to be contacted first
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">
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ad:DataProviderReference>string0987654321@example.org
<ad:DataProviderReference>string0987654321@example.org </ad:DataProviderReference>
</ad:DataProviderReference> <ad:DataProviderString>Example VoIP Provider
</ad:DataProviderString>
<ad:DataProviderString>Example VoIP Provider <ad:ProviderID>urn:nena:companyid:ID123</ad:ProviderID>
</ad:DataProviderString> <ad:ProviderIDSeries>NENA</ad:ProviderIDSeries>
<ad:ProviderID>urn:nena:companyid:ID123</ad:ProviderID> <ad:TypeOfProvider>Telecom Provider</ad:TypeOfProvider>
<ad:ProviderIDSeries>NENA</ad:ProviderIDSeries> <ad:ContactURI>tel:+1-201-555-0123</ad:ContactURI>
<ad:TypeOfProvider>Telecom Provider</ad:TypeOfProvider> <ad:Language>en</ad:Language>
<ad:ContactURI>tel:+1-201-555-0123</ad:ContactURI> <ad:DataProviderContact
<ad:Language>en</ad:Language> xmlns="urn:ietf:params:xml:ns:vcard-4.0">
<ad:DataProviderContact <vcard>
xmlns="urn:ietf:params:xml:ns:vcard-4.0"> <fn><text>Hannes Tschofenig</text></fn>
<vcard> <n>
<fn><text>Hannes Tschofenig</text></fn> <surname>Hannes</surname>
<n> <given>Tschofenig</given>
<surname>Hannes</surname> <additional/>
<given>Tschofenig</given> <prefix/>
<additional/> <suffix>Dipl. Ing.</suffix>
<prefix/> </n>
<suffix>Dipl. Ing.</suffix> <bday><date>--0203</date></bday>
</n> <anniversary>
<bday><date>--0203</date></bday> <date-time>20090808T1430-0500</date-time>
<anniversary> </anniversary>
<date-time>20090808T1430-0500</date-time> <gender><sex>M</sex></gender>
</anniversary> <lang>
<gender><sex>M</sex></gender> <parameters><pref><integer>1</integer></pref>
<lang> </parameters>
<parameters><pref><integer>1</integer></pref> <language-tag>de</language-tag>
</parameters> </lang>
<language-tag>de</language-tag> <lang>
</lang> <parameters><pref><integer>2</integer></pref>
<lang> </parameters>
<parameters><pref><integer>2</integer></pref> <language-tag>en</language-tag>
</parameters> </lang>
<language-tag>en</language-tag> <org>
</lang> <parameters><type><text>work</text></type>
<org> </parameters>
<parameters><type><text>work</text></type> <text>Example VoIP Provider</text>
</parameters> </org>
<text>Example VoIP Provider</text> <adr>
</org> <parameters>
<adr> <type><text>work</text></type>
<parameters> <label><text>Hannes Tschofenig
<type><text>work</text></type> Linnoitustie 6
<label><text>Hannes Tschofenig Espoo , Finland
Linnoitustie 6 02600</text></label>
Espoo , Finland </parameters>
02600</text></label> <pobox/>
</parameters> <ext/>
<pobox/> <street>Linnoitustie 6</street>
<ext/> <locality>Espoo</locality>
<street>Linnoitustie 6</street> <region>Uusimaa</region>
<locality>Espoo</locality> <code>02600</code>
<region>Uusimaa</region> <country>Finland</country>
<code>02600</code> </adr>
<country>Finland</country> <tel>
</adr> <parameters>
<tel> <type>
<parameters> <text>work</text>
<type> <text>voice</text>
<text>work</text> </type>
<text>voice</text> </parameters>
</type> <uri>tel:+358 50 4871445</uri>
</parameters> </tel>
<uri>tel:+358 50 4871445</uri> <email>
</tel> <parameters><type><text>work</text></type>
<email> </parameters>
<parameters><type><text>work</text></type> <text>hannes.tschofenig@nsn.com</text>
</parameters> </email>
<text>hannes.tschofenig@nsn.com</text> <geo>
</email> <parameters><type><text>work</text></type>
<geo> </parameters>
<parameters><type><text>work</text></type> <uri>geo:60.210796,24.812924</uri>
</parameters> </geo>
<uri>geo:60.210796,24.812924</uri> <key>
</geo> <parameters><type><text>home</text></type>
<key> </parameters>
<parameters><type><text>home</text></type> <uri>
</parameters> http://www.tschofenig.priv.at/key.asc
<uri> </uri>
http://www.tschofenig.priv.at/key.asc </key>
</uri> <tz><text>Finland/Helsinki</text></tz>
</key> <url>
<tz><text>Finland/Helsinki</text></tz> <parameters><type><text>home</text></type>
<url> </parameters>
<parameters><type><text>home</text></type> <uri>http://www.tschofenig.priv.at</uri>
</parameters> </url>
<uri>http://www.tschofenig.priv.at</uri> </vcard>
</url> </ad:DataProviderContact>
</vcard> </ad:EmergencyCallData.ProviderInfo>
</ad:DataProviderContact>
</ad:EmergencyCallData.ProviderInfo>
Figure 2: 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 SPs in the path of the to the caller. It SHOULD be included by all SPs in the path of the
call. The mime subtype is "application/ call. The mime subtype 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: Optional when a 'ServiceType' value is 'wireless'; required Use: Conditional: Required unless the 'ServiceType' value is
otherwise. 'wireless'.
XML Element: <ServiceEnvironment> XML Element: <ServiceEnvironment>
Description: This element defines whether a call is from a business Description: This element indicates whether a call is from a
or residence caller. Currently, the only valid entries are business or residence. Currently, the only valid entries are
'Business', 'Residence', and 'unknown'. New values can be defined 'Business', 'Residence', and 'unknown', as shown in Figure 4. New
via the registry created in Figure 22. values can be defined via the registry created in Section 10.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 may be used to provide context How Used by Call Taker: Information may 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. Because there are cases requirements for emergency responders. Because there are
where the service provider does not know (such as anonymous pre- situations where the service provider does not know (such as
paid service), and the type of service does not neccessarily anonymous pre-paid service), and because the type of service does
reflect the nature of the premises (for example, a business line not neccessarily reflect the nature of the premises (for example,
installed in a residence, or wireless service), and the registry a business line installed in a residence, or wireless service),
is not all encompassing, therefore this is at best advisory and the registry is not all-encompassing, this is at best advisory
information, but since it mimics a similar capability in some information, but since it mimics a similar capability in some
current emergency calling systems (e.g., a field in the Automatic current emergency calling systems (e.g., a field in the Automatic
Location Information (ALI) information used with legacy North Location Information (ALI) information used with legacy North
American wireline systems), it is known to be valuable. The American wireline systems), it is known to be valuable. The
service provider uses its best information (such as a rate plan, service 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 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 wireless, this element is OPTIONAL for wireless and REQUIRED for wireless, this element is OPTIONAL for wireless and REQUIRED
otherwise. otherwise.
+-----------+--------------------------+
| Token | Description |
+-----------+--------------------------+
| Business | Business service |
| Residence | Residential service |
| unknown | Type of service unknown |
| | (e.g., anonymous pre- |
| | paid service) |
+-----------+--------------------------+
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. The implied mobility of this service cannot be relied placed (similar to the Class of Service delivered with legacy
upon. A registry with an initial set of values is defined in emergency calls in some some regions). The implied mobility of
Figure 3. this service cannot be relied upon. A registry is created in
Section 10.1.3. The initial set of values is shown in Figure 5.
More than one value MAY be returned. For example, a VoIP inmate
telephone service is a reasonable combination.
Reason for Need: Knowing the type of service may assist the PSAP in
handling of the call.
How Used by Call Taker: Call takers often use this information to
determine what kinds of questions to ask callers, and how much to
rely on supportive information. An emergency call from a prison
is treated differently than a call from a sensor device. As the
information is not always available, and the registry is not all-
encompassing, this is at best advisory information, but since it
mimics a similar capability in some legacy emergency calling
systems, it is known 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, LTE (but |
| | not satellite) | | | not satellite) |
| coin | Fixed public pay/coin telephones: Any | | coin | Fixed public pay/coin telephones: Any |
| | coin or credit card operated device | | | coin or credit card operated device |
| one-way | One way outbound service | | one-way | One way outbound service |
| prison | Inmate call/service | | prison | Inmate call/service |
| temp | Soft dial tone/quick service/warm | | temp | Soft dial tone/quick service/warm |
| | disconnect/suspended | | | disconnect/suspended |
| MLTS-hosted | Hosted multi-line telephone system | | MLTS-hosted | Hosted multi-line telephone system |
| | such as Centrex | | | such as Centrex |
| MLTS-local | Local multi-line telephone system, | | MLTS-local | Local multi-line telephone system, |
| | includes all PBX, key systems, | | | includes all PBX, key systems, |
| | Shared Tenant Service | | | Shared Tenant Service |
| sensor- | | sensor- | These are devices that generate DATA |
| unattended | These are devices that generate DATA | | unattended | ONLY. This is a one-way information |
| | ONLY. This is a one-way information |
| | transmit without interactive media | | | transmit without interactive media |
| sensor- | | | sensor- | Devices that are supported by a |
| attended | Devices that are supported by a | | attended | monitoring service provider or that |
| | monitoring service provider or that |
| | are capable of supporting interactive| | | are capable of supporting interactive|
| | media | | | media |
| POTS | Wireline: Plain Old Telephone Service | | POTS | Wireline: Plain Old Telephone Service |
| VOIP | An over-the-top service that provides | | VOIP | An over-the-top service that provides |
| | communication over arbitrary Internet| | | communication over arbitrary Internet|
| | access (fixed, nomadic, mobile) | | | access (fixed, nomadic, mobile) |
| remote | Off premise extension | | remote | Off-premise extension |
| relay | A service where there is a human third | | relay | A service where a human third-party |
| | party agent who provides additional | | | agent provides additional assistance |
| | assistance. This includes sign | | | This includes sign language relay/ |
| | language relay and telematics | | | interpretation, telematics services |
| | services that provide a human on the | | | that provide a human on the call, |
| | call. | | | and similar services. |
+--------------+----------------------------------------+ +--------------+----------------------------------------+
Figure 3: Service Delivered by Provider to End User Registry. Figure 5: Service Delivered by Provider to End User Registry
More than one value MAY be returned. For example, a VoIP inmate
telephone service is a reasonable combination.
Reason for Need: Knowing the type of service may assist the PSAP
with the handling of the call.
How Used by Call Taker: Call takers often use this information to
determine what kinds of questions to ask callers, and how much to
rely on supportive information. An emergency call from a prison
is treated differently than a call from a sensor device. As the
information is not always available, and the registry is not all
encompassing, this is at best advisory information, but since it
mimics a similar capability in some current emergency calling
systems, it is known to be valuable.
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 may not mobility of the caller's device. As the service provider might
know the characteristics of the actual device or access network not know the characteristics of the actual device or access
used, the value MUST NOT be relied upon. The registry specified network used, the value should be treated as advisory and not be
in Figure 23 reflects the following initial valid entries: relied upon. A registry is created in Section 10.1.4 with the
initial valid entries shown in Figure 6.
* Mobile: the device is able to move at any time
* Fixed: the device is not expected to move unless the service is
relocated
* Nomadic: the device is not expected to change its point of
attachment while on a call
* Unknown: no information is known about the service mobility
environment for the device
Reason for Need: Knowing the service provider's belief of mobility Reason for Need: Knowing the service provider's belief of mobility
may assist the PSAP with the handling of the call. may 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 |
+-----------+----------------------------+
| Mobile | The device is able to move |
| | at any time |
| Fixed | The device is not expected |
| | to move unless the |
| | service is relocated |
| Nomadic | The device is not expected |
| | to change its point of |
| | attachment while on a |
| | call |
| Unknown | No information is known |
| | about the service |
| | mobility environment for |
| | the device |
+-----------+----------------------------+
Figure 6: Service Environment Registry
4.2.4. EmergencyCallData.ServiceInfo Example 4.2.4. EmergencyCallData.ServiceInfo Example
<?xml version="1.0" encoding="UTF-8"?>
<svc:EmergencyCallData.ServiceInfo
xmlns:svc="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<svc:DataProviderReference>2468.IBOC.MLTS.1359@example.org
</svc:DataProviderReference>
<svc:ServiceEnvironment>Business</svc:ServiceEnvironment>
<svc:ServiceType>MLTS-hosted</svc:ServiceType>
<svc:ServiceMobility>Fixed</svc:ServiceMobility>
</svc:EmergencyCallData.ServiceInfo>
Figure 4: EmergencyCallData.ServiceInfo Example. <?xml version="1.0" encoding="UTF-8"?>
<svc:EmergencyCallData.ServiceInfo
xmlns:svc="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo">
<svc:DataProviderReference>2468.IBOC.MLTS.1359@example.org
</svc:DataProviderReference>
<svc:ServiceEnvironment>Business</svc:ServiceEnvironment>
<svc:ServiceType>MLTS-hosted</svc:ServiceType>
<svc:ServiceMobility>Fixed</svc:ServiceMobility>
</svc:EmergencyCallData.ServiceInfo>
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 subtype is device is being used, and by the device itself. The mime subtype is
"application/EmergencyCallData.DeviceInfo+xml". "application/EmergencyCallData.DeviceInfo+xml".
4.3.1. Device Classification 4.3.1. Device Classification
skipping to change at page 20, line 42 skipping to change at page 21, line 30
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 Additional Data Associated with a Call data receive two Additional Data Associated with a Call data
structures, one created by the device and one created by the structures, one created by the device and one created by the
service provider. This information describes the device, not how service provider. This information describes the device, not how
it is being used. This data element defines the kind of device it is being used. This data element defines the kind of device
making the emergency call. The registry with the initial set of making the emergency call. A registry is created in
values is shown in Figure 5. Section 10.1.6 with the initial set of values as shown in
Figure 8.
Reason for Need: The device classification implies the capability of
the calling device and assists in identifying the meaning of the
emergency call location information that is being presented. For
example, does the device require human intervention to initiate a
call or is this call the result of programmed instructions? Does
the calling device have the ability to update location or
condition changes? Is this device interactive or a one-way
reporting device?
How Used by Call Taker: May provide the call taker context regarding
the caller, the capabilities of the calling device or the
environment in which the device is being used, and may assist in
understanding the location information and capabilities of the
calling device. For example, a cordless handset may be outside 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 |
skipping to change at page 21, line 32 skipping to change at page 22, line 32
|personal | Personal telematics device | |personal | Personal telematics device |
|feature-phone | Feature- (not smart-) cellular phone | |feature-phone | Feature- (not smart-) cellular phone |
|smart-phone | Smart-phone cellular phone (native) | |smart-phone | Smart-phone cellular phone (native) |
|smart-phone-app| Soft client app on smart-phone | |smart-phone-app| Soft client app on smart-phone |
|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 5: Device Classification Registry. Figure 8: Device Classification Registry Initial Values
Reason for Need: The device classification implies the capability of
the calling device and assists in identifying the meaning of the
emergency call location information that is being presented. For
example, does the device require human intervention to initiate a
call or is this call the result of programmed instructions? Does
the calling device have the ability to update location or
condition changes? Is this device interactive or a one-way
reporting device?
How Used by Call Taker: May provide the call taker context regarding
the caller, the capabilities of the calling device or the
environment in which the device is being used, and may assist in
understanding the location information and capabilities of the
calling device. For example, a cordless handset may be outside or
next door.
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
skipping to change at page 22, line 32 skipping to change at page 23, line 15
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 calltaker, 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
skipping to change at page 23, line 6 skipping to change at page 23, line 37
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 SIM) making the call or creating an event. Note
that more than one <UniqueDeviceID> may be present, to supply more that more than one <UniqueDeviceID> may be present, to supply more
than one of the identifying values. 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 with an initial set of values can be seen identifier. A registry is created in Section 10.1.7 with an
in Figure 6. initial set of values shown in Figure 9.
Reason for Need: Uniquely identifies the device (or, in the case of
IMSI, a SIM), independent of any signaling identifiers present in
the call signaling stream.
How Used by Call Taker: Probably not used by the call taker; may be
used by PSAP management during an investigation.
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 |
+--------+------------------------------------------+ +--------+------------------------------------------+
Figure 6: Registry with Device Identifier Types. Figure 9: Registry of Device Identifier Types
Reason for Need: Uniquely identifies the device (or, in the case of
IMSI, a SIM), independent of any signaling identifiers present in
the call signaling stream.
How Used by Call Taker: Probably not used by the call taker; may be
used by PSAP management during an investigation.
Example: <UniqueDeviceID TypeOfDeviceID="SN">12345</UniqueDeviceID>
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 which created it. (For example,
a medical device or medical device monitoring service may have a a medical device or medical device monitoring service may 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
skipping to change at page 24, line 13 skipping to change at page 24, line 47
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 device/service specific Use: Conditional. MUST be provided when device/service specific-
additional URI is provided additional URI is provided
XML Element: <DeviceSpecificType> XML Element: <DeviceSpecificType>
Description: Value from a registry defined by this document to Description: A value from the registry defined in Section 10.1.8 to
describe the type of data that can be retrieved from the device/ describe the type of data located at the device/service-specific
service specific additional data structure. Initial values are: additional data structure. The initial values shown in Figure 10
currently only include IEEE 1512, which is the USDoT model for
* IEEE 1512 traffic incidents.
IEEE 1512 is the 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 may have additional data that externally defined schemas, which may have additional data that
may assist in emergency response. may assist in emergency response.
How Used by Call Taker: This data element allows the end user How Used by Call Taker: This data element allows the end user (call
(calltaker or first responder) to know what type of additional taker or first responder) to know what type of additional data may
data may be available to aid in providing the needed emergency be available to aid in providing the needed emergency services.
services.
Note: Information which is specific to a location or a caller Note: Information which is specific to a location or a caller
(person) should not be placed in this section. (person) should not be placed in this section.
+----------+----------------------------+--------------------------------+
| Token | Description | Specification |
+----------+----------------------------+--------------------------------+
| IEEE1512 | Common Incident Management |IEEE 1512-2006 |
| | Message Set (USDoT model |https://standards.ieee.org/ |
| | for traffic incidents) |findstds/standard/1512-2006.html|
+----------+----------------------------+--------------------------------+
Figure 10: Device/Service Data Type Registry
4.3.7. Issues with getting new types of data into use 4.3.7. Issues with getting new types of data into use
This document describes two mechanisms which 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 service specific additional data URL for the DeviceInfo
block. While defining new data types and getting a new device or block. While defining new data types and getting a new device or
application to send the new data may be easy, getting PSAPs and application to send the new data may be easy, getting PSAPs and
responders to actually retrieve the data and use it will be responders to actually retrieve the data and use it will be
difficult. New mechanism providers should understand that acquiring difficult. New mechanism providers should understand that acquiring
and using new forms of data usually require software upgrades at the and using new forms of data usually require software upgrades at the
PSAP and/or responders, as well as training of call takers and PSAP and/or responders, as well as training of call takers and
responders in how to interpret and use the information. Legal and responders in how to interpret and use the information. Legal and
operational review may also be needed. Overwhelming a call taker or operational review may also be needed. Overwhelming a call taker or
skipping to change at page 25, line 19 skipping to change at page 26, line 12
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 may be encouraged to upgrade their systems and train their responders may 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 Implementers should consider that data from sensor-based devices in
some cases may not be useful to call takers or PSAPs (and privacy or some cases may not be useful to call takers or PSAPs (and privacy or
other considerations may preclude the PSAP from touching the data), other considerations may preclude the PSAP from touching the data),
but may be of use to responders. Some standards being developed by but may be of use to responders. Each data item provided with the
other organizations to carry data from the PSAP to responders are call in conformance with this document can be accessed by responders
designed to carry all additional data supplied in the call that or other entities in the emergency services, whether or not the data
conform to this document, even if the PSAP does not fetch or is accessed by the PSAP.
interpret the data. This allows responders to get the data even if
the PSAP does not.
4.3.8. Choosing between defining a new type of block or new type of 4.3.8. Choosing between defining a new type of block or 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 the DeviceInfo block can be used service specific additional data URL the DeviceInfo block can be used
and a new type for it defined . The data passed would likely be the and a new type for it defined . The data passed would likely be the
same in both cases. Considerations for choosing which mechanism to same in both cases. Considerations for choosing which mechanism to
register under include: register under include:
skipping to change at page 26, line 14 skipping to change at page 27, line 9
Availability of a server: Providing the data via the device block Availability of a server: Providing the data via the device block
requires a server be made available to retrieve the data. requires a server be made available to retrieve the data.
Providing the data via new block allows it to be sent by value Providing the data via new block allows it to be sent by value
(CID). (CID).
4.3.9. EmergencyCallData.DeviceInfo Example 4.3.9. 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">
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<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 7: 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 type is "application/EmergencyCallData.SubscriberInfo+xml". The MIME type is "application/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 what information can be displayed and logged. A vary but dictate what information can be displayed and logged. A
general privacy indicator expressing a desire for privacy is general privacy indicator expressing a desire for privacy by the
provided. The interpretation of how this is applied is left to the subscriber is provided. The interpretation of how this is applied is
receiving jurisdiction as the custodians of the local regulatory left to the receiving jurisdiction as the custodians of the local
requirements. regulatory requirements. This matches an equivalent privacy flag
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" which prohibits information, such as the name of the
subscriber, from being displayed. This attribute should be used subscriber, from being displayed. This attribute is provided to
to explicitly indicate whether the subscriber service includes explicitly indicate whether the subscriber service includes such
such constraints. constraints. The interpretation of this indicator is left to each
jurisdiction (in keeping with the semantics of the privacy
indicator provided in some legacy emergency call systems).
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
may not have access to some aspects of the subscriber information. may not have access to some aspects of the subscriber 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 is provided unless it is not Use: Conditional. Subscriber data MUST be provided unless it is not
available. Some services, for example prepaid phones, non- available. Some services, such as prepaid phones, non-initialized
initialized phones, etc., do not have information about the phones, etc., do not have information about the subscriber.
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. If more appropriate), <adr>, <tel>, <email> are suggested at a minimum.
than one TEL property is provided, a parameter from the vCard If more than one <tel> property is provided, a parameter from the
Property Value registry MUST be specified on each TEL. vCard Property Value registry MUST be specified on each <tel>.
While some data (such as <anniversary>) might not seem obviously
relevant for emergency services, any data is 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 may be used to obtain it this data may 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. obtained otherwise. While the location here is not necessarily
that of caller, in some circumstances it can be helpful in
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"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" privacyRequested="false">
privacyRequested="false"> <sub:DataProviderReference>FEABFECD901@example.org
<sub:DataProviderReference>FEABFECD901@example.org </sub:DataProviderReference>
</sub:DataProviderReference> <sub:SubscriberData xmlns="urn:ietf:params:xml:ns:vcard-4.0">
<sub:SubscriberData xmlns="urn:ietf:params:xml:ns:vcard-4.0"> <vcard>
<vcard> <fn><text>Simon Perreault</text></fn>
<fn><text>Simon Perreault</text></fn> <n>
<n> <surname>Perreault</surname>
<surname>Perreault</surname> <given>Simon</given>
<given>Simon</given> <additional/>
<additional/> <prefix/>
<prefix/> <suffix>ing. jr</suffix>
<suffix>ing. jr</suffix> <suffix>M.Sc.</suffix>
<suffix>M.Sc.</suffix> </n>
</n> <bday><date>--0203</date></bday>
<bday><date>--0203</date></bday> <anniversary>
<anniversary> <date-time>20090808T1430-0500</date-time>
<date-time>20090808T1430-0500</date-time> </anniversary>
</anniversary> <gender><sex>M</sex></gender>
<gender><sex>M</sex></gender> <lang>
<lang> <parameters><pref><integer>1</integer></pref>
<parameters><pref><integer>1</integer></pref> </parameters>
</parameters> <language-tag>fr</language-tag>
<language-tag>fr</language-tag> </lang>
</lang> <lang>
<lang> <parameters><pref><integer>2</integer></pref>
<parameters><pref><integer>2</integer></pref> </parameters>
</parameters> <language-tag>en</language-tag>
<language-tag>en</language-tag> </lang>
</lang> <org>
<org> <parameters><type><text>work</text></type>
<parameters><type><text>work</text></type> </parameters>
</parameters> <text>Viagenie</text>
<text>Viagenie</text> </org>
</org> <adr>
<adr> <parameters>
<parameters> <type><text>work</text></type>
<type><text>work</text></type> <label><text>Simon Perreault
<label><text>Simon Perreault 2875 boul. Laurier, suite D2-630
2875 boul. Laurier, suite D2-630 Quebec, QC, Canada
Quebec, QC, Canada G1V 2M2</text></label>
G1V 2M2</text></label> </parameters>
</parameters> <pobox/>
<pobox/> <ext/>
<ext/> <street>2875 boul. Laurier, suite D2-630</street>
<street>2875 boul. Laurier, suite D2-630</street> <locality>Quebec</locality>
<locality>Quebec</locality> <region>QC</region>
<region>QC</region> <code>G1V 2M2</code>
<code>G1V 2M2</code> <country>Canada</country>
<country>Canada</country> </adr>
</adr> <tel>
<tel> <parameters>
<parameters> <type>
<type> <text>work</text>
<text>work</text> <text>voice</text>
<text>voice</text> </type>
</type> </parameters>
</parameters> <uri>tel:+1-418-656-9254;ext=102</uri>
<uri>tel:+1-418-656-9254;ext=102</uri> </tel>
</tel> <tel>
<tel> <parameters>
<parameters> <type>
<type> <text>work</text>
<text>work</text> <text>text</text>
<text>text</text> <text>voice</text>
<text>voice</text> <text>cell</text>
<text>cell</text> <text>video</text>
<text>video</text> </type>
</type> </parameters>
</parameters> <uri>tel:+1-418-262-6501</uri>
<uri>tel:+1-418-262-6501</uri> </tel>
</tel> <email>
<email> <parameters><type><text>work</text></type>
<parameters><type><text>work</text></type> </parameters>
</parameters> <text>simon.perreault@viagenie.ca</text>
<text>simon.perreault@viagenie.ca</text> </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://www.viagenie.ca/simon.perreault/simon.asc
http://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 8: 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 subtype is "application/ machine-readable content. The mime subtype is "application/
EmergencyCallData.Comment+xml" EmergencyCallData.Comment+xml"
4.5.1. Comment 4.5.1. Comment
skipping to change at page 30, line 33 skipping to change at page 31, line 33
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">
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<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 9: EmergencyCallData.Comment Example. Figure 13: EmergencyCallData.Comment Example.
5. Data Transport Mechanisms 5. 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 the call signaling; the second uses the <provided-by> element of a
PIDF-LO [RFC4119]. PIDF-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, is in an existing SIP header field, the Call-Info header, is
skipping to change at page 31, line 28 skipping to change at page 32, line 27
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 inspect the data it is type of data provided and selectively inspect 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. To be conveyed in a SIP references) to downstream entities. To be conveyed in a SIP
body, additional data about a call is defined as a series of MIME body, additional data about a call is defined as a series of MIME
objects. Each block defined in this document is an XML data objects. Each block defined in this document is an XML data
structure identified by its MIME type. (Blocks defined by others structure identified by its MIME type. (Blocks defined by others
may be encoded in XML or not, as identified by their MIME may be encoded in XML or not, as identified by their MIME
registration.) As usual, whenever more than one MIME part is registration.) As usual, whenever more than one MIME part is
included in the body of a message, MIME-multipart (i.e., included in the body of a message, MIME multipart (i.e.,
'multipart/mixed') encloses them all. This document defines a 'multipart/mixed') encloses them all. This document defines a
set of XML schemas and MIME types used for each block defined set of XML schemas and MIME types used for each block defined
here. When additional data is passed by value in the SIP here. When additional data is passed by value in the SIP
signaling, each CID URL points to one block in the body. signaling, each CID URL points to one block in the body.
Multiple URIs are used within a Call-Info header field (or Multiple URIs are used within a Call-Info header field (or
multiple Call-Info header fields) to point to multiple blocks. multiple Call-Info header fields) to point to multiple blocks.
When additional data is provided by reference (in SIP signaling When additional data is provided by reference (in SIP signaling
or provided-by), each HTTPS URL references one block; the data is or the <provided-by> element of a PIDF-LO), each HTTPS URL
retrieved with an HTTPS GET operation, which returns one of the references one block; the data is retrieved with an HTTPS GET
blocks as an object (the blocks defined here are returned as XML operation, which returns the block as an object (the blocks
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. In <provided-by> element of a PIDF-LO [RFC4119] is defined. In
addition to service providers in the call path, the access addition to service providers in the call path, the access
network provider may also have similar information that may be network provider may also have similar information that can be
valuable to the PSAP. The access network provider MAY provide valuable to the PSAP. When the access network provider supplies
location in the form of a PIDF-LO from a location server via a location information in the form of a PIDF-LO from a location
location configuration protocol. The data structures described server via a location configuration protocol, it has the ability
in this document are not specific to the location itself, but to add the data structures defined in this document within the
rather provides descriptive information having to do with the PIDF-LO. The data in these data structures is not specific to
immediate circumstances about the provision of the location (who the location itself, but rather provides descriptive information
the access network is, how to contact that entity, what kind of having to do with the immediate circumstances about the provision
service the access network provides, subscriber information, of the location (e.g., the identity of the access network
etc.). This data is similar in nearly every respect to the data provider, how to contact that entity, what kind of service the
known by service providers in the path of the call. When the access network provides, subscriber information, etc.). This
access network provider and service provider are separate data is similar in nearly every respect to the data known by
entities, the access network does not participate in the service providers in the path of the call. When the access
application layer signaling (and hence cannot add a Call-Info network provider and service provider are separate entities, the
header field to the SIP message), but may provide location access network does not participate in the application layer
information in a PIDF-LO object to assist in locating the signaling (and hence cannot add a Call-Info header field to the
caller's device. The <provided-by> element of the PIDF-LO is a SIP message), but can provide location information in a PIDF-LO.
mechanism for the access network provider to supply the The <provided-by> element of the PIDF-LO is a mechanism for the
information about the entity or organization that supplied this access network provider to supply the information. For this
location information. For this reason, this document describes a reason, this document describes a namespace per [RFC4119] for
namespace per RFC 4119 for inclusion in the <provided-by> element inclusion in the <provided-by> element of a PIDF-LO for adding
of a PIDF-LO for adding information known to the access network information known to the access network provider. The access
provider. The access network provider SHOULD provide additional network provider SHOULD provide additional data within a
data within a <provided-by> element of a PDIF-LO it returns for <provided-by> element of a PDIF-LO it returns for emergency use
emergency use (e.g., if requested with a HELD "responseTime" (e.g., if requested with a HELD "responseTime" attribute of
attribute of "emergencyRouting" or "emergencyDispatch" "emergencyRouting" or "emergencyDispatch" [RFC5985]).
[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 10.1, may be included Additional Data registry, as defined in Section 10.1.9, can be
or referenced in the SIP signaling (using the Call-Info header field) included or referenced in the SIP signaling (using the Call-Info
or in the <provided-by> element of a PIDF-LO. Every block must be header field) or in the <provided-by> element of a PIDF-LO. For
one of the types in the registry. Since the data of an emergency interoperability, only blocks in the registry are permitted to be
call may come from multiple sources, the data itself needs sent using the mechanisms specified in this document. Since multiple
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 the "Data Provider" block. All other additional data MUST supply a "Data Provider" block. All other
blocks are optional, but each entity SHOULD supply any 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.
5.1. Transmitting Blocks using the Call-Info Header 5.1. Transmitting Blocks using the Call-Info Header
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) with a Call-Info header field method (most often INVITE or MESSAGE) with a Call-Info header field
containing a purpose value starting with 'EmergencyCallData' and the containing a purpose value starting with 'EmergencyCallData' and the
type of data available at the URI. The type of data is denoted by type of data available at the URI. The type of data is denoted by
including the root of the MIME type (not including the including the root of the MIME type (not including the
'EmergencyCallData' prefix and any suffix such as '+xml') with a '.' 'EmergencyCallData' prefix and any suffix such as '+xml') with a '.'
separator. For example, when referencing a block with MIME type separator. For example, when referencing a block with MIME type
'application/EmergencyCallData.ProviderInfo+xml', the 'purpose' '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 with a purpose value starting with A Call-info header with a purpose value starting with
'EmergencyCallData' MUST only be sent on an emergency call, which can 'EmergencyCallData' only has meaning in the context of an emergency
be ascertained by the presence of an emergency service urn in a Route call (as ascertained by the presence of an emergency service URN in a
header of a SIP message. Request-URI header of a SIP message), test emergency calls (using an
appropriate service URN), and some private-use calls where the
endpoints have a preexisting relationship and privacy concerns do not
apply because of the relationship; use in other contexts is 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 applied and consequently Transport Layer Security (TLS) protection is applied
for protecting the retrieval of the information. for protecting the retrieval of the information.
The data may also be supplied by value in any SIP request or response The data may 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).
In this case, Content Indirection (CID) [RFC2392] is used, with the In this case, Content Indirection (CID) [RFC2392] is used, with the
CID URL referencing the MIME body part containing the data. CID URL referencing the MIME body part containing the data. Note
that [RFC3261] forbids proxies from altering message bodies, so
entities in the call path that add blocks by value need to do so
using an appropriate SIP entity (e.g., a back-to-back user 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 8 and Section 9. value, as discussed in Section 8 and Section 9.
More than one Call-Info header with a purpose value starting with More than one Call-Info header with a purpose value starting with
'EmergencyCallData' can be expected, but at least one MUST be 'EmergencyCallData' can be expected, but at least one MUST be
provided. The device MUST provide one if it knows no service provided. The device MUST provide one if it knows no service
provider is in the path of the call. The device MAY insert one if it provider is in the path of the call. The device MAY insert one if it
uses a service provider. Any service provider in the path of the uses a service provider. Any service provider in the path of the
call MUST insert its own. For example, a device, a telematics call MUST insert its own. For example, a device, a telematics
service provider in the call path, as well as the mobile carrier service provider in the call path, as well as the mobile carrier
handling the call will each provide one. There may be circumstances handling the call will each provide one. There may be circumstances
where there is a service provider who is unaware that the call is an where there is a service provider who is unaware that the call is an
emergency call and cannot reasonably be expected to determine that it emergency call and cannot reasonably be expected to determine that it
is an emergency call. In that case, that service provider is not is an emergency call. In that case, that service provider is not
expected to provide EmergencyCallData. expected to provide EmergencyCallData.
5.2. Transmitting Blocks by Reference using the provided-by Element 5.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 5.1). field (as specified in Section 5.1).
For example, to reference a block with MIME type 'application/ For example, to reference a block with MIME 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"/>
The 'EmergencyCallDataReference' element transmits one additional The <EmergencyCallDataReference> element transmits one data block;
data block; multiple additional data blocks may be transmitted by multiple data blocks may be transmitted by using multiple
using multiple 'EmergencyCallDataReference' elements. <EmergencyCallDataReference> elements. Multiple
<EmergencyCallDataReference> elements MAY be included as child
For example: elements inside the <provided-by> element.
<?xml version="1.0" encoding="UTF-8"?> The following is a simplified example:
<gp:provided-by
xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10"
xmlns="urn:ietf:params:xml:ns:EmergencyCallData">
<provided-by
<EmergencyCallDataReference <EmergencyCallDataReference
purpose="EmergencyCallData.ServiceInfo" purpose="EmergencyCallData.ServiceInfo"
ref="https://example.com/ref2" /> ref="https://example.com/ref2" />
<EmergencyCallDataReference <EmergencyCallDataReference
purpose="EmergencyCallData.ProviderInfo" purpose="EmergencyCallData.ProviderInfo"
ref="https://example.com/ref3" /> ref="https://example.com/ref3" />
<EmergencyCallDataReference <EmergencyCallDataReference
purpose="EmergencyCallData.Comment" purpose="EmergencyCallData.Comment"
ref="https://example.com/ref4" /> ref="https://example.com/ref4" />
</provided-by>
</gp: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
<EmergencyCallDataReference> element pointing to an
EmergencyCallData.ServiceInfo data block with the URL in the 'ref'
attribute and the purpose attribute set to
"EmergencyCallData.ServiceInfo".
5.3. Transmitting Blocks by Value using the provided-by Element 5.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, but they MAY provide the data by value. this document by reference, but they MAY provide the data by value.
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
as would be contained in the corresponding MIME type body part is as would be contained in the corresponding MIME type body part is
placed inside the <EmergencyCallDataValue> element.) placed inside the <EmergencyCallDataValue> element.) Multiple
<EmergencyCallDataValue> elements MAY be included as child elements
in the <provided-by> element.
For example: The following is a simplified example:
<?xml version="1.0" encoding="UTF-8"?> <provided-by
<gp:provided-by
xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10"
xmlns="urn:ietf:params:xml:ns:EmergencyCallData">
<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>
skipping to change at page 35, line 38 skipping to change at page 36, line 42
xmlns= xmlns=
"urn:ietf:params:xml:ns:EmergencyCallData:Comment"> "urn:ietf:params:xml:ns:EmergencyCallData:Comment">
<DataProviderReference>flurbit735@es.example.com <DataProviderReference>flurbit735@es.example.com
</DataProviderReference> </DataProviderReference>
<Comment xml:lang="en">This is an example text. <Comment xml:lang="en">This is an example text.
</Comment> </Comment>
</EmergencyCallData.Comment> </EmergencyCallData.Comment>
</EmergencyCallDataValue> </EmergencyCallDataValue>
</gp:provided-by> </provided-by>
Example provided-by by Value. Example <provided-by> by Value
For an example in context, Figure 18 shows a PIDF-LO example that
contains a <provided-by> element with the
<EmergencyCallData.ProviderInfo> and the <EmergencyCallData.Comment>
elements as child elements of an <EmergencyCallDataValue> element.
5.4. The Content-Disposition Parameter 5.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, SDP, and additional data in
body of a SIP message requires a 'multipart' message body. body of a SIP message requires a 'multipart' message body.
skipping to change at page 36, line 18 skipping to change at page 37, line 28
type or disposition type it does not understand. If the 'handling' type or disposition type it does not understand. If the 'handling'
parameter has the value "optional", the UAS ignores the message body. parameter has the value "optional", the UAS ignores the message body.
If the 'handling' parameter has the value "required", the UAS returns If the 'handling' parameter has the value "required", the UAS returns
a 415 (Unsupported Media Type) response. The 'by-reference' a 415 (Unsupported Media Type) response. The 'by-reference'
disposition type allows a SIP message to contain a reference to the disposition type allows a SIP message to contain a reference to the
body part, and the SIP UA processes the body part according to the body part, and the SIP UA processes the body part according to the
reference. This is the case for the Call-info header containing a reference. This is the case for the Call-info header containing a
Content Indirection (CID) URL. Content Indirection (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 10. 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 36, line 43 skipping to change at page 38, line 28
--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 10: Example for use of the Content-Disposition Parameter in Figure 14: Example for use of the Content-Disposition Parameter in
SIP. SIP
6. Examples 6. 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 11. 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 (via the PIDF-LO), and provided device, included by the VoIP provider, and provided by the access
by the access network provider. 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 [ ]
-------------------------------------------------------> ] ------------------------------------------------------> ]
+Device Info [ ] +Device Info [ ] +Device Info [ ] +Device Info [ ]
+Data Prov. Info [ ^ ] +Data Provider Info [ | ] +Data Prov. Info [ ^ ] +Data Provider Info [ | ]
+Location URI [=======.====] +Location URI [==|==========] +Location URI [=======.====] +Location URI [====|========]
. | . |
. | . |
+Location . [==============] | +Location . [==============] |
+Owner/Subscriber Info . [ ] (3) | +Owner/Subscriber Info . [ ] (3) |
+Device Info . (4) [ <----------+ +Device Info . (4) [ <------------+
+Data Provider Info #3 ..........> ] Emergency Call +Data Provider Info #3 ..........> ] Emergency Call
[ ] +Device Info [ ] +Device Info
[ PSAP ] +Data Prov. Info #2 [ PSAP ] +Data Prov. Info #2
[ ] +Location URI [ ] +Location URI
[==============] [==============]
Legend: Legend:
--- Emergency Call Setup Procedure --- Emergency Call Setup Procedure
... Location Retrieval/Response ... Location Retrieval/Response
Figure 11: Additional Data Example Flow Figure 15: Additional Data Example Flow
The example scenario starts with the end device itself adding device The example scenario starts with the end device itself adding device
information, owner/subscriber information, a location URI, and data information, owner/subscriber information, a location URI, and data
provider information to the outgoing emergency call setup message provider information to the outgoing emergency call setup message
(see step #1 in Figure 11). The SIP INVITE example is shown in (see step #1 in Figure 15). The SIP INVITE example is shown in
Figure 12. Figure 16.
INVITE urn:service:sos SIP/2.0 INVITE urn:service:sos 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
Call-Info: <http://wwww.example.com/hannes/photo.jpg> Call-Info: <http://wwww.example.com/hannes/photo.jpg>
;purpose=icon, ;purpose=icon,
<http://www.example.com/hannes/> ;purpose=info, <http://www.example.com/hannes/> ;purpose=info,
<cid:1234567890@atlanta.example.com> <cid:1234567890@atlanta.example.com>
;purpose=EmergencyCallData.ProviderInfo, ;purpose=EmergencyCallData.ProviderInfo,
<cid:0123456789@atlanta.example.com>
;purpose=EmergencyCallData.DeviceInfo
Geolocation: <https://ls.example.net:9768/357yc6s64ceyoiuy5ax3o>
Geolocation-Routing: yes
Accept: application/sdp, application/pidf+xml,
application/EmergencyCallData.ProviderInfo+xml
CSeq: 31862 INVITE
Contact: <sips:hannes@example.com>
Content-Type: multipart/mixed; boundary=boundary1
Content-Length: ... <cid:0123456789@atlanta.example.com>
;purpose=EmergencyCallData.DeviceInfo
Geolocation: <https://ls.example.net:9768/357yc6s64ceyoiuy5ax3o>
Geolocation-Routing: yes
Accept: application/sdp, application/pidf+xml,
application/EmergencyCallData.ProviderInfo+xml
CSeq: 31862 INVITE
Contact: <sips:hannes@example.com>
Content-Type: multipart/mixed; boundary=boundary1
--boundary1 Content-Length: ...
Content-Type: application/sdp --boundary1
...SDP goes here Content-Type: application/sdp
--boundary1-- ...SDP goes here
Content-Type: application/EmergencyCallData.DeviceInfo+xml --boundary1--
Content-ID: <0123456789@atlanta.example.com>
Content-Disposition: by-reference;handling=optional
<?xml version="1.0" encoding="UTF-8"?>
<dev:EmergencyCallData.DeviceInfo Content-Type: application/EmergencyCallData.DeviceInfo+xml
xmlns:dev="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo" Content-ID: <0123456789@atlanta.example.com>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> Content-Disposition: by-reference;handling=optional
<dev:DataProviderReference>d4b3072df09876543@[93.184.216.119] <?xml version="1.0" encoding="UTF-8"?>
</dev:DataProviderReference>
<dev:DeviceClassification>laptop</dev:DeviceClassification>
<dev:UniqueDeviceID
TypeOfDeviceID="MAC">00-0d-4b-30-72-df</dev:UniqueDeviceID>
</dev:EmergencyCallData.DeviceInfo>
--boundary1-- <dev:EmergencyCallData.DeviceInfo
xmlns:dev="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo">
<dev:DataProviderReference>d4b3072df09876543@[93.184.216.119]
</dev:DataProviderReference>
<dev:DeviceClassification>laptop</dev:DeviceClassification>
<dev:UniqueDeviceID
TypeOfDeviceID="MAC">00-0d-4b-30-72-df</dev:UniqueDeviceID>
</dev:EmergencyCallData.DeviceInfo>
Content-Type: application/EmergencyCallData.ProviderInfo+xml --boundary1--
Content-ID: <1234567890@atlanta.example.com>
Content-Disposition: by-reference;handling=optional
<?xml version="1.0" encoding="UTF-8"?>
<pi:EmergencyCallData.ProviderInfo
xmlns:pi="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<pi:DataProviderReference>d4b3072df09876543@[93.184.216.119]
</pi:DataProviderReference>
<pi:DataProviderString>Hannes Tschofenig
</pi:DataProviderString>
<pi:TypeOfProvider>Other</pi:TypeOfProvider>
<pi:ContactURI>tel:+1-555-555-0123</pi:ContactURI>
<pi:Language>en</pi:Language>
<pi:DataProviderContact
xmlns:xc="urn:ietf:params:xml:ns:vcard-4.0">
<vcard>
<fn><text>Hannes Tschofenig</text></fn>
<n>
<surname>Hannes</surname>
<given>Tschofenig</given>
<additional/>
<prefix/>
<suffix>Dipl. Ing.</suffix>
</n>
<bday><date>--0203</date></bday>
<anniversary>
<date-time>20090808T1430-0500</date-time>
</anniversary>
<gender><sex>M</sex></gender>
<lang>
<parameters><pref><integer>1</integer></pref>
</parameters>
<language-tag>de</language-tag>
</lang>
<lang>
<parameters><pref><integer>2</integer></pref>
</parameters>
<language-tag>en</language-tag>
</lang>
<adr>
<parameters>
<type><text>work</text></type>
<label><text>Hannes Tschofenig
Linnoitustie 6
Espoo, Finland
02600</text></label>
</parameters>
<pobox/>
<ext/>
<street>Linnoitustie 6</street>
<locality>Espoo</locality>
<region>Uusimaa</region>
<code>02600</code>
<country>Finland</country>
</adr>
<tel>
<parameters>
<type>
<text>work</text>
<text>voice</text>
</type>
</parameters>
<uri>tel:+358 50 4871445</uri>
</tel>
<email>
<parameters><type><text>work</text></type>
</parameters>
<text>hannes.tschofenig@nsn.com</text>
</email>
<geo>
<parameters><type><text>work</text></type>
</parameters>
<uri>geo:60.210796,24.812924</uri>
</geo>
<key>
<parameters>
<type><text>home</text></type>
</parameters>
<uri>https://www.example.com/key.asc
</uri>
</key>
<tz><text>Finland/Helsinki</text></tz>
<url>
<parameters><type><text>home</text></type>
</parameters>
<uri>http://example.com/hannes.tschofenig
</uri>
</url>
</vcard>
</pi:DataProviderContact>
</pi:EmergencyCallData.ProviderInfo>
--boundary1--
Figure 12: End Device sending SIP INVITE with Additional Data. Content-Type: application/EmergencyCallData.ProviderInfo+xml
Content-ID: <1234567890@atlanta.example.com>
Content-Disposition: by-reference;handling=optional
<?xml version="1.0" encoding="UTF-8"?>
<pi:EmergencyCallData.ProviderInfo
xmlns:pi="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo">
<pi:DataProviderReference>d4b3072df09876543@[93.184.216.119]
</pi:DataProviderReference>
<pi:DataProviderString>Hannes Tschofenig
</pi:DataProviderString>
<pi:TypeOfProvider>Client</pi:TypeOfProvider>
<pi:ContactURI>tel:+1-555-555-0123</pi:ContactURI>
<pi:Language>en</pi:Language>
<pi:DataProviderContact
xmlns="urn:ietf:params:xml:ns:vcard-4.0">
<vcard>
<fn><text>Hannes Tschofenig</text></fn>
<n>
<surname>Hannes</surname>
<given>Tschofenig</given>
<additional/>
<prefix/>
<suffix>Dipl. Ing.</suffix>
</n>
<bday><date>--0203</date></bday>
<anniversary>
<date-time>20090808T1430-0500</date-time>
</anniversary>
<gender><sex>M</sex></gender>
<lang>
<parameters><pref><integer>1</integer></pref>
</parameters>
<language-tag>de</language-tag>
</lang>
<lang>
<parameters><pref><integer>2</integer></pref>
</parameters>
<language-tag>en</language-tag>
</lang>
<adr>
<parameters>
<type><text>work</text></type>
<label><text>Hannes Tschofenig
Linnoitustie 6
Espoo, Finland
02600</text></label>
</parameters>
<pobox/>
<ext/>
<street>Linnoitustie 6</street>
<locality>Espoo</locality>
<region>Uusimaa</region>
<code>02600</code>
<country>Finland</country>
</adr>
<adr>
<parameters>
<type><text>home</text></type>
<label><text>Hannes Tschofenig
c/o Hotel DuPont
42 W 11th St
Wilmington, DE 19801
USA</text></label>
</parameters>
<pobox/>
<ext/>
<street>42 W 11th St</street>
<locality>Wilmington</locality>
<region>DE</region>
<code>19801</code>
<country>USA</country>
</adr>
<tel>
<parameters>
<type>
<text>work</text>
<text>voice</text>
</type>
</parameters>
<uri>tel:+358 50 4871445</uri>
</tel>
<tel>
<parameters>
<type>
<text>home</text>
<text>voice</text>
</type>
</parameters>
<uri>tel:+1 555 555 0123</uri>
</tel>
<email>
<parameters><type><text>work</text></type>
</parameters>
<text>hannes.tschofenig@nsn.com</text>
</email>
<geo>
<parameters><type><text>work</text></type>
</parameters>
<uri>geo:60.210796,24.812924</uri>
</geo>
<geo>
<parameters><type><text>home</text></type>
</parameters>
<uri>geo:39.746537,-75.548027</uri>
</geo>
<key>
<parameters>
<type><text>home</text></type>
</parameters>
<uri>https://www.example.com/key.asc
</uri>
</key>
<tz><text>Finland/Helsinki</text></tz>
<url>
<parameters><type><text>home</text></type>
</parameters>
<uri>http://example.com/hannes.tschofenig
</uri>
</url>
</vcard>
</pi:DataProviderContact>
</pi:EmergencyCallData.ProviderInfo>
--boundary1--
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 look-up 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, including 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 that deploys a back-to-back user agent allowing additional
data to be included in the body of the SIP message (rather than per data to be included in the body of the SIP message (rather than by
reference in the header), which allows us to illustrate the use of reference), which allows us to illustrate the use of multiple data
multiple data provider info blocks. The resulting message is shown provider info blocks. The resulting message is shown in Figure 17.
in Figure 13. 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
Call-Info: <http://wwww.example.com/hannes/photo.jpg> Call-Info: <http://wwww.example.com/hannes/photo.jpg>
;purpose=icon, ;purpose=icon,
<http://www.example.com/hannes/> ;purpose=info, <http://www.example.com/hannes/> ;purpose=info,
<cid:1234567890@atlanta.example.com> <cid:1234567890@atlanta.example.com>
;purpose=EmergencyCallData.ProviderInfo ;purpose=EmergencyCallData.ProviderInfo
<cid:0123456789@atlanta.example.com> <cid:0123456789@atlanta.example.com>
;purpose=EmergencyCallData.DeviceInfo ;purpose=EmergencyCallData.DeviceInfo
Call-Info: <cid:bloorpyhex@atlanta.example.com> Call-Info: <cid:bloorpyhex@atlanta.example.com>
;purpose=EmergencyCallData.ServiceInfo ;purpose=EmergencyCallData.ServiceInfo
Call-Info: <cid:aaabbb@atlanta.example.com> Call-Info: <cid:aaabbb@atlanta.example.com>
;purpose=EmergencyCallData.ProviderInfo ;purpose=EmergencyCallData.ProviderInfo
Geolocation: <https://ls.example.net:9768/357yc6s64ceyoiuy5ax3o> Geolocation: <https://ls.example.net:9768/357yc6s64ceyoiuy5ax3o>
Geolocation-Routing: yes Geolocation-Routing: yes
Accept: application/sdp, application/pidf+xml, Accept: application/sdp, application/pidf+xml,
application/EmergencyCallData.ProviderInfo+xml application/EmergencyCallData.ProviderInfo+xml
CSeq: 31862 INVITE CSeq: 31862 INVITE
Contact: <sips:hannes@example.com> Contact: <sips:hannes@example.com>
Content-Type: multipart/mixed; boundary=boundary1 Content-Type: multipart/mixed; boundary=boundary1
Content-Length: ... Content-Length: ...
--boundary1 --boundary1
Content-Type: application/sdp Content-Type: application/sdp
...SDP goes here
--boundary1-- ...SDP goes here
Content-Type: application/EmergencyCallData.DeviceInfo+xml --boundary1--
Content-ID: <0123456789@atlanta.example.com>
Content-Disposition: by-reference;handling=optional
<?xml version="1.0" encoding="UTF-8"?>
<dev:EmergencyCallData.DeviceInfo Content-Type: application/EmergencyCallData.DeviceInfo+xml
xmlns:dev="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo" Content-ID: <0123456789@atlanta.example.com>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> Content-Disposition: by-reference;handling=optional
<dev:DataProviderReference>d4b3072df09876543@[93.184.216.119] <?xml version="1.0" encoding="UTF-8"?>
</dev:DataProviderReference>
<dev:DeviceClassification>laptop</dev:DeviceClassification>
<dev:UniqueDeviceID
TypeOfDeviceID="MAC">00-0d-4b-30-72-df</dev:UniqueDeviceID>
</dev:EmergencyCallData.DeviceInfo>
--boundary1-- <dev:EmergencyCallData.DeviceInfo
xmlns:dev="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo">
<dev:DataProviderReference>d4b3072df09876543@[93.184.216.119]
</dev:DataProviderReference>
<dev:DeviceClassification>laptop</dev:DeviceClassification>
<dev:UniqueDeviceID
TypeOfDeviceID="MAC">00-0d-4b-30-72-df</dev:UniqueDeviceID>
</dev:EmergencyCallData.DeviceInfo>
Content-Type: application/EmergencyCallData.ProviderInfo+xml --boundary1--
Content-ID: <1234567890@atlanta.example.com>
Content-Disposition: by-reference;handling=optional Content-Type: application/EmergencyCallData.ProviderInfo+xml
<?xml version="1.0" encoding="UTF-8"?> Content-ID: <1234567890@atlanta.example.com>
<pi:EmergencyCallData.ProviderInfo Content-Disposition: by-reference;handling=optional
xmlns:pi="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo" <?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <pi:EmergencyCallData.ProviderInfo
<pi:DataProviderReference>d4b3072df09876543@[93.184.216.119] xmlns:pi="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo">
</pi:DataProviderReference> <pi:DataProviderReference>d4b3072df09876543@[93.184.216.119]
</pi:DataProviderReference>
<pi:DataProviderString>Hannes Tschofenig <pi:DataProviderString>Hannes Tschofenig
</pi:DataProviderString> </pi:DataProviderString>
<pi:TypeOfProvider>Other</pi:TypeOfProvider> <pi:TypeOfProvider>Client</pi:TypeOfProvider>
<pi:ContactURI>tel:+1-555-555-0123</pi:ContactURI> <pi:ContactURI>tel:+1-555-555-0123</pi:ContactURI>
<pi:Language>en</pi:Language> <pi:Language>en</pi:Language>
<pi:DataProviderContact <pi:DataProviderContact
xmlns:xc="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>
<surname>Hannes</surname> <surname>Hannes</surname>
<given>Tschofenig</given> <given>Tschofenig</given>
<additional/> <additional/>
<prefix/> <prefix/>
<suffix>Dipl. Ing.</suffix> <suffix>Dipl. Ing.</suffix>
</n> </n>
<bday><date>--0203</date></bday> <bday><date>--0203</date></bday>
<anniversary> <anniversary>
<date-time>20090808T1430-0500</date-time> <date-time>20090808T1430-0500</date-time>
</anniversary> </anniversary>
<gender><sex>M</sex></gender> <gender><sex>M</sex></gender>
<lang> <lang>
<parameters><pref><integer>1</integer></pref> <parameters><pref><integer>1</integer></pref>
</parameters> </parameters>
<language-tag>de</language-tag> <language-tag>de</language-tag>
</lang> </lang>
<lang> <lang>
<parameters><pref><integer>2</integer></pref> <parameters><pref><integer>2</integer></pref>
</parameters> </parameters>
<language-tag>en</language-tag> <language-tag>en</language-tag>
</lang> </lang>
<adr> <adr>
<parameters> <parameters>
<type><text>work</text></type> <type><text>work</text></type>
<label><text>Hannes Tschofenig <label><text>Hannes Tschofenig
Linnoitustie 6 Linnoitustie 6
Espoo, Finland Espoo, Finland
02600</text></label> 02600</text></label>
</parameters> </parameters>
<pobox/> <pobox/>
<ext/> <ext/>
<street>Linnoitustie 6</street> <street>Linnoitustie 6</street>
<locality>Espoo</locality> <locality>Espoo</locality>
<region>Uusimaa</region> <region>Uusimaa</region>
<code>02600</code> <code>02600</code>
<country>Finland</country> <country>Finland</country>
</adr> </adr>
<tel> <adr>
<parameters> <parameters>
<type> <type><text>home</text></type>
<text>work</text> <label><text>Hannes Tschofenig
<text>voice</text> c/o Hotel DuPont
</type> 42 W 11th St
</parameters> Wilmington, DE 19801
<uri>tel:+358 50 4871445</uri> USA</text></label>
</tel> </parameters>
<email> <pobox/>
<parameters><type><text>work</text></type> <ext/>
</parameters> <street>42 W 11th St</street>
<text>hannes.tschofenig@nsn.com</text> <locality>Wilmington</locality>
</email> <region>DE</region>
<geo> <code>19801</code>
<parameters><type><text>work</text></type> <country>USA</country>
</parameters> </adr>
<uri>geo:60.210796,24.812924</uri> <tel>
</geo> <parameters>
<key> <type>
<parameters> <text>work</text>
<type><text>home</text></type> <text>voice</text>
</parameters> </type>
<uri>https://www.example.com/key.asc </parameters>
</uri> <uri>tel:+358 50 4871445</uri>
</key> </tel>
<tz><text>Finland/Helsinki</text></tz> <tel>
<url> <parameters>
<parameters><type><text>home</text></type> <type>
</parameters> <text>home</text>
<uri>http://example.com/hannes.tschofenig <text>voice</text>
</uri> </type>
</url> </parameters>
</vcard> <uri>tel:+1 555 555 0123</uri>
</pi:DataProviderContact> </tel>
</pi:EmergencyCallData.ProviderInfo> <email>
<parameters><type><text>work</text></type>
</parameters>
<text>hannes.tschofenig@nsn.com</text>
</email>
<geo>
<parameters><type><text>work</text></type>
</parameters>
<uri>geo:60.210796,24.812924</uri>
</geo>
<geo>
<parameters><type><text>home</text></type>
</parameters>
<uri>geo:39.746537,-75.548027</uri>
</geo>
<key>
<parameters>
<type><text>home</text></type>
</parameters>
<uri>https://www.example.com/key.asc
</uri>
</key>
<tz><text>Finland/Helsinki</text></tz>
<url>
<parameters><type><text>home</text></type>
</parameters>
<uri>http://example.com/hannes.tschofenig
</uri>
</url>
</vcard>
</pi:DataProviderContact>
</pi:EmergencyCallData.ProviderInfo>
--boundary1-- --boundary1--
Content-Type: application/EmergencyCallData.ServiceInfo+xml Content-Type: application/EmergencyCallData.ServiceInfo+xml
Content-ID: <bloorpyhex@atlanta.example.com> Content-ID: <bloorpyhex@atlanta.example.com>
Content-Disposition: by-reference;handling=optional Content-Disposition: by-reference;handling=optional
<?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">
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <svc:DataProviderReference>string0987654321@example.org
<svc:DataProviderReference>string0987654321@example.org </svc:DataProviderReference>
</svc:DataProviderReference> <svc:ServiceEnvironment>Residence</svc:ServiceEnvironment>
<svc:ServiceEnvironment>Residence</svc:ServiceEnvironment> <svc:ServiceType>VOIP</svc:ServiceType>
<svc:ServiceType>VOIP</svc:ServiceType> <svc:ServiceMobility>Unknown</svc:ServiceMobility>
<svc:ServiceMobility>Unknown</svc:ServiceMobility> </svc:EmergencyCallData.ServiceInfo>
</svc:EmergencyCallData.ServiceInfo>
--boundary1-- --boundary1--
Content-Type: application/EmergencyCallData.ProviderInfo+xml Content-Type: application/EmergencyCallData.ProviderInfo+xml
Content-ID: <aaabbb@atlanta.example.com> Content-ID: <aaabbb@atlanta.example.com>
Content-Disposition: by-reference;handling=optional Content-Disposition: by-reference;handling=optional
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<pi:EmergencyCallData.ProviderInfo <pi:EmergencyCallData.ProviderInfo
xmlns:pi="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo" xmlns:pi="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo">
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <pi:DataProviderReference>string0987654321@example.org
<pi:DataProviderReference>string0987654321@example.org </pi:DataProviderReference>
</pi:DataProviderReference> <pi:DataProviderString>Exemplar VoIP Provider
<pi:DataProviderString>Example VoIP Provider </pi:DataProviderString>
</pi:DataProviderString> <pi:ProviderID>urn:nena:companyid:ID123</pi:ProviderID>
<pi:ProviderID>urn:nena:companyid:ID123</pi:ProviderID> <pi:ProviderIDSeries>NENA</pi:ProviderIDSeries>
<pi:ProviderIDSeries>NENA</pi:ProviderIDSeries> <pi:TypeOfProvider>Service Provider</pi:TypeOfProvider>
<pi:TypeOfProvider>Service Provider</pi:TypeOfProvider> <pi:ContactURI>sip:voip-provider@example.com</pi:ContactURI>
<pi:ContactURI>sip:voip-provider@example.com</pi:ContactURI> <pi:Language>en</pi:Language>
<pi:Language>en</pi:Language> <pi:DataProviderContact
<pi:DataProviderContact xmlns:xc="urn:ietf:params:xml:ns:vcard-4.0">
xmlns:xc="urn:ietf:params:xml:ns:vcard-4.0"> <vcard>
<vcard> <fn><text>John Doe</text></fn>
<fn><text>John Doe</text></fn> <n>
<n> <surname>John</surname>
<surname>John</surname> <given>Doe</given>
<given>Doe</given> <additional/>
<additional/> <prefix/>
<prefix/> <suffix/>
<suffix/> </n>
</n> <bday><date>--0203</date></bday>
<bday><date>--0203</date></bday> <anniversary>
<anniversary> <date-time>20090808T1430-0500</date-time>
<date-time>20090808T1430-0500</date-time> </anniversary>
</anniversary> <gender><sex>M</sex></gender>
<gender><sex>M</sex></gender> <lang>
<lang> <parameters><pref><integer>1</integer></pref>
<parameters><pref><integer>1</integer></pref> </parameters>
</parameters> <language-tag>en</language-tag>
<language-tag>en</language-tag> </lang>
</lang> <org>
<org> <parameters><type><text>work</text></type>
<parameters><type><text>work</text></type> </parameters>
</parameters> <text>Exemplar VoIP Provider</text>
<text>Example VoIP Provider</text> </org>
</org> <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
Downing Street 10 The Sticks, IA 50055</text></label>
London, UK</text></label> </parameters>
</parameters> <pobox/>
<pobox/> <ext/>
<ext/> <street>123 Middle Street</street>
<street>Downing Street 10</street> <locality>the Sticks</locality>
<locality>London</locality> <region>IA</region>
<region/> <code>50055</code>
<code>SW1A 2AA</code> <country>USA</country>
<country>UK</country> </adr>
</adr> <tel>
<tel> <parameters>
<parameters> <type>
<type> <text>work</text>
<text>work</text> <text>voice</text>
<text>voice</text> </type>
</type> </parameters>
</parameters> <uri>sips:john.doe@example.com</uri>
<uri>sips:john.doe@example.com</uri> </tel>
</tel> <email>
<email> <parameters><type><text>work</text></type>
<parameters><type><text>work</text></type> </parameters>
</parameters> <text>john.doe@example.com</text>
<text>john.doe@example.com</text> </email>
</email> <geo>
<geo> <parameters><type><text>work</text></type>
<parameters><type><text>work</text></type> </parameters>
</parameters> <uri>geo:41.761838,-92.963268</uri>
<uri>geo:51.503396, 0.127640</uri> </geo>
</geo> <tz><text>America/Chicago</text></tz>
<tz><text>Europe/London</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>
Figure 13: 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 14. 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"
xmlns:gbp="urn:ietf:params:xml:ns:pidf:geopriv10:basicPolicy" xmlns:gbp="urn:ietf:params:xml:ns:pidf:geopriv10:basicPolicy"
xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model"
entity="pres:alice@atlanta.example.com"> entity="pres:alice@atlanta.example.com">
<dm:device id="target123-1"> <dm:device id="target123-1">
<gp:geopriv> <gp:geopriv>
<gp:location-info> <gp:location-info>
<civicAddress <civicAddress
xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"> xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr">
<country>AU</country> <country>US</country>
<A1>NSW</A1> <A1>DE</A1>
<A3>Wollongong</A3> <A3>Wilmington</A3>
<A4>North Wollongong</A4> <PRD>W</PRD>
<RD>Flinders</RD> <RD>11th</RD>
<STS>Street</STS> <STS>Street</STS>
<RDBR>Campbell Street</RDBR> <HNO>42</HNO>
<LMK>Gilligan's Island</LMK> <NAM>The Hotel DuPont</NAM>
<LOC>Corner</LOC> <PC>19801</PC>
<NAM>Video Rental Store</NAM> </civicAddress>
<PC>2500</PC> </gp:location-info>
<ROOM>Westerns and Classics</ROOM> <gp:usage-rules>
<PLC>store</PLC> <gbp:retransmission-allowed>true
<POBOX>Private Box 15</POBOX> </gbp:retransmission-allowed>
</civicAddress> <gbp:retention-expiry>2013-12-10T20:00:00Z
</gp:location-info> </gbp:retention-expiry>
<gp:usage-rules> </gp:usage-rules>
<gbp:retransmission-allowed>true <gp:method>802.11</gp:method>
</gbp:retransmission-allowed>
<gbp:retention-expiry>2013-12-10T20:00:00Z
</gbp:retention-expiry>
</gp:usage-rules>
<gp:method>802.11</gp:method>
<gp:provided-by <gp:provided-by
xmlns="urn:ietf:params:xml:ns:EmergencyCallData"> xmlns="urn:ietf:params:xml:ns:EmergencyCallData">
<EmergencyCallDataReference <EmergencyCallDataReference
purpose="EmergencyCallData.ServiceInfo" purpose="EmergencyCallData.ServiceInfo"
ref="https://example.com/ref2"/> ref="https://example.com/ref2" />
<EmergencyCallDataValue> <EmergencyCallDataValue>
<EmergencyCallData.ProviderInfo <EmergencyCallData.ProviderInfo
xmlns= xmlns=
"urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo"> "urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo">
<DataProviderReference>88QV4FpfZ976T@example.com <DataProviderReference>88QV4FpfZ976T@example.com
</DataProviderReference> </DataProviderReference>
<DataProviderString>University of Example <DataProviderString>Diamond State Exemplar
</DataProviderString> </DataProviderString>
<ProviderID>urn:nena:companyid:uoi</ProviderID> <ProviderID>urn:nena:companyid:diamond</ProviderID>
<ProviderIDSeries>NENA</ProviderIDSeries> <ProviderIDSeries>NENA</ProviderIDSeries>
<TypeOfProvider>Other</TypeOfProvider> <TypeOfProvider>Access Network Provider</TypeOfProvider>
<ContactURI>tel:+1-555-824-5222</ContactURI> <ContactURI>tel:+1-302-555-0000</ContactURI>
<Language>en</Language> <Language>en</Language>
</EmergencyCallData.ProviderInfo> </EmergencyCallData.ProviderInfo>
<EmergencyCallData.Comment <EmergencyCallData.Comment
xmlns="urn:ietf:params:xml:ns:EmergencyCallData:Comment"> xmlns="urn:ietf:params:xml:ns:EmergencyCallData:Comment">
<DataProviderReference>88QV4FpfZ976T@example.com <DataProviderReference>88QV4FpfZ976T@example.com
</DataProviderReference> </DataProviderReference>
<Comment xml:lang="en">This is an example text.</Comment> <Comment xml:lang="en">This is an example text.</Comment>
</EmergencyCallData.Comment> </EmergencyCallData.Comment>
</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 14: Access Network Provider returning PIDF-LO with Additional Figure 18: Access Network Provider returning PIDF-LO with Additional
Data. Data
7. XML Schemas 7. 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.
7.1. EmergencyCallData.ProviderInfo XML Schema 7.1. EmergencyCallData.ProviderInfo XML Schema
<?xml version="1.0"?> <?xml version="1.0"?>
<xs:schema <xs:schema
targetNamespace= targetNamespace=
"urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo" "urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:pi="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo" xmlns:pi="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo"
xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:xc="urn:ietf:params:xml:ns:vcard-4.0" xmlns:xc="urn:ietf:params:xml:ns:vcard-4.0"
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/2009/01/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"/>
<xs:element <xs:element
name="EmergencyCallData.ProviderInfo" name="EmergencyCallData.ProviderInfo"
type="pi:ProviderInfoType" type="pi:ProviderInfoType"/>
minOccurs="0" maxOccurs="1"/>
<xs:simpleType name="SubcontractorPriorityType"> <xs:simpleType name="SubcontractorPriorityType">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="sub"/> <xs:enumeration value="sub"/>
<xs:enumeration value="main"/> <xs:enumeration value="main"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:complexType name="ProviderInfoType"> <xs:complexType name="ProviderInfoType">
<xs:sequence> <xs:sequence>
<xs:element name="DataProviderReference" <xs:element name="DataProviderReference"
type="xs:token" minOccurs="1" maxOccurs="1"/> type="xs:token" minOccurs="1" maxOccurs="1"/>
<xs:element name="DataProviderString" <xs:element name="DataProviderString"
type="xs:string" minOccurs="1" maxOccurs="1"/> type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="ProviderID" <xs:element name="ProviderID"
type="xs:string" minOccurs="1" maxOccurs="1"/> type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="ProviderIDSeries" <xs:element name="ProviderIDSeries"
type="xs:string" minOccurs="1" maxOccurs="1"/> type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="TypeOfProvider" <xs:element name="TypeOfProvider"
type="xs:string" minOccurs="0" maxOccurs="1"/> type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="ContactURI" type="xs:anyURI" <xs:element name="ContactURI" type="xs:anyURI"
minOccurs="1" maxOccurs="1"/> minOccurs="1" maxOccurs="1"/>
<xs:element name="Language" minOccurs="1" maxOccurs="unbounded"> <xs:element name="Language" minOccurs="1" maxOccurs="unbounded">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:pattern <xs:pattern
value="([a-z]{2,3}((-[a-z]{3}){0,3})?|[a-z]{4,8}) value="([a-z]{2,3}((-[a-z]{3}){0,3})?|[a-z]{4,8})
(-[a-z]{4})?(-([a-z]{2}|\d{3}))?(-([0-9a-z]{5,8}| (-[a-z]{4})?(-([a-z]{2}|\d{3}))?(-([0-9a-z]{5,8}|
\d[0-9a-z]{3}))*(-[0-9a-wyz](-[0-9a-z]{2,8})+)* \d[0-9a-z]{3}))*(-[0-9a-wyz](-[0-9a-z]{2,8})+)*
(-x(-[0-9a-z]{1,8})+)?|x(-[0-9a-z]{1,8})+|[a-z]{1,3} (-x(-[0-9a-z]{1,8})+)?|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>
<xs:element name="DataProviderContact" <xs:element name="DataProviderContact"
minOccurs="0" maxOccurs="1"> minOccurs="0" maxOccurs="1">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" <xs:element minOccurs="0"
maxOccurs="unbounded" ref="xc:vcard"/> maxOccurs="unbounded" ref="xc:vcard"/>
skipping to change at page 50, line 18 skipping to change at page 53, line 18
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 15: EmergencyCallData.ProviderInfo XML Schema. Figure 19: EmergencyCallData.ProviderInfo XML Schema.
7.2. EmergencyCallData.ServiceInfo XML Schema 7.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"
skipping to change at page 51, line 42 skipping to change at page 54, line 42
<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 16: EmergencyCallData.ServiceInfo XML Schema. Figure 20: EmergencyCallData.ServiceInfo XML Schema.
7.3. EmergencyCallData.DeviceInfo XML Schema 7.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 53, line 7 skipping to change at page 56, line 7
<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 17: EmergencyCallData.DeviceInfo XML Schema. Figure 21: EmergencyCallData.DeviceInfo XML Schema.
7.4. EmergencyCallData.SubscriberInfo XML Schema 7.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"/>
<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:complexContent>
<xs:restriction base="xs:anyType"> <xs:restriction base="xs:anyType">
<xs:sequence> <xs:sequence>
<xs:element name="DataProviderReference" <xs:element name="DataProviderReference"
type="xs:token" minOccurs="1" maxOccurs="1"/> type="xs:token" minOccurs="1" maxOccurs="1"/>
skipping to change at page 54, line 11 skipping to change at page 57, line 12
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="privacyRequested" type="xs:boolean" <xs:attribute name="privacyRequested" type="xs:boolean"
use="required"/> use="required"/>
</xs:restriction> </xs:restriction>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
</xs:schema> </xs:schema>
Figure 18: EmergencyCallData.SubscriberInfo XML Schema. Figure 22: EmergencyCallData.SubscriberInfo XML Schema.
7.5. EmergencyCallData.Comment XML Schema 7.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"
skipping to change at page 55, line 44 skipping to change at page 58, line 44
<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 19: EmergencyCallData.Comment XML Schema. Figure 23: EmergencyCallData.Comment XML Schema.
7.6. provided-by XML Schema 7.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= xmlns:sub=
"urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" "urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo"
xmlns:com="urn:ietf:params:xml:ns:EmergencyCallData:Comment" xmlns:com="urn:ietf:params:xml:ns:EmergencyCallData:Comment"
elementFormDefault="qualified" elementFormDefault="qualified"
attributeFormDefault="unqualified"> attributeFormDefault="unqualified">
<xs:import namespace=
"urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo"/>
<xs:import namespace=
"urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo"/>
<xs:import namespace=
"urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo"/>
<xs:import namespace=
"urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo"/>
<xs:import namespace=
"urn:ietf:params:xml:ns:EmergencyCallData:Comment"/>
<xs:element name="provided-by" type="ad:provided-by-Type"/>
<xs:complexType name="provided-by-Type">
<xs:sequence>
<xs:element name="EmergencyCallDataReference"
type="ad:ByRefType"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="EmergencyCallDataValue" <xs:import
type="ad:EmergencyCallDataValueType" namespace="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo"
minOccurs="0" maxOccurs="unbounded"/> 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:any namespace="##other" processContents="lax" <xs:element name="EmergencyCallDataReference"
minOccurs="0" maxOccurs="unbounded"/> type="ad:ByRefType"/>
</xs:sequence> <xs:element name="EmergencyCallDataValue"
type="ad:EmergencyCallDataValueType"/>
</xs:complexType> <!-- Additional Data By Reference -->
<!-- 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:complexType name="ByRefType"> <xs:attribute name="ref" type="xs:anyURI"
<xs:complexContent> use="required"/>
<xs:restriction base="xs:anyType"> </xs:restriction>
<xs:sequence> </xs:complexContent>
<xs:any namespace="##other" minOccurs="0" </xs:complexType>
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 --> <!-- Additional Data By Value -->
<xs:complexType name="EmergencyCallDataValueType"> <xs:complexType name="EmergencyCallDataValueType">
<xs:sequence> <xs:sequence>
<xs:element name="EmergencyCallData.ProviderInfo" <xs:element name="EmergencyCallData.ProviderInfo"
type="pi:ProviderInfoType" type="pi:ProviderInfoType"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="EmergencyCallData.ServiceInfo" <xs:element name="EmergencyCallData.ServiceInfo"
type="svc:ServiceInfoType" type="svc:ServiceInfoType"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="EmergencyCallData.DeviceInfo" <xs:element name="EmergencyCallData.DeviceInfo"
type="dev:DeviceInfoType" type="dev:DeviceInfoType"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="EmergencyCallData.SubscriberInfo" <xs:element name="EmergencyCallData.SubscriberInfo"
type="sub:SubscriberInfoType" type="sub:SubscriberInfoType"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="EmergencyCallData.Comment" <xs:element name="EmergencyCallData.Comment"
type="com:CommentType" type="com:CommentType"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
<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: provided-by XML Schema. Figure 24: provided-by XML Schema
8. Security Considerations 8. 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 media to eavesdrop on the SIP signaling will also have access. Some access
(such as in the clear Wi-Fi) is more vulnerable than others (such as types (such as in-the-clear Wi-Fi) are more vulnerable than others
3G or 4G cellular data traffic) to eavesdropping. Mechanisms that (such as 3G or 4G cellular data traffic) to eavesdropping.
protect against eavesdropping (such as Transport Layer Security Mechanisms that protect against eavesdropping (such as Transport
(TLS)) SHOULD be preferentially used whenever feasible. When Layer Security (TLS)) SHOULD be preferentially used whenever
information is provided by reference, HTTPS is specified for feasible. (This requirement is not a "MUST" because there is an
existing deployed base of clear-text SIP, and also because, as an
emergency call, it is more important for the call to go through than
for it to be protected; e.g., the call MUST proceed even if the TLS
negotiation or certificate verification fails for whatever reason.)
When information is provided by reference, HTTPS is REQUIRED for
dereferencing, and the provider of the information is REQUIRED to dereferencing, and the provider of the information is REQUIRED to
validate the credentials of the requester. While the creation of a validate the credentials of the requester. While the creation of a
public key infrastructure (PKI) that has global scope may be public key infrastructure (PKI) that has global scope may be
difficult, the alternatives to creating devices and services that can difficult, the alternatives to creating devices and services that can
provide critical information securely are more daunting. The provide critical information securely are more daunting. The
provider of the information MAY enforce any policy it wishes to use, provider of the information MAY enforce any policy it wishes to use,
but PSAPs and responder agencies SHOULD deploy a PKI so that but PSAPs and responder agencies SHOULD deploy a PKI so that
providers of additional data can check the certificate of the client providers of additional data can check the certificate of the client
and decide the appropriate policy to enforce based on that (the requester) and decide the appropriate policy to enforce based on
certificate. that certificate.
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 would be sufficient, circumstances, nationally recognized credentials are sufficient; the
and if the emergency services arranges a PKI, data providers could be emergency services community within a country can arrange a PKI, data
provisioned with the root CA public key for a given nation. Some providers can be provisioned with the root CA public key for the
nations are developing a PKI for this, and related, purposes. Since country. Some nations are developing a PKI for this, and related,
calls could be made from devices where the device and/or the service purposes. Since calls could be made from devices where the device
provider(s) are not local to the emergency services authorities, and/or the service provider(s) are not local to the emergency
globally recognized credentials are useful. This might be services authorities, globally recognized credentials are useful.
accomplished by extending the notion of the "forest guide" described This might be accomplished by extending the notion of the "forest
in [RFC5582] to allow the forest guide to provide the credential of guide" described in [RFC5582] to allow the forest guide to provide
the PKI root for areas for which it has coverage information, but the credential of the PKI root for areas for which it has coverage
standards for such a mechanism are not yet available. In its information, but standards for such a mechanism are not yet
absence, the data provider will need to obtain by out of band means available. In its absence, the data provider needs to obtain by out
the root CA credentials for any areas to which it is willing to of band means the root CA credentials for any areas to which it is
provide additional data. With the credential of the root CA for a willing to provide additional data. With the credential of the root
national emergency services PKI, the data provider server can CA for a national emergency services PKI, the data provider server
validate the credentials of an entity requesting additional data by can validate the credentials of an entity requesting additional data
reference. 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
skipping to change at page 59, line 11 skipping to change at page 62, line 4
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 to at least validate that the server is known to the domain URI to at least validate that the server is known to the domain
providing the URI. providing the URI.
Data provided by devices by reference have similar credential Data provided by devices by reference have similar credential
validation issues as for service providers, and the solutions are the validation issues as for service providers, and while the solutions
same. are the same, the challenges of doing so for every device are
obviously more difficult, especially when considering root
certificate updates, revocation lists, etc. However, in general,
devices are not expected to provide data directly by reference, but
rather, to either provide data by value, or upload the data to a
server which can more reliably make it available and more easily
enforce security policy. Devices which do provide data directly by
reference, which might include fixed-location sensors, will need to
be capable of handling this.
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.
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 versus a
normal call. If a call that is really an emergency call is initiated normal call. If a call that is really an emergency call is initiated
as a normal call and the cellular service provider recognizes this, as a normal call and the cellular service provider recognizes this,
3GPP IMS permits the service provider to either accept the call 3GPP IMS permits the service provider to either accept the call
anyway or reject it with a specific code that instructs the device to anyway or reject it with a specific code that instructs the device to
retry the call as an emergency call. Service providers SHOULD choose retry the call as an emergency call. Service providers ought to
the latter, because otherwise the device will not have included the choose the latter, because otherwise the device will not have
information specified in this document (since the device didn't included the information specified in this document (since the device
recognize the call as being an emergency call). didn't recognize the call as being an emergency call).
9. Privacy Considerations 9. 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 what information it relates to is determined by the destination and which information it relates to is determined by the destination
jurisdiction. jurisdiction (which replicates functionality provided in some legacy
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 world-wide 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, however, far exceeds the The functionality defined in this document far exceeds the amount of
amount of information sharing found in the legacy POTS system. For information sharing available in the legacy POTS system. For this
this reason there are additional privacy threats to consider, which reason there are additional privacy threats to consider, which are
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 may lead to misattribution. incorrect or inaccurate then this may lead to misattribution.
skipping to change at page 61, line 22 skipping to change at page 64, line 24
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. For example, identifiers for the device (e.g.,
serial number, MAC address) or account/SIM (e.g., IMSI), contact serial number, MAC address) or account/SIM (e.g., IMSI), contact
information for the user, location of the caller. Local regulations information for the user, location of the caller. Local regulations
may govern what data must be provided in emergency calls, but in may govern which data is provided in emergency calls, but in general,
general, the emergency call system is aided by the information the emergency call system is aided by the information described in
described in this document. There is a tradeoff between the privacy this document. There is a tradeoff 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 is increased with the obligation for emergency
skipping to change at page 62, line 15 skipping to change at page 65, line 17
10. IANA Considerations 10. IANA Considerations
10.1. Registry creation 10.1. Registry creation
This document creates a new registry called 'Emergency Call This document creates a new registry called 'Emergency Call
Additional Data'. The following sub-registries are created for this Additional Data'. The following sub-registries are created for this
registry. registry.
10.1.1. Provider ID Series Registry 10.1.1. Provider ID Series Registry
This document creates a new sub-registry called 'Additional Call Data This document creates a new sub-registry called "Additional Call Data
Provider ID Series'. As defined in [RFC5226], this registry operates Provider ID Series". As defined in [RFC5226], this registry operates
under "Expert Review" rules. The expert should determine that the under "Expert Review" rules. The expert should determine that the
entity requesting a new value is a legitimate issuer of service entity requesting a new value is a legitimate issuer of service
provider IDs suitable for use in Additional Call Data. provider IDs suitable for use in Additional Call Data.
Private entities issuing and using internally-generated IDs are Private entities issuing or using internally-generated IDs are
encouraged to register and use a unique identifier. This guarantees encouraged to register here and to ensure that all IDs they issue or
that IDs issued and used by the entity are globally unique and use are unique. This guarantees that IDs issued or used by the
distinguishable. entity are globally unique and distinguishable from other IDs issued
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
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
issued by an organization such as NENA, so they are permitted to use
their domain name, but if so, it needs to be unique.)
The content of this registry includes: The content of this registry includes:
Name: The identifier which will be used in the 'ProviderIDSeries' Name: An identifier to be used in the 'ProviderIDSeries' element.
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 21. The initial set of values is listed in Figure 1.
+-----------+--------------------------+----------------------+
| Name | Source | URL |
+-----------+--------------------------+----------------------+
| NENA | National Emergency | http://www.nena.org |
| | Number Association | |
| EENA | European Emergency | http://www.eena.org |
| | Number Association | |
| domain | (The ID is a fully- | (not applicable) |
| | qualified domain name) | |
+-----------+--------------------------+----------------------+
Figure 21: Provider ID Series Registry.
10.1.2. Service Environment Registry 10.1.2. Service Environment Registry
This document creates a new sub-registry called 'Additional Call This document creates a new sub-registry called 'Additional Call
Service Environment'. As defined in [RFC5226], this registry Service Environment'. As defined in [RFC5226], this registry
operates under "Expert Review" rules. The expert should determine operates under "Expert Review" rules. The expert should determine
that the entity requesting a new value is relevant for this service that the entity requesting a new value is relevant for this service
element, and that the new value is distinct from existing values, and element, and that the new value is distinct from existing values, and
its use is unambiguous. 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 s[RFC4119]hort description of the value. Description: A short description of the value.
The initial set of values is listed in Figure 22.
+-----------+--------------------------+
| Token | Description |
+-----------+--------------------------+
| Business | Business service |
| Residence | Residential service |
| unknown | Type of service unknown |
| | (e.g., anonymous pre- |
| | paid service) |
+-----------+--------------------------+
Figure 22: Service Environment Registry. The initial set of values is listed in Figure 4.
10.1.3. Service Type Registry 10.1.3. Service Type Registry
This document creates a new sub-registry called 'Additional Call This document creates a new sub-registry called 'Additional Call
Service Type'. As defined in [RFC5226], this registry operates under Service Type'. 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 and that requesting a new value is relevant for this service element and that
the requested value is clearly distinct from other values so that the requested value is clearly distinct from other values so that
there is no ambiguity as to when the value is to be used or which there is no ambiguity as to when the value is to be used or which
value is to be used. 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 3. The initial set of values is listed in Figure 5.
10.1.4. Service Mobility Registry 10.1.4. Service Mobility Registry
This document creates a new sub-registry called 'Additional Call This document creates a new sub-registry called 'Additional Call
Service Mobility'. As defined in [RFC5226], this registry operates Service Mobility'. As defined in [RFC5226], this registry operates
under "Expert Review" rules. The expert should determine that the under "Expert Review" rules. The expert should determine that the
entity requesting a new value is relevant for this service element entity requesting a new value is relevant for this service element
and that the requested value is clearly distinct from other values so and that the requested value is clearly distinct from other values so
that there is no ambiguity as to when the value is to be used or that there is no ambiguity as to when the value is to be used or
which value is to be used. 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 23. The initial set of values is listed in Figure 6.
+-----------+----------------------------+
| Token | Description |
+-----------+----------------------------+
| Mobile | The device is able to |
| | move at any time |
| Fixed | The device is not expected |
| | to move unless the service |
| | is relocated |
| Nomadic | The device is not expected |
| | to change its point of |
| | attachment while on a call |
| Unknown | No information is known |
| | about the service mobility |
| | environment for the device |
+-----------+----------------------------+
Figure 23: Service Environment Registry.
10.1.5. Service Provider Type Registry 10.1.5. Service Provider Type Registry
This document creates a new sub-registry called 'Service Provider This document creates a new sub-registry called 'Service Provider
Type'. As defined in [RFC5226], this registry operates under "Expert Type'. As defined in [RFC5226], this registry operates under "Expert
Review". The expert should determine that the proposed new value is Review". 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:
Tokenproviderid: 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 1. The initial set of values is defined in Figure 2.
10.1.6. Service Delivered Registry
This document creates a new sub-registry called 'Service Delivered'.
As defined in [RFC5226], this registry operates under "Expert Review"
rules. The expert should consider whether the proposed service is
unique from existing services and the definition of the service will
be clear to implementors and PSAPs/responders.
The content of this registry includes:
Name: The value used in the 'ServiceType' element.
Description: Short description identifying the nature of the
service.
The initial set of values are defined in Figure 3.
10.1.7. Device Classification Registry 10.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 5. The initial set of values are defined in Figure 8.
10.1.8. Device ID Type Type Registry 10.1.7. Device ID Type Type Registry
This document creates a new sub-registry called 'Additional Call Data This document creates a new sub-registry called 'Additional Call Data
Device ID Type'. As defined in [RFC5226], this registry operates Device ID Type'. As defined in [RFC5226], this registry operates
under "Expert Review" rules. The expert should ascertain that the under "Expert Review" rules. The expert should ascertain that the
proposed type is well understood, and provides the information useful proposed type is well understood, and provides information which
to PSAPs and responders to uniquely identify a device. PSAPs and responders are able to use to uniquely identify a device.
(For example, a biometric fingerprint used to authenticate a device
would not normally be useful 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 6. The initial set of values are defined in Figure 9.
10.1.9. Device/Service Data Type Registry 10.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 Registry'. As defined in [RFC5226], this registry operates Type Registry'. As defined in [RFC5226], this registry operates
under "Expert Review" and "Specification Required" rules. The expert under "Specification Required" rules, which include an explicit
should ascertain that the proposed type is well understood, and expert review. The designated expert should ascertain that the
provides information useful to PSAPs and responders. The proposed type is well understood, and provides information useful to
specification must contain a complete description of the data, and a PSAPs and responders. The specification must contain a complete
precise format specification suitable to allow interoperable description of the data, and a precise format specification suitable
implementations. to allow 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 the data. Description: Short description identifying the 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 24. The initial set of values are listed in Figure 10.
+----------+----------------------------------------+---------------+
| Token | Description | Specification |
+----------+----------------------------------------+---------------+
| IEEE1512 | Common Incident Management Message Set | IEEE 1512-2006|
+----------+----------------------------------------+---------------+
Figure 24: Device/Service Data Type Registry.
10.1.10. Emergency Call Data Types Registry 10.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' in the 'purpose' registry established by RFC 3261 [RFC3261]. Types' in the 'purpose' registry established by RFC 3261 [RFC3261].
As defined in [RFC5226], this registry operates under "Expert Review" As defined in [RFC5226], this registry operates under "Specification
and "Specification Required" rules. The expert is responsible for Required" rules, which include an explicit expert review. The expert
verifying that the document contains a complete and clear is responsible for verifying that the document contains a complete
specification and the proposed functionality does not obviously and clear specification and the proposed functionality does not
duplicate existing functionality. obviously duplicate existing functionality.
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
subtype (which is the part after 'EmergencyCallData.'). If the MIME subtype (which is the part after 'EmergencyCallData.'). If the MIME
subtype does not start with 'EmergencyCallData.' then it cannot be subtype does not start with 'EmergencyCallData.', then it cannot be
registered here nor used in a Call-Info header as specified in this registered here nor used in a Call-Info header as specified in this
document. The subtype MAY exist under any MIME type (although most document. The subtype MAY exist under any MIME type (although most
commonly these are under 'Application/' this is NOT REQUIRED). commonly these are under 'Application/' this is NOT REQUIRED),
however, to be added to the registry the "root" needs to be unique
regardless of the MIME type.
The content of this registry includes: The content of this registry includes:
Token: The root of the data's MIME subtype (not including the Token: The root of the data's MIME subtype (not including the
'EmergencyCallData' prefix and any suffix such as '+xml') 'EmergencyCallData' prefix and any suffix such as '+xml')
Reference: The document that describes the data object Reference: The document that describes the data object
Note that the values from this registry are part of the Note that the values from 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
skipping to change at page 67, line 34 skipping to change at page 69, line 28
+----------------+------------+ +----------------+------------+
| Token | Reference | | Token | Reference |
+----------------+------------+ +----------------+------------+
| ProviderInfo | [This RFC] | | ProviderInfo | [This RFC] |
| ServiceInfo | [This RFC] | | ServiceInfo | [This RFC] |
| DeviceInfo | [This RFC] | | DeviceInfo | [This RFC] |
| SubscriberInfo | [This RFC] | | SubscriberInfo | [This RFC] |
| Comment | [This RFC] | | Comment | [This RFC] |
+----------------+------------+ +----------------+------------+
Figure 25: Additional Data Blocks Registry. Figure 25: Additional Data Blocks Registry
10.2. 'EmergencyCallData' Purpose Parameter Value 10.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. The Call-Info header and parameter of the Call-Info header field. The Call-Info header and
the corresponding registry for the 'purpose' parameter was the corresponding registry for the 'purpose' parameter was
established with RFC 3261 [RFC3261]. Note that 'EmergencyCallData' established with RFC 3261 [RFC3261]. Note that 'EmergencyCallData'
is a compound value; when used as a value of the 'purpose' parameter is a compound value; when used as a value of the 'purpose' parameter
of the Call-Info header, 'EmergencyCallData' is immediately followed of the Call-Info header, 'EmergencyCallData' is immediately followed
by a dot ('.') and a value from the 'Emergency Call Data Types' by a dot ('.') and a value from the 'Emergency Call Data Types'
registry Section 10.1.10. registry Section 10.1.9.
Header Parameter New Header Parameter New
Field Name Value Reference Field Name Value Reference
---------- --------- ----------------- --------- ---------- --------- ----------------- ---------
Call-Info purpose EmergencyCallData [This RFC] Call-Info purpose EmergencyCallData [This RFC]
10.3. URN Sub-Namespace Registration for provided-by Registry Entry 10.3. URN Sub-Namespace Registration for <provided-by> Registry Entry
This section registers the namespace specified in Section 10.5.1 in This section registers the namespace specified in Section 10.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 7.6. specified in Section 7.6.
10.4. MIME Registrations 10.4. MIME Registrations
skipping to change at page 79, line 35 skipping to change at page 81, line 35
10.6. Schema Registrations 10.6. Schema Registrations
This specification registers five schemas, as per the guidelines in This specification registers five schemas, as per the guidelines in
RFC 3688 [RFC3688]. RFC 3688 [RFC3688].
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 15. XML: The XML schema can be found in Figure 19.
URI: urn:ietf:params:xml:schema:emergencycalldata:ServiceInfo URI: urn:ietf:params:xml:schema:emergencycalldata:ServiceInfo
Registrant Contact: IETF, ECRIT Working Group (ectit@ietf.org), as Registrant Contact: IETF, ECRIT Working Group (ectit@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 16. XML: The XML schema can be found in Figure 20.
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 17. XML: The XML schema can be found in Figure 21.
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 7.4. XML: The XML schema can be found in Section 7.4.
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
skipping to change at page 80, line 43 skipping to change at page 82, line 43
This work was originally started in NENA and has benefitted from a This work was originally started in NENA and has benefitted from a
large number of participants in NENA standardization efforts, large number of participants in NENA standardization efforts,
originally in the Long Term Definition Working Group, the Data originally in the Long Term Definition Working Group, the Data
Technical Committee and most recently the Additional Data working Technical Committee and most recently the Additional Data working
group. The authors are grateful for the initial work and extended group. The authors are grateful for the initial work and extended
comments provided by many NENA participants, including Delaine comments provided by many NENA participants, including Delaine
Arnold, Marc Berryman, Guy Caron, Mark Fletcher, Brian Dupras, James Arnold, Marc Berryman, Guy Caron, Mark Fletcher, Brian Dupras, James
Leyerle, Kathy McMahon, Christian, Militeau, Ira Pyles, Matt Serra, Leyerle, Kathy McMahon, Christian, Militeau, Ira Pyles, Matt Serra,
and Robert (Bob) Sherry. Amursana Khiyod, Robert Sherry, Frank and Robert (Bob) Sherry. Amursana Khiyod, Robert Sherry, Frank
Rahoi, Scott Ross, Tom Klepetka provided valuable feedback regarding Rahoi, Scott Ross, and Tom Klepetka provided valuable feedback
the vCard/xCard use in this specification. regarding the vCard/xCard use in this specification.
We would also like to thank Paul Kyzivat, Gunnar Hellstrom, Martin We would also like to thank Paul Kyzivat, Gunnar Hellstrom, Martin
Thomson, Keith Drage, Laura Liess, Chris Santer, Barbara Stark, Chris Thomson, Keith Drage, Laura Liess, Chris Santer, Barbara Stark, Chris
Santer, and Archie Cobbs for their review comments. Guy Caron Santer, and Archie Cobbs for their review comments. Alissa Cooper
deserves special mention for his detailed and extensive review and Guy Caron deserves special mention for their detailed and
comments. extensive review comments, which were very helpful and appreciated.
12. References 12. References
12.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, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2392] Levinson, E., "Content-ID and Message-ID Uniform Resource [RFC2392] Levinson, E., "Content-ID and Message-ID Uniform Resource
Locators", RFC 2392, August 1998. Locators", RFC 2392, August 1998.
skipping to change at page 81, line 30 skipping to change at page 83, line 30
A., Peterson, J., Sparks, R., Handley, M., and E. A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261, Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002. June 2002.
[RFC3459] Burger, E., "Critical Content Multi-purpose Internet Mail [RFC3459] Burger, E., "Critical Content Multi-purpose Internet Mail
Extensions (MIME) Parameter", RFC 3459, January 2003. Extensions (MIME) Parameter", RFC 3459, January 2003.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
January 2004. January 2004.
[RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers", RFC
3966, December 2004.
[RFC4119] Peterson, J., "A Presence-based GEOPRIV Location Object [RFC4119] Peterson, J., "A Presence-based GEOPRIV Location Object
Format", RFC 4119, December 2005. Format", RFC 4119, December 2005.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226, IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008. May 2008.
[RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322,
October 2008. October 2008.
skipping to change at page 82, line 31 skipping to change at page 84, line 34
[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,
November 2002. November 2002.
[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
Initiation Protocol (SIP)", RFC 3840, August 2004. Initiation Protocol (SIP)", RFC 3840, August 2004.
[RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers", RFC
3966, December 2004.
[RFC5012] Schulzrinne, H. and R. Marshall, "Requirements for [RFC5012] Schulzrinne, H. and R. Marshall, "Requirements for
Emergency Context Resolution with Internet Technologies", Emergency Context Resolution with Internet Technologies",
RFC 5012, January 2008. RFC 5012, January 2008.
[RFC5139] Thomson, M. and J. Winterbottom, "Revised Civic Location [RFC5139] Thomson, M. and J. Winterbottom, "Revised Civic Location
Format for Presence Information Data Format Location Format for Presence Information Data Format Location
Object (PIDF-LO)", RFC 5139, February 2008. Object (PIDF-LO)", RFC 5139, February 2008.
[RFC5491] Winterbottom, J., Thomson, M., and H. Tschofenig, "GEOPRIV [RFC5491] Winterbottom, J., Thomson, M., and H. Tschofenig, "GEOPRIV
Presence Information Data Format Location Object (PIDF-LO) Presence Information Data Format Location Object (PIDF-LO)
skipping to change at page 84, line 19 skipping to change at page 86, line 19
xmlns:ns1="urn:ietf:params:xml:ns:vcard-4.0"> xmlns:ns1="urn:ietf:params:xml:ns:vcard-4.0">
<!-- <!--
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>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
--> -->
skipping to change at page 84, line 43 skipping to change at page 86, line 43
<xs:element maxOccurs="unbounded" ref="ns1:text"/> <xs:element maxOccurs="unbounded" ref="ns1:text"/>
</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="\d{8}|\d{4}-\d\d| <xs:pattern value=
--\d\d(\d\d)?|---\d\d"/> "\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="(\d\d(\d\d(\d\d)?)?|-\d\d(\d\d?)|--\d\d) <xs:pattern value=
(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{8}|--\d{4}|---\d\d)T\d\d(\d\d(\d\d)?)?(Z|[+\-]\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.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 86, line 6 skipping to change at page 88, line 5
<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="([a-z]{2,3}((-[a-z]{3}){0,3})?|[a-z]{4,8}) value="([a-z]{2,3}((-[a-z]{3}){0,3})?|[a-z]{4,8})
(-[a-z]{4})?(-([a-z]{2}|\d{3}))?(-([0-9a-z]{5,8}| (-[a-z]{4})?(-([a-z]{2}|\d{3}))?(-([0-9a-z]{5,8}|
\d[0-9a-z]{3}))*(-[0-9a-wyz](-[0-9a-z]{2,8})+)* \d[0-9a-z]{3}))*(-[0-9a-wyz](-[0-9a-z]{2,8})+)*
(-x(-[0-9a-z]{1,8})+)?|x(-[0-9a-z]{1,8})+|[a-z]{1,3} (-x(-[0-9a-z]{1,8})+)?|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>
skipping to change at page 106, line 5 skipping to change at page 108, line 4
</xs:restriction> </xs:restriction>
</xs:complexContent> </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 minOccurs="0" maxOccurs="unbounded"
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
This document defines a number of XML schemas and contains various
examples. Extracting the XML and validating the examples against the
schemas can be challenging, especially due to the formatting
limitations introduced by IETF RFCs. For those readers who copy the
XML schemas and examples directly from this document, please consider
that errors might be introduced due to line breaks and extra
whitespaces in the regular expressions contained in the vcard schema
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 for successful validation.
The XML schemas found in this document include a 'SchemaLocation'
attribute. Depending on the location of the downloaded schema files
you may need to adjust this schema location or configure your XML
editor to point to the location.
For convience of readers we have put all schemas and XML examples at
http://ip-emergency.net/additional-data.zip
Authors' Addresses Authors' Addresses
Randall Gellens Randall Gellens
Qualcomm Technologies, Inc. Qualcomm Technologies, Inc.
5775 Morehouse Drive 5775 Morehouse Drive
San Diego, CA 92121 San Diego, CA 92121
US US
Email: rg+ietf@qti.qualcomm.com Email: rg+ietf@qti.qualcomm.com
 End of changes. 240 change blocks. 
1332 lines changed or deleted 1438 lines changed or added

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