ECRIT B.R. Rosen
Internet-Draft NeuStar
Intended status: Standards Track H. Tschofenig
Nokia Siemens Networks
2011

Additional Data related to an Emergency Call
draft-ietf-ecrit-additional-data-00.txt

Abstract

When an emergency call is sent to a PSAP, the device that sends it, as well as any service provider in the path of the call, or access network may have information about the call which the PSAP may be able to use. This document describes an XML data structure that contains this kind of information in a standardized form. A URI that points to the structure can be included in the SIP signaling with the call, or the data may be included in the body of a SIP message.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http:/⁠/⁠datatracker.ietf.org/⁠drafts/⁠current/⁠.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

Copyright Notice

Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http:/⁠/⁠trustee.ietf.org/⁠license-⁠info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.


Table of Contents

1. Introduction

When an emergency call is sent to a PSAP, there is a rich set of data in the headers with the call, but the device, as well as any other service provider in the path may have even more information that would be useful to a PSAP. This information may include the identity and contact information of the service provider, subscriber identity and contact information, the type of service the service provider provides, what kind of device the user has, etc. Some kinds of devices or services have device or service dependent data. For example, a car telematics system or service may have crash information. A medical monitoring device may have sensor data. While the details of the information may vary by device or service, there needs to be a common way to send such data to a PSAP.

For the call takers this will enable more intelligent decision making and therefore better response in case of an emergency. A pre-requisite is to offer the technical capabilities to let call takers to gain access to this information stored elsewhere (granted that they have authorization to access it).

This document focuses on the data that can be obtained about a call and a mechanism for transporting it in an existing SIP header field, the Call-Info header. For this purpose a new token, namely 'emergencyCallData' is defined to be carried in the "purpose" parameter. If the "purpose" parameter set to 'emergencyCallData' then the Call-Info contains a HTTPS URL that points to a data structure with information about the call or a CID that allows the data structure to be placed in the body of the message. In addition, this document describes a "provided-by" namespace per [RFC4119] for passing information known to the access network

The data is defined as a series of "blocks" that represent a class of information. Each of the blocks is a MIME type, and an extensible set of these types constitute the data structure. A registry is defined to list the block types that may be included.

The data structure contains an element which itself is a URI that has device or service dependent data. Thus the common Additional Data about a Call defined by this document contains a 'hook', in the form of a URI for a device or service dependent data structure.

2. Terminology

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].

3. Additional Data about a Call

The Additional Data about a Call is information specific to a call known by the device that sends it or a service provider in the path of a call or in the access network the call originates in. The Additional Data about a Call is a set of information blocks. Each block is a MIME type, and any set of blocks may be included in the set.

Three mechanisms are provided to transport the data set. A URI to the data set may be inserted in a SIP INVITE or MESSAGE transaction with a Call-Info header containing a purpose of "emergenyCallData". If the data is provided by reference, it may be retrieved with an HTTPS Get from the URI. The URI MUST specify an HTTPS scheme, and TLS protection for the data MUST be negotiated.

The data may be supplied by value in a SIP INVITE or MESSAGE message. In this case, Content Indirection [RFC2392] is used, with the CID URL pointing to the body of the message.

More than one Call-Info header with an emergencyCallData purpose can be expected. The device may insert one, and any intermediary service provider may insert its own. When there are multiple intermediaries each intermediary may each insert one. For example, a device may provide one, a telematics service provider may provide one and the mobile carrier handling the call may provide one.

The access network may supply Additional Data about a Call. For this purpose, this document defines a namespace and adds the namespace to the "provided-by" registry defined by [RFC4119]

Additional Data about a Call is defined as a series of blocks. Each block is defined as a mime type, with an XML data structure. MIME-multipart is used to enclose the set of blocks constituting the information provided by an entity (service provider or device). The sections below define the blocks.

3.1. Data Provider Information Block

This block is intended to be provided by any service provider in the path of the call or the access network provider. It includes identification and contact information. This block SHOULD be provided for every service provider in the path of the call, and the access network provider. Devices also use this block to provide identifying information. The MIME type is "addDataProviderInfo".

