draft-ietf-ecrit-additional-data-15.txt   draft-ietf-ecrit-additional-data-16.txt 
ECRIT B. Rosen ECRIT B. Rosen
Internet-Draft NeuStar Internet-Draft NeuStar
Intended status: Standards Track H. Tschofenig Intended status: Standards Track H. Tschofenig
Expires: May 07, 2014 Nokia Solutions and Networks Expires: July 20, 2014 Nokia Solutions and Networks
R. Marshall R. Marshall
TeleCommunication Systems, Inc. TeleCommunication Systems, Inc.
R. Gellens R. Gellens
Qualcomm Technologies, Inc. Qualcomm Technologies, Inc.
J. Winterbottom J. Winterbottom
November 03, 2013 January 16, 2014
Additional Data related to an Emergency Call Additional Data related to an Emergency Call
draft-ietf-ecrit-additional-data-15.txt draft-ietf-ecrit-additional-data-16.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 may have information about the call, the
caller or the location which the PSAP may be able to use. This caller or the location which the PSAP may be able to use. This
document describes data structures and a mechanism to convey such document describes data structures and a mechanism to convey such
data to the PSAP. The mechanism uses a Uniform Resource Identifier data to the PSAP. The mechanism uses a Uniform Resource Identifier
skipping to change at page 2, line 4 skipping to change at page 2, line 4
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 May 07, 2014. This Internet-Draft will expire on July 20, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2014 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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Data Structures . . . . . . . . . . . . . . . . . . . . . . . 6 3. Data Structures . . . . . . . . . . . . . . . . . . . . . . . 6
3.1. Data Provider Information . . . . . . . . . . . . . . . . 7 3.1. Data Provider Information . . . . . . . . . . . . . . . . 7
3.1.1. Data Provider String . . . . . . . . . . . . . . . . 7 3.1.1. Data Provider String . . . . . . . . . . . . . . . . 8
3.1.2. Data Provider ID . . . . . . . . . . . . . . . . . . 8 3.1.2. Data Provider ID . . . . . . . . . . . . . . . . . . 8
3.1.3. Data Provider ID Series . . . . . . . . . . . . . . . 8 3.1.3. Data Provider ID Series . . . . . . . . . . . . . . . 9
3.1.4. Type of Data Provider . . . . . . . . . . . . . . . . 9 3.1.4. Type of Data Provider . . . . . . . . . . . . . . . . 9
3.1.5. Data Provider Contact URI . . . . . . . . . . . . . . 10 3.1.5. Data Provider Contact URI . . . . . . . . . . . . . . 10
3.1.6. Data Provider Languages(s) Supported . . . . . . . . 11 3.1.6. Data Provider Languages(s) Supported . . . . . . . . 10
3.1.7. xCard of Data Provider . . . . . . . . . . . . . . . 11 3.1.7. xCard of Data Provider . . . . . . . . . . . . . . . 11
3.1.8. Subcontractor Principal . . . . . . . . . . . . . . . 12 3.1.8. Subcontractor Principal . . . . . . . . . . . . . . . 12
3.1.9. Subcontractor Priority . . . . . . . . . . . . . . . 12 3.1.9. Subcontractor Priority . . . . . . . . . . . . . . . 12
3.1.10. ProviderInfo Example . . . . . . . . . . . . . . . . 13 3.1.10. ProviderInfo Example . . . . . . . . . . . . . . . . 12
3.2. Service Information . . . . . . . . . . . . . . . . . . . 15 3.2. Service Information . . . . . . . . . . . . . . . . . . . 15
3.2.1. Service Environment . . . . . . . . . . . . . . . . . 15 3.2.1. Service Environment . . . . . . . . . . . . . . . . . 15
3.2.2. Service Delivered by Provider to End User . . . . . . 15 3.2.2. Service Delivered by Provider to End User . . . . . . 15
3.2.3. Service Mobility Environment . . . . . . . . . . . . 18 3.2.3. Service Mobility Environment . . . . . . . . . . . . 17
3.2.4. emergencyCallData.SvcInfo Example . . . . . . . . . . 18 3.2.4. emergencyCallData.SvcInfo Example . . . . . . . . . . 17
3.3. Device Information . . . . . . . . . . . . . . . . . . . 19 3.3. Device Information . . . . . . . . . . . . . . . . . . . 18
3.3.1. Device Classification . . . . . . . . . . . . . . . . 19 3.3.1. Device Classification . . . . . . . . . . . . . . . . 18
3.3.2. Device Manufacturer . . . . . . . . . . . . . . . . . 20 3.3.2. Device Manufacturer . . . . . . . . . . . . . . . . . 19
3.3.3. Device Model Number . . . . . . . . . . . . . . . . . 21 3.3.3. Device Model Number . . . . . . . . . . . . . . . . . 20
3.3.4. Unique Device Identifier . . . . . . . . . . . . . . 21 3.3.4. Unique Device Identifier . . . . . . . . . . . . . . 20
3.3.5. Type of Device Identifier . . . . . . . . . . . . . . 21 3.3.5. Type of Device Identifier . . . . . . . . . . . . . . 20
3.3.6. Device/Service Specific Additional Data Structure . . 22 3.3.6. Device/Service Specific Additional Data Structure . . 21
3.3.7. Device/Service Specific Additional Data Structure 3.3.7. Device/Service Specific Additional Data Structure
Type . . . . . . . . . . . . . . . . . . . . . . . . 23 Type . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.8. Choosing between defining a new type of block or new 3.3.8. Issues with getting new types of data into use . . . 22
3.3.9. Choosing between defining a new type of block or new
type of device/service specific additional data . . . 23 type of device/service specific additional data . . . 23
3.3.9. emergencyCallData.DevInfo Example . . . . . . . . . . 24 3.3.10. emergencyCallData.DevInfo Example . . . . . . . . . . 24
3.4. Owner/Subscriber Information . . . . . . . . . . . . . . 24 3.4. Owner/Subscriber Information . . . . . . . . . . . . . . 24
3.4.1. Subscriber Data Privacy Indicator . . . . . . . . . . 25 3.4.1. Subscriber Data Privacy Indicator . . . . . . . . . . 24
3.4.2. xCard for Subscriber's Data . . . . . . . . . . . . . 25 3.4.2. xCard for Subscriber's Data . . . . . . . . . . . . . 25
3.4.3. emergencyCallData.SubInfo Example . . . . . . . . . . 26 3.4.3. emergencyCallData.SubInfo Example . . . . . . . . . . 25
3.5. Comment . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.5. Comment . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.5.1. Comment . . . . . . . . . . . . . . . . . . . . . . . 28 3.5.1. Comment . . . . . . . . . . . . . . . . . . . . . . . 28
3.5.2. emergencyCallData.Comment Example . . . . . . . . . . 29 3.5.2. emergencyCallData.Comment Example . . . . . . . . . . 28
4. Transport . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4. Transport . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.1. Transmitting Blocks using the Call-Info Header . . . . . 31 4.1. Transmitting Blocks using the Call-Info Header . . . . . 30
4.2. Transmitting Blocks by Reference using the Provided-By 4.2. Transmitting Blocks by Reference using the Provided-By
Element . . . . . . . . . . . . . . . . . . . . . . . . . 31 Element . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3. Transmitting Blocks by Value using the Provided-By 4.3. Transmitting Blocks by Value using the Provided-By
Element . . . . . . . . . . . . . . . . . . . . . . . . . 32 Element . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4. The Content-Disposition Parameter . . . . . . . . . . . . 33 4.4. The Content-Disposition Parameter . . . . . . . . . . . . 32
5. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6. XML Schemas . . . . . . . . . . . . . . . . . . . . . . . . . 45 6. XML Schemas . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.1. emergencyCallData.ProviderInfo XML Schema . . . . . . . . 45 6.1. emergencyCallData.ProviderInfo XML Schema . . . . . . . . 44
6.2. emergencyCallData.SvcInfo XML Schema . . . . . . . . . . 47 6.2. emergencyCallData.SvcInfo XML Schema . . . . . . . . . . 46
6.3. emergencyCallData.DevInfo XML Schema . . . . . . . . . . 48 6.3. emergencyCallData.DevInfo XML Schema . . . . . . . . . . 47
6.4. emergencyCallData.SubInfo XML Schema . . . . . . . . . . 49 6.4. emergencyCallData.SubInfo XML Schema . . . . . . . . . . 48
6.5. emergencyCallData.Comment XML Schema . . . . . . . . . . 49 6.5. emergencyCallData.Comment XML Schema . . . . . . . . . . 49
6.6. Provided-By XML Schema . . . . . . . . . . . . . . . . . 50 6.6. Provided-By XML Schema . . . . . . . . . . . . . . . . . 50
7. Security Considerations . . . . . . . . . . . . . . . . . . . 52 7. Security Considerations . . . . . . . . . . . . . . . . . . . 52
8. Privacy Considerations . . . . . . . . . . . . . . . . . . . 54 8. Privacy Considerations . . . . . . . . . . . . . . . . . . . 53
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 56 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 55
9.1. Registry creation . . . . . . . . . . . . . . . . . . . . 56 9.1. Registry creation . . . . . . . . . . . . . . . . . . . . 55
9.1.1. Provider ID Series Registry . . . . . . . . . . . . . 56 9.1.1. Provider ID Series Registry . . . . . . . . . . . . . 55
9.1.2. Service Environment Registry . . . . . . . . . . . . 57 9.1.2. Service Environment Registry . . . . . . . . . . . . 56
9.1.3. Service Provider Type Registry . . . . . . . . . . . 57 9.1.3. Service Provider Type Registry . . . . . . . . . . . 56
9.1.4. Service Delivered Registry . . . . . . . . . . . . . 57 9.1.4. Service Delivered Registry . . . . . . . . . . . . . 57
9.1.5. Device Classification Registry . . . . . . . . . . . 58 9.1.5. Device Classification Registry . . . . . . . . . . . 57
9.1.6. Device ID Type Type Registry . . . . . . . . . . . . 58 9.1.6. Device ID Type Type Registry . . . . . . . . . . . . 57
9.1.7. Device/Service Data Type Registry . . . . . . . . . . 58 9.1.7. Device/Service Data Type Registry . . . . . . . . . . 58
9.1.8. Additional Data Blocks Registry . . . . . . . . . . . 59 9.1.8. Additional Data Blocks Registry . . . . . . . . . . . 58
9.2. 'emergencyCallData' Purpose Parameter Value . . . . . . . 60 9.2. 'emergencyCallData' Purpose Parameter Value . . . . . . . 59
9.3. URN Sub-Namespace Registration for provided-by Registry 9.3. URN Sub-Namespace Registration for provided-by Registry
Entry . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Entry . . . . . . . . . . . . . . . . . . . . . . . . . . 59
9.4. MIME Registrations . . . . . . . . . . . . . . . . . . . 60 9.4. MIME Registrations . . . . . . . . . . . . . . . . . . . 59
9.4.1. MIME Content-type Registration for 9.4.1. MIME Content-type Registration for
'application/emergencyCallData.ProviderInfo+xml' . . 60 'application/emergencyCallData.ProviderInfo+xml' . . 59
9.4.2. MIME Content-type Registration for 9.4.2. MIME Content-type Registration for
'application/emergencyCallData.SvcInfo+xml' . . . . . 61 'application/emergencyCallData.SvcInfo+xml' . . . . . 60
9.4.3. MIME Content-type Registration for 9.4.3. MIME Content-type Registration for
'application/emergencyCallData.DevInfo+xml' . . . . . 62 'application/emergencyCallData.DevInfo+xml' . . . . . 61
9.4.4. MIME Content-type Registration for 9.4.4. MIME Content-type Registration for
'application/emergencyCallData.SubInfo+xml' . . . . . 63 'application/emergencyCallData.SubInfo+xml' . . . . . 62
9.4.5. MIME Content-type Registration for 9.4.5. MIME Content-type Registration for
'application/emergencyCallData.Comment+xml' . . . . . 64 'application/emergencyCallData.Comment+xml' . . . . . 63
9.5. URN Sub-Namespace Registration . . . . . . . . . . . . . 65 9.5. URN Sub-Namespace Registration . . . . . . . . . . . . . 64
9.5.1. Registration for 9.5.1. Registration for
urn:ietf:params:xml:ns:emergencycalldata . . . . . . 65 urn:ietf:params:xml:ns:emergencycalldata . . . . . . 64
9.5.2. Registration for 9.5.2. Registration for
urn:ietf:params:xml:ns:emergencycalldata:providerinfo 66 urn:ietf:params:xml:ns:emergencycalldata:providerinfo 65
9.5.3. Registration for 9.5.3. Registration for
urn:ietf:params:xml:ns:emergencycalldata:svcinfo . . 67 urn:ietf:params:xml:ns:emergencycalldata:svcinfo . . 66
9.5.4. Registration for 9.5.4. Registration for
urn:ietf:params:xml:ns:emergencycalldata:devinfo . . 67 urn:ietf:params:xml:ns:emergencycalldata:devinfo . . 67
9.5.5. Registration for 9.5.5. Registration for
urn:ietf:params:xml:ns:emergencycalldata:subinfo . . 68 urn:ietf:params:xml:ns:emergencycalldata:subinfo . . 67
9.5.6. Registration for 9.5.6. Registration for
urn:ietf:params:xml:ns:emergencycalldata:comment . . 69 urn:ietf:params:xml:ns:emergencycalldata:comment . . 68
9.6. Schema Registrations . . . . . . . . . . . . . . . . . . 70 9.6. Schema Registrations . . . . . . . . . . . . . . . . . . 69
9.7. VCard Parameter Value Registration . . . . . . . . . . . 70 9.7. VCard Parameter Value Registration . . . . . . . . . . . 69
10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 71 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 70
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 71 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 70
11.1. Normative References . . . . . . . . . . . . . . . . . . 71 11.1. Normative References . . . . . . . . . . . . . . . . . . 70
11.2. Informational References . . . . . . . . . . . . . . . . 72 11.2. Informational References . . . . . . . . . . . . . . . . 71
Appendix A. XML Schema for vCard/xCard . . . . . . . . . . . . . 74 Appendix A. XML Schema for vCard/xCard . . . . . . . . . . . . . 73
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 96 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 95
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 emergency identity, the multimedia capabilities of the device, the emergency
service number, location information, and meta-data about the sources service number, location information, and meta-data about the sources
of the data. The device, the access network provider, and any of the data. The device, the access network provider, and any
service provider in the call path may have even more information service provider in the call path may have even more information
skipping to change at page 23, line 45 skipping to change at page 22, line 45
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
(calltaker or first responder) to know what type of additional (calltaker or first responder) to know what type of additional
data may be available to aid in providing the needed emergency data may 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.
3.3.8. Choosing between defining a new type of block or new type of 3.3.8. Issues with getting new types of data into use
This document describes two mechanisms which allow extension of the
kind of data provided with an emergency call: define a new block or
define a new service specific additional data URL for the DevInfo
block. While defining new data types and getting a new device or
application to send the new data may be easy, getting PSAPs and
responders to actually retrieve the data and use it will be
difficult. New mechanism providers should understand that acquiring
and using new forms of data usually require software upgrades at the
PSAP and/or responders, as well as training of call takers and
responders in how to interpret and use the information. Legal and
operational review may also be needed. Overwhelming a call taker or
responder with too much information is highly discouraged. Thus, the
barrier to supporting new data is quite high.
The mechanisms this document describes are meant to encourage
development of widely supported, common data formats for classes of
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
responders may be encouraged to upgrade their systems and train their
staff to use the data. Variations, however well intentioned, are
unlikely to be supported.
Implementers should consider that data from sensor-based devices in
some cases may not be useful to call takers or PSAPs (and privacy or
other considerations may preclude the PSAP from touching the data),
but may be of use to responders. Some standards being developed by
other organizations to carry data from the PSAP to responders are
designed to carry all additional data supplied in the call that
conform to this document, even if the PSAP does not fetch or
interpret the data. This allows responders to get the data even if
the PSAP does not.
3.3.9. 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 DevInfo block can be used service specific additional data URL the DevInfo 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:
Applicability: Information which will be carried by many kinds of Applicability: Information which will be carried by many kinds of
skipping to change at page 24, line 33 skipping to change at page 24, line 13
DevInfo block, rather than a new block so that implementations are DevInfo block, rather than a new block so that implementations are
not tempted to send the data by value. Conversely, data which is not tempted to send the data by value. Conversely, data which is
small may best be sent in a separate block so that it can be sent small may best be sent in a separate block so that it can be sent
by value by value
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).
3.3.9. emergencyCallData.DevInfo Example 3.3.10. emergencyCallData.DevInfo Example
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<dev:emergencyCallData.DevInfo <dev:emergencyCallData.DevInfo
xmlns:dev="urn:ietf:params:xml:ns:emergencycalldata:devinfo" xmlns:dev="urn:ietf:params:xml:ns:emergencycalldata:devinfo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<dev:id>12345</dev:id> <dev:id>12345</dev:id>
<dev:DeviceClassification>Fixed phone</dev:DeviceClassification> <dev:DeviceClassification>Fixed phone</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>35788104</dev:UniqueDeviceID> <dev:UniqueDeviceID>35788104</dev:UniqueDeviceID>
skipping to change at page 33, line 15 skipping to change at page 32, line 42
</emergencyCallDataValue> </emergencyCallDataValue>
</provided-by> </provided-by>
Example Provided-By by Value. Example Provided-By by Value.
4.4. The Content-Disposition Parameter 4.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' MIME mandate support for 'multipart' message bodies, 'multipart/mixed'
bodies are, however, used by many extensions (including additional MIME bodies are used by many extensions (including this document)
data) today. For example, adding a PIDF-LO, SDP, and additional data today. For example, adding a PIDF-LO, SDP, and additional data in
in body of a SIP message requires a 'multipart' message body. body of a SIP message requires a 'multipart' message body.
RFC 3204 [RFC3204] and RFC 3459 [RFC3459] define the 'handling' RFC 3204 [RFC3204] and RFC 3459 [RFC3459] define the 'handling'
parameter for the Content-Disposition header field. These RFCs parameter for the Content-Disposition header field. These RFCs
describe how a UAS reacts if it receives a message body whose content describe how a UAS reacts if it receives a message body whose content
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
skipping to change at page 34, line 4 skipping to change at page 33, line 29
--boundary1 --boundary1
Content-Type: application/pidf+xml Content-Type: application/pidf+xml
Content-ID: <target123@atlanta.example.com> Content-ID: <target123@atlanta.example.com>
Content-Disposition: by-reference;handling=optional Content-Disposition: by-reference;handling=optional
...PIDF-LO goes in here ...PIDF-LO goes in here
--boundary1-- --boundary1--
Content-Type: application/emergencyCall.ProviderInfo+xml Content-Type: application/emergencyCall.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 10: Example for use of the Content-Disposition Parameter in
SIP. SIP.
5. Examples 5. 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 11. In this example additional data is added by the end
device, included by the VoIP provider, and provided by the access device, included by the VoIP provider (via the PIDF-LO), and provided
network provider. by the access network provider.
O +----+ Emergency Call [================] (1) [================]
/|\ | UA |--+ +Device Info [ O +----+ ] Emergency Call [ ]
| +----+ | +Data Provider Info [ /|\ | UA |-------------------------------> ]
/ \ | +Location URI [ | +----+ ] +Device Info [ ]
| [ / \ ] +Data Provider Info [ ]
| (1) [ ] +Location URI [ ]
\ [ Access Network ] [ ]
\ [ Provider ] [ VoIP Provider ]
,-----------. Location [ ] [ example.org ]
,' `. +Owner/Subscriber Info [ ^ ] [ ]
/ \ +Device Info [=======.========] [============|===]
| Access | +Data Provider Info #3 . |
| Network |<..................+ . |
| Provider | . . [================] |
\ / . (4) . [ ] (2) |
`. ,' . . (3) [ <--------------+
'----------' . ....................> PSAP ] Emergency Call
| . Location [ ] +Device Info
| v +Owner/Subscriber Info [ ] +Data Provider Info #2
| +----------+ +Device Info [ ] +Location URI
(2)| | | +Data Provider Info #3 [================]
| | PSAP |
\ | |
\ +----------+
Emergency Call \ ^
+Device Info \ |
+Data Provider Info ,-------. | (3)
+Location URI ,' `. -
/ VoIP \ ----
( Provider )---
\ example.org / Emergency Call
`. ,' +Device Info
'-------' +Owner/Subscriber Info
+Data Provider Info
//////////////
+Service Info
+Location URI
+Data Provider Info #2
Legend: Legend:
--- Emergency Call Setup Procedure --- Emergency Call Setup Procedure
... Location Retrieval/Response ... Location Retrieval/Response
Figure 11: Additional Data Example Flow. Figure 11: 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 11). The SIP INVITE example is shown in
Figure 12. Figure 12.
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> ;purpose=icon, Call-Info: <http://wwww.example.com/hannes/photo.jpg> ;purpose=icon,
<http://www.example.com/hannes/> ;purpose=info, <http://www.example.com/hannes/> ;purpose=info,
<cid:1234567890@example.com> <cid:1234567890@atlanta.example.com>
;purpose=emergencyCallData.ProviderInfo ;purpose=emergencyCallData.ProviderInfo,
<cide:0123456789@atlanta.example.com>
;purpose=emergencyCallData.DevInfo
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/emergencyCallProviderinfo+xml application/emergencyCallProviderinfo+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: ...
skipping to change at page 36, line 4 skipping to change at page 35, line 16
Geolocation-Routing: yes Geolocation-Routing: yes
Accept: application/sdp, application/pidf+xml, Accept: application/sdp, application/pidf+xml,
application/emergencyCallProviderinfo+xml application/emergencyCallProviderinfo+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 ...SDP goes here
--boundary1-- --boundary1--
Content-Type: application/emergencyCallData.DevInfo+xml Content-Type: application/emergencyCallData.DevInfo+xml
Content-ID: <1234567890@atlanta.example.com> Content-ID: <0123456789@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"?>
<dev:emergencyCallData.DevInfo <dev:emergencyCallData.DevInfo
xmlns:dev="urn:ietf:params:xml:ns:emergencycalldata:devinfo" xmlns:dev="urn:ietf:params:xml:ns:emergencycalldata:devinfo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<dev:id>12345</svc:id> <dev:id>12345</svc:id>
<dev:DeviceClassification>SoftPhn</dev:DeviceClassification> <dev:DeviceClassification>SoftPhn</dev:DeviceClassification>
<dev:UniqueDeviceID>00-0d-4b-30-72-df</dev:UniqueDeviceID> <dev:UniqueDeviceID>00-0d-4b-30-72-df</dev:UniqueDeviceID>
<dev:TypeOfDeviceID>MAC</dev:TypeOfDeviceID> <dev:TypeOfDeviceID>MAC</dev:TypeOfDeviceID>
skipping to change at page 39, line 6 skipping to change at page 38, line 18
resulting message is shown in Figure 13. resulting message is shown in Figure 13.
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> ;purpose=icon, Call-Info: <http://wwww.example.com/hannes/photo.jpg> ;purpose=icon,
<http://www.example.com/hannes/> ;purpose=info, <http://www.example.com/hannes/> ;purpose=info,
<cid:1234567890@example.com> <cid:1234567890@atlanta.example.com>
;purpose=emergencyCallData.ProviderInfo
<cid:0123456789@atlanta.example.com>
;purpose=emergencyCallData.DevInfo
Call-Info: <cid:bloorpyhex@atlanta.example.com>
;purpose=emergencyCallData.SrvcInfo
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 ...SDP goes here
--boundary1-- --boundary1--
Content-Type: application/emergencyCallData.DevInfo+xml Content-Type: application/emergencyCallData.DevInfo+xml
Content-ID: <1234567890@atlanta.example.com> Content-ID: <0123456789@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"?>
<dev:emergencyCallData.DevInfo <dev:emergencyCallData.DevInfo
xmlns:dev="urn:ietf:params:xml:ns:emergencycalldata:devinfo" xmlns:dev="urn:ietf:params:xml:ns:emergencycalldata:devinfo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<dev:id>12345</svc:id> <dev:id>12345</svc:id>
<dev:DeviceClassification>SoftPhn</dev:DeviceClassification> <dev:DeviceClassification>SoftPhn</dev:DeviceClassification>
<dev:UniqueDeviceID>00-0d-4b-30-72-df</dev:UniqueDeviceID> <dev:UniqueDeviceID>00-0d-4b-30-72-df</dev:UniqueDeviceID>
<dev:TypeOfDeviceID>MAC</dev:TypeOfDeviceID> <dev:TypeOfDeviceID>MAC</dev:TypeOfDeviceID>
skipping to change at page 41, line 33 skipping to change at page 41, line 4
</parameters> </parameters>
<uri>https://www.example.com/key.asc <uri>https://www.example.com/key.asc
</uri> </uri>
</key> </key>
<tz><text>Finland/Helsinki</text></tz> <tz><text>Finland/Helsinki</text></tz>
<url> <url>
<parameters><type><text>home</text></type> <parameters><type><text>home</text></type>
</parameters> </parameters>
<uri>http://example.com/hannes.tschofenig</uri> <uri>http://example.com/hannes.tschofenig</uri>
</url> </url>
</vcard> </vcard>
</xc:DataProviderContact> </xc:DataProviderContact>
</pi:emergencyCallData.ProviderInfo> </pi:emergencyCallData.ProviderInfo>
--boundary1-- --boundary1--
Content-Type: application/emergencyCall.SvcInfo+xml Content-Type: application/emergencyCall.SvcInfo+xml
Content-ID: <1234567890@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:emergencyCall.SvcInfo <svc:emergencyCall.SvcInfo
xmlns:svc="urn:ietf:params:xml:ns:emergencyCall.SvcInfo" xmlns:svc="urn:ietf:params:xml:ns:emergencyCall.SvcInfo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<svc:id>abc123</svc:id> <svc:id>abc123</svc:id>
<svc:SvcEnvironment>Residence</svc:SvcEnvironment> <svc:SvcEnvironment>Residence</svc:SvcEnvironment>
<svc:SvcDelByProvider>VOIP</svc:SvcDelByProvider> <svc:SvcDelByProvider>VOIP</svc:SvcDelByProvider>
<svc:SvcMobility>Unknown</svc:SvcMobility> <svc:SvcMobility>Unknown</svc:SvcMobility>
</svc:emergencyCall.SvcInfo> </svc:emergencyCall.SvcInfo>
skipping to change at page 42, line 4 skipping to change at page 41, line 23
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:emergencyCall.SvcInfo <svc:emergencyCall.SvcInfo
xmlns:svc="urn:ietf:params:xml:ns:emergencyCall.SvcInfo" xmlns:svc="urn:ietf:params:xml:ns:emergencyCall.SvcInfo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<svc:id>abc123</svc:id> <svc:id>abc123</svc:id>
<svc:SvcEnvironment>Residence</svc:SvcEnvironment> <svc:SvcEnvironment>Residence</svc:SvcEnvironment>
<svc:SvcDelByProvider>VOIP</svc:SvcDelByProvider> <svc:SvcDelByProvider>VOIP</svc:SvcDelByProvider>
<svc:SvcMobility>Unknown</svc:SvcMobility> <svc:SvcMobility>Unknown</svc:SvcMobility>
</svc:emergencyCall.SvcInfo> </svc:emergencyCall.SvcInfo>
--boundary1-- --boundary1--
Content-Type: application/emergencyCallData.ProviderInfo+xml Content-Type: application/emergencyCallData.ProviderInfo+xml
Content-ID: <1234567890@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"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<pi:id>abc123</pi:id> <pi:id>abc123</pi:id>
<pi:DataProviderString>Example 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>
 End of changes. 47 change blocks. 
121 lines changed or deleted 150 lines changed or added

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