3.1.1. Data Provider String

Data Element:
Data Provider String

Use:
Required

XML Element:
<DataProviderString>

Description:
This is a plain language string suitable for displaying the name of the service provider that created the additional data structure. If the device created the structure the value is identical to the contact header in the SIP Invite. This data is required and should reflect the contact information of the owner of the device.

Reason for Need:
Inform the call taker about the identity of the entity providing the additional call data structure.
How Used by Call Taker:
Allows the call taker to interpret the data in this structure. The source of the information often influences how the information is used, believed or verified.

3.1.2. Data Provider ID

Data Element:
Data Provider ID

Use:
Conditional

XML Element:
<ProviderID>

Description:
A jurisdiction specific code for the provider shown in the <DataProvidedBy> element that created the structure of the call. NOTE: In the US, the NENA Company ID must appear here. Additional information may be found at http://www.nena.org/nena-company-id. The NENA Company ID shall be in the form of any URI for example: urn:nena:companyid:<NENA Company ID>. This data is required unless the additional data structure is provided by the device.

Reason for Need:
Inform the call taker about the identity of the entity providing the additional call data structure.

How Used by Call Taker:
Where jurisdictions have lists of providers the Provider Company ID can lead to a wealth of information associated with the code.

3.1.3. Data Provider Contact URI

Data Element:
Data Provider Contact URI

Use:
Required

XML Element:
<ContactURI>

Description:
For a Service Provider the contact SHOULD be a 24x7 contact URI. This must be a SIP URI. If a telephone number is the contact address it should be provided in the form of sip:telephonenumber@serviceprovider:user=phone. If the call is from a device, this data is required and should reflect the contact information of the owner of the device.

Reason for Need:
Additional data providers may need to be contacted for error or other unusual circumstances.

How Used by Call Taker:
To contact the supplier of the additional data provider structure.

3.1.4. Data Provider Languages(s) supported

Data Element:
Data Provider Language(s) supported

Use:
Conditional

XML Element:
<LanguagePreference>

Description:
Provided by’s alpha 2-character code as defined in ISO 639-1:2002 (http://www.iso.org/iso/catalogue_detail?csnumber=22109) Codes for the representation of names of languages -- Part 1: Alpha-2 code Multiple instances of this element may occur. Order is significant; preferred language should appear first. This data is required unless the message is from a data only device.

Reason for Need:
Information needed to determine if 9-1-1 Authority can communicate with the Service Provider or if language line will be needed.

How Used by Call Taker:
If call taker cannot speak language(s) supported by the Service Provider, language line will need to be added in to conversation.

3.1.5. vCARD of Data Provider

Data Element:
vCARD of Data Provider

Use:
Optional

XML Element:
<DataProviderContact>

Description:
There are many fields in the vCARD. The creator of the data structure is encouraged to provide as much information as they have available. A minimum of subscriber provided by’s name, address and general contact number should be provided.

Reason for Need:
Information needed to determine additional contact information.

How Used by Call Taker:
Assists call taker by providing additional contact information that may not be included in the SIP invite or the PIDF-LO. Can display a picture of the caller to the call taker.

3.2. Service Information

This block describes the service that the service provider provides to the caller. It SHOULD be included by all SPs in the path of the call. The mime type is "addCallSvcInfo"

3.2.1. Service Environment

Data Element:
Service Environment

Use:
Required

XML Element:
<SvcEnvironment>

Description:
This defines if the call service type is a Business or Residence caller. Currently, the only valid entries are Business or Residence.

Reason for Need:
To assist in determining equipment and manpower requirements.

How Used by Call Taker:
Information may be used to determine equipment and manpower requirements for emergency responders.

3.2.2. Service Delivered by Provider to End User

Data Element:
Service Delivered by Provider to End User

Use:
Required

XML Element:
<SvcDelByProvider>

Description:
This defines the type of service the end user has subscribed to. The implied mobility of this service can not be relied upon. A registry will reflect the following valid entries:



Reason for Need:
Knowing the type of service may assist the PSAP with the handling of the call.

How Used by Call Taker:
Calltaker may be able to determine if the caller is stationary or mobile and if they will have voice communications with the caller or is it a data only event.

3.3. Device Information

This block provides information about the device used to place the call. It should be provided by any service provider that knows what device is being used, and by the device itself. The mime type is "addDataDevInfo".

3.3.1. Device Classification

Data Element:
Device Classification

Use:
Optional

XML Element:
<DeviceClassification>

Description:
If the device provides the data structure, the device information should be provided. If the Service Provider provides the structure and it knows what the device is, the Service Provider should provide the device information. Often the carrier does not know what the device is. It is possible to receive 2 data structures, one created by the device and one created by the Service Provider. Information about the device, not how it is being used. This data element defines the kind of device making the emergency call. A registry will reflect the following valid entries:



Reason for Need:
The device classification describes the capability of the calling device. 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 rebid for location or condition changes? Is this device interactive or a one-way reporting device?

How Used by Call Taker:
May assist with location of caller. For example, a cordless handset may be outside or next door. May provide calltaker some context about the caller.

3.3.2. Device Manufacturer

Data Element:
Device Manufacturer

Use:
Optional

XML Element:
<DeviceMfgr>

Description:
Manufacturer is electronically stored on the device. Different devices may use different conventions to provide their information. We need to know what it represents, so a registry is in order. Need to be able to standardize as much as possible with a uniform naming convention. A registry will reflect the valid entries.

Reason for Need:
Used by PSAP management for post-mortem investigation/resolution.

How Used by Call Taker:
Probably not used by calltaker, but by PSAP management.

3.3.3. Device Model Number

Data Element:
Device Model Number

Use:
Optional

XML Element:
<DeviceModelNr>

Description:
Model number is electronically stored on the device.

Reason for Need:
Used by PSAP management for after action investigation/resolution.

How Used by Call Taker:
Probably not used by calltaker, but by PSAP management.

3.3.4. Unique Device Identifier

Data Element:
Unique Device Identifier

Use:
Optional

XML Element:
<UniqueDeviceID>

Description:
Characters that identify the specific device making the call or creating an event.

Reason for Need:
May be needed when trying to obtain a subpoena to obtain customer information in instances where location info did not display or someone is making false emergency calls. May also be used when working with safe houses that are using non-initialized phones.

How Used by Call Taker:
Probably not used by calltaker they would need to refer to management for investigation.

3.3.5. Type of Device Identifier

Data Element:
Type of Device Identifier

Use:
Optional

XML Element:
<TypeOfDeviceID>

Description:
Identifies the type of device identifier being generated in the unique device identifier data element. A registry will reflect the following valid entries:



Reason for Need:
Calls from uninitiated devices would give an identifier that could be associated with erroneous calls --- use the number to identify what type of capabilities there are. Could also use this information to block specific types of calls.

How Used by Call Taker:
Additional information that may be used to assist with call handling.

3.3.6. Device/service specific additional data structure

Data Element:
Device/service specific additional data structure

Use:
Optional

XML Element:
<devicespecificSchema>

Description:
A URI representing additional data whose schema is specific to the device or service which created it. An example is the VEDs structure for a vehicle telematics device. The structure can be referenced via URI and used in the policy routing function business rules/policies or for access by call takers or responders. Non-NENA XML schemas must be registered. Some possible sources are:

Different data may be created by each classification; i.e., telematics creates VEDS data set - can be different types of data depending on device. May want to describe type of data for each device.



Reason for Need:
This data element will allow for identification of externally defined schemas, which may have additional data that will assist in emergency response.

How Used by Call Taker:
This data element will allow the end user (calltaker or first responder) to know what type of additional data may be available to aid in providing the needed emergency services.

3.4. Regulatory Information

In some jurisdictions, handling of emergency calls involves information known by a service provider that must, by regulation, be passed to the emergency system. The mime type is "addCallReg".

3.4.1. Telephone Number Privacy Indicator

Data Element:
Telephone Number Privacy Indicator

Use:
Required

XML Element:
<TNPrivacyIndicator>

Description:
Some State regulations require that Non-Published subscriber name remains private to all including 9-1-1. Where this regulation is in place, the end user’s name must be overlaid with blanks or the verbiage, “Non-Published Number.”

Reason for Need:
Some State regulations require that Non-Published subscriber name remains private to all including emergency calls. Where this regulation is in place, the end user’s name must be overlaid with blanks or the verbiage, “Non-Published Number”.

How Used by Call Taker:
This is not beneficial to PSAPs; however, they must follow state regulations. This indicator will allow for coding that overlays the non-published subscriber name with the verbiage “Non-Published Number.”

3.5. Owner/Subscriber Information

This block describes the owner of the device (if provided by the device) or the subscriber information, if provided by a service provider. The contact location is NOT necessarily the location of the caller or incident, but is rather the nominal contact address. The mime type is "addCallSub".

3.5.1. vCARD for Subscriber’s Data

Data Element:
vCARD for Subscriber’s Data

Use:
Required

XML Element:
<SubscriberData>

Description:
Information known by the Service Provider about the subscriber; i.e., Name, Address, Calling Party Number, Main Telephone Number and any other data. If the subscriber is an enterprise, this is the vCARD of the enterprise and the Company Name is used not the Name of the Caller. The telephone number is the main telephone number at the location of the call. The address should be where the call is originating from.

Reason for Need:
Critical information required for proper call handling and dispatching.

How Used by Call Taker:
Critical information required for proper call handling and dispatching.

4. XML Schema

NOTE: This section is not yet updated.

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns="urn:nena:xml:ns:es:NG:Call"
    targetNamespace="urn:nena:xml:ns:es:NG:Call" 
    elementFormDefault="qualified"
    attributeFormDefault="unqualified" version="1.0">
    <xsd:include schemaLocation="NGTypeLib.xsd"/>
    <xsd:element name="DataAssociatedWithCall">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="DataProvidedBy" 
                    type="sourceProviderType" minOccurs="0"/>
                <xsd:element ref="CallerDataURL" minOccurs="0"/>
                <xsd:element ref="ServiceEnvironment"/>
                <xsd:element ref="ServiceDeliveredByProvider"/>
                <xsd:element ref="DeviceClassification"/>
                <xsd:element ref="DeviceManufacturer"/>
                <xsd:element name="DeviceModel" type="xsd:token"/>
                <xsd:element name="DeviceID" type="xsd:token"/>
                <xsd:element ref="DeviceIDType"/>
                <xsd:element name="DeviceSpecificSchema" 
                    type="ExtensionType" minOccurs="0"/>
                <xsd:element ref="PrivacyIndicator"/>
                <xsd:element ref="SubscribervCARD"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="CallerDataURL" type="xsd:anyURI">
    </xsd:element>
    <xsd:element name="ServiceDeliveredByProvider" type="xsd:token">
    </xsd:element>
    <xsd:element name="DeviceClassification" type="xsd:token">
    </xsd:element>
    <xsd:element name="DeviceManufacturer" type="xsd:token">
    </xsd:element>
    <xsd:element name="DeviceIDType" type="xsd:token">
    </xsd:element>
    <xsd:element name="PrivacyIndicator" type="privacyIndicatorType">
    </xsd:element>
    <xsd:simpleType name="privacyIndicatorType">
        <xsd:restriction base="xsd:token">
            <xsd:enumeration value="Published"/>
            <xsd:enumeration value="Non-Published"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:element name="SubscribervCARD" type="vCARDType">
    </xsd:element>
</xsd:schema>
            

Figure 1: XML Schema

5. Security Considerations

The information in this data structure will usually be considered private. HTTPS is specified to require the provider of the information to validate the credentials of the requester. While the creation of a PKI that has global scope may be difficult, the alternatives to creating devices and services that can provide critical information securely are more daunting.

The Call-info header with purpose='emergencyCallData' MUST only be sent on an emergency call, which can be ascertained by the presence of an emergency service urn in a Route header of a SIP message.

<how recipient validates credentials of sender>

<how sender validates credentials of recipient>

<how sender validates credentials of anyone requesting device dependent data>

There is much private data in this information. Local regulations may govern what data must be provided in emergency calls, but in general, the emergency call system is often aided by the kinds of information described in this document. There is a tradeoff between the privacy considerations and the utility of the data. Certainly, if the data cannot be protected, due to failure of the TLS mechanisms described here, data not required by regulation SHOULD not be sent.

6. IANA Considerations

6.1. 'emergencyCallData' Purpose Parameter Value

This document defines the 'emergencyCallData' value for the "purpose" parameter of the Call-Info header field. A reference to this RFC (in double brackets) has been added to the existing "purpose" Call-Info parameter entry in the SIP Parameters registry, which currently looks as follows:

                                    Predefined
   Header Field    Parameter Name     Values     Reference
   -------------   --------------   ---------   ---------
   Call-Info         purpose           Yes      [RFC3261][RFC5367]
            

6.2. provided-by registry entry

This section registers the namespace specified in ??? in the provided-by registry established by RFC4119.

TBD

6.3. MIME registrations

TBD

6.4. URN Sub-Namespace Registration for urn:ietf:params:xml:ns:additional-data

This section registers a new XML namespace, as per the guidelines in [RFC3688].

                  
   BEGIN
   <?xml version="1.0"?>
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
     "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
   <html xmlns="http://www.w3.org/1999/xhtml">
   <head>
     <meta http-equiv="content-type"
           content="text/html;charset=iso-8859-1"/>
     <title>Additional Data Namespace</title>
   </head>
   <body>
     <h1>Namespace for Additional Data </h1>
     <h2>urn:ietf:params:xml:ns:additional-data</h2>
   <p>See [TBD].</p>
   </body>
   </html>
   END
   
                

URI:
urn:ietf:params:xml:ns:additional-data
Registrant Contact:
IETF, ECRIT working group, <ecrit@ietf.org>, as delegated by the IESG <iesg@ietf.org>.
XML:

6.5. Additional Data Schema Registration

This specification registers a schema, as per the guidelines in [RFC3688].

URI: urn:ietf:params:xml:schema:additional-data
Registrant Contact: IETF, ECRIT Working Group (geopriv@ietf.org), as delegated by the IESG (iesg@ietf.org).
XML: The XML can be found as the sole content of Section 4.

7. Acknowledgments

The authors would like to thank the following persons for their work in the NENA Data Technical Committee: Delaine Arnold (Data Technical Committee Chair), Marc Berryman, Erica Aubut (Data Technical Committee Vice-Chair), Susan Sherwood, Ric Atkins, Patty Bluhm, Eileen Boroski, David Connel, Maryls Davis, Paul-David de la Rosby, Gordon Chinander, David Froneberger, Marilyn Haroutunian, Roger Hixson, Rick Jones, Roger Marshall, Tom Muehleisen, Ira Pyles, Carl Reed, Susan Seet, and Skip Walls. The authors would also like to thank Tom Breen, Technical Committee Chair/Liaison; Busam, Technical Committee Vice-Chair/Liaison; Pete Eggimann, Operations Committee Chair/Liaison; Wendy Lively, Operations Committee Chair/Liaison; Roger Hixson, Technical Director; and Rick Jones, Operations Issues Director for their support and assistance.

8. References

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2392] Levinson, E., "Content-ID and Message-ID Uniform Resource Locators", RFC 2392, August 1998.
[RFC4119] Peterson, J., "A Presence-based GEOPRIV Location Object Format", RFC 4119, December 2005.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, January 2004.

Authors' Addresses

Brian Rosen NeuStar 470 Conrad Dr. Mars, PA 16046 US Phone: +1 724 382 1051 EMail: br@brianrosen.net
Hannes Tschofenig Nokia Siemens Networks Linnoitustie 6 Espoo, 02600 Finland Phone: +358 (50) 4871445 EMail: Hannes.Tschofenig@gmx.net URI: http://www.tschofenig.priv.at