Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 8147

Next-Generation Pan-European eCall

Pages: 43
Proposed Standard
Errata
Part 1 of 2 – Pages 1 to 19
None   None   Next

Top   ToC   RFC8147 - Page 1
Internet Engineering Task Force (IETF)                        R. Gellens
Request for Comments: 8147                    Core Technology Consulting
Category: Standards Track                                  H. Tschofenig
ISSN: 2070-1721                                               Individual
                                                                May 2017


                   Next-Generation Pan-European eCall

Abstract

This document describes how to use IP-based emergency services mechanisms to support the next generation of the Pan-European in- vehicle emergency call service defined under the eSafety initiative of the European Commission (generally referred to as "eCall"). eCall is a standardized and mandated system for a special form of emergency calls placed by vehicles, providing real-time communications and an integrated set of related data. This document also registers MIME media types and an Emergency Call Data Type for the eCall vehicle data and metadata/control data, and an INFO package to enable carrying this data in SIP INFO requests. Although this specification is designed to meet the requirements of next-generation Pan-European eCall (NG-eCall), it is specified generically such that the technology can be reused or extended to suit requirements across jurisdictions. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc8147.
Top   ToC   RFC8147 - Page 2
Copyright Notice

   Copyright (c) 2017 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.
Top   ToC   RFC8147 - Page 3

Table of Contents

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 3. Document Scope . . . . . . . . . . . . . . . . . . . . . . . 6 4. eCall Requirements . . . . . . . . . . . . . . . . . . . . . 7 5. Vehicle Data . . . . . . . . . . . . . . . . . . . . . . . . 7 6. Data Transport . . . . . . . . . . . . . . . . . . . . . . . 7 7. Call Setup . . . . . . . . . . . . . . . . . . . . . . . . . 10 8. Test Calls . . . . . . . . . . . . . . . . . . . . . . . . . 11 9. The Metadata/Control Object . . . . . . . . . . . . . . . . . 11 9.1. The Control Block . . . . . . . . . . . . . . . . . . . . 13 9.1.1. The <ack> Element . . . . . . . . . . . . . . . . . . 14 9.1.1.1. Attributes of the <ack> Element . . . . . . . . . 14 9.1.1.2. Child Element of the <ack> Element . . . . . . . 15 9.1.1.3. Example of the <ack> Element . . . . . . . . . . 16 9.1.2. The <capabilities> Element . . . . . . . . . . . . . 16 9.1.2.1. Child Element of the <capabilities> Element . . . 16 9.1.2.2. Example of the <capabilities> Element . . . . . . 17 9.1.3. The <request> Element . . . . . . . . . . . . . . . . 17 9.1.3.1. Attributes of the <request> Element . . . . . . . 17 9.1.3.2. Child Element of the <request> Element . . . . . 19 9.1.3.3. Request Example . . . . . . . . . . . . . . . . . 19 10. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 20 11. Security Considerations . . . . . . . . . . . . . . . . . . . 25 12. Privacy Considerations . . . . . . . . . . . . . . . . . . . 27 13. XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . 27 14. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30 14.1. The EmergencyCallData Media Subtree . . . . . . . . . . 30 14.2. Service URN Registrations . . . . . . . . . . . . . . . 31 14.3. MIME Media Type Registration for application/EmergencyCallData.eCall.MSD . . . . . . . . 31 14.4. MIME Media Type Registration for application/EmergencyCallData.Control+xml . . . . . . . 32 14.5. Registration of the "eCall.MSD" Entry in the Emergency Call Data Types Registry . . . . . . . . . . . . . . . . 34 14.6. Registration of the "Control" Entry in the Emergency Call Data Types Registry . . . . . . . . . . . . . . . . 34 14.7. Registration for urn:ietf:params:xml:ns:EmergencyCallData:control . . . . 34 14.8. Registry Creation . . . . . . . . . . . . . . . . . . . 35 14.8.1. Emergency Call Actions Registry . . . . . . . . . . 35 14.8.2. Emergency Call Action Failure Reasons Registry . . . 36 14.9. The EmergencyCallData.eCall.MSD INFO Package . . . . . . 37 14.9.1. Overall Description . . . . . . . . . . . . . . . . 37 14.9.2. Applicability . . . . . . . . . . . . . . . . . . . 37 14.9.3. INFO Package Name . . . . . . . . . . . . . . . . . 38 14.9.4. INFO Package Parameters . . . . . . . . . . . . . . 38
Top   ToC   RFC8147 - Page 4
       14.9.5.  SIP Option-Tags  . . . . . . . . . . . . . . . . . .  38
       14.9.6.  INFO Request Body Parts  . . . . . . . . . . . . . .  38
       14.9.7.  INFO Package Usage Restrictions  . . . . . . . . . .  39
       14.9.8.  Rate of INFO Requests  . . . . . . . . . . . . . . .  39
       14.9.9.  INFO Package Security Considerations . . . . . . . .  39
       14.9.10. Implementation Details . . . . . . . . . . . . . . .  39
       14.9.11. Examples . . . . . . . . . . . . . . . . . . . . . .  39
   15. References  . . . . . . . . . . . . . . . . . . . . . . . . .  40
     15.1.  Normative References . . . . . . . . . . . . . . . . . .  40
     15.2.  Informative references . . . . . . . . . . . . . . . . .  41
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .  42
   Contributors  . . . . . . . . . . . . . . . . . . . . . . . . . .  42
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  43

1. Introduction

Emergency calls made from vehicles (e.g., in the event of a crash) assist in significantly reducing road deaths and injuries by allowing emergency services to be aware of the incident, the state (condition) of the vehicle, and the location of the vehicle and to have a voice communications channel with the vehicle occupants. This enables a quick and appropriate response. The European Commission initiative of eCall was conceived in the late 1990s and has evolved to a European Parliament decision requiring the implementation of a compliant in-vehicle system (IVS) in new vehicles and the deployment of eCall in the European Member States in the very near future. Other regions are developing eCall-compatible systems. The Pan-European eCall system is a standardized and mandated mechanism for emergency calls by vehicles, providing a voice channel and transmission of data. eCall establishes procedures for such calls to be placed by in-vehicle systems, recognized and processed by the mobile network, and routed to a specialized Public Safety Answering Point (PSAP) where the vehicle data is available to assist the call taker in assessing and responding to the situation. eCall provides a standard set of vehicle, sensor (e.g., crash-related), and location data. An eCall can be either user initiated or automatically triggered. Automatically triggered eCalls indicate a car crash or some other serious incident. Manually triggered eCalls might be reports of witnessed crashes or serious hazards, a request for medical assistance, etc. PSAPs might apply specific operational handling to manual and automatic eCalls.
Top   ToC   RFC8147 - Page 5
   Legacy eCall is standardized (by 3GPP [SDO-3GPP] and the European
   Committee for Standardization (CEN) [CEN]) as a 3GPP circuit-switched
   call over Global System for Mobile communications (GSM) (2G) or
   Universal Mobile Telecommunications System (UMTS) (3G).  Flags in the
   call setup mark the call as an eCall and further indicate if the call
   was automatically or manually triggered.  The call is routed to an
   eCall-capable PSAP, a voice channel is established between the
   vehicle and the PSAP, and an eCall in-band modem is used to carry a
   defined set of vehicle, sensor (e.g., crash-related), and location
   data (the Minimum Set of Data or MSD) within the voice channel.  The
   same in-band mechanism is used for the PSAP to acknowledge successful
   receipt of the MSD and to request the vehicle to send a new MSD
   (e.g., to check if the state of or location of the vehicle or its
   occupants has changed).  NG-eCall moves from circuit switched to
   all-IP and carries the vehicle data and eCall signaling as additional
   data carried with the call.  This document describes how IETF
   mechanisms for IP-based emergency calls (including [RFC6443] and
   [RFC7852]) are used to provide the signaling and data exchange of the
   next generation of Pan-European eCall.

   The European Telecommunications Standards Institute (ETSI) [SDO-ETSI]
   has published a Technical Report titled "Mobile Standards Group
   (MSG); eCall for VoIP" [MSG_TR] that presents findings and
   recommendations regarding support for eCall in an all-IP environment.
   The recommendations include the use of 3GPP Internet Multimedia
   System (IMS) emergency calling with additional elements identifying
   the call as an eCall and as carrying eCall data and mechanisms for
   carrying the data and eCall signaling.  3GPP IMS emergency services
   support multimedia, providing the ability to carry voice, text, and
   video.  This capability is referred to within 3GPP as Multimedia
   Emergency Services (MMES).

   A transition period will exist during which time the various entities
   involved in initiating and handling an eCall might support NG-eCall,
   legacy eCall, or both.  The issues of migration and co-existence
   during the transition period are outside the scope of this document.

   This document indicates how to use IP-based emergency services
   mechanisms to support NG-eCall.

   This document also registers MIME media types and Emergency Call Data
   Types for the eCall vehicle data (MSD) and metadata/control data, and
   an INFO package to enable carrying this data in SIP INFO requests.

   The MSD is carried in the MIME type application/
   EmergencyCallData.eCall.MSD and the metadata/control block is carried
   in the MIME type application/EmergencyCallData.Control+xml (both of
   which are registered in Section 14).  An INFO package is defined (in
Top   ToC   RFC8147 - Page 6
   Section 14.9) to enable these MIME types to be carried in SIP INFO
   requests, per [RFC6086].

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 [RFC2119]. This document reuses terminology defined in Section 3 of [RFC5012]. Additionally, we use the following abbreviations: 3GPP: 3rd Generation Partnership Project CEN: European Committee for Standardization EENA: European Emergency Number Association ESInet: Emergency Services IP network IMS: IP Multimedia Subsystem IVS: In-Vehicle System MNO: Mobile Network Operator MSD: Minimum Set of Data PSAP: Public Safety Answering Point

3. Document Scope

This document is focused on the signaling, data exchange, and protocol needs of NG-eCall (also referred to as packet-switched eCall or all-IP eCall) within the SIP framework for emergency calls (as described in [RFC6443] and [RFC6881]). eCall itself is specified by 3GPP and CEN, and these specifications include far greater scope than is covered here. The eCall service operates over cellular wireless communication, but this document does not address cellular-specific details, nor client domain selection (e.g., circuit-switched versus packet-switched). All such aspects are the purview of their respective standards bodies. The scope of this document is limited to eCall operating within a SIP-based environment (e.g., 3GPP IMS Emergency Calling [TS23.167]).
Top   ToC   RFC8147 - Page 7
   Although this specification is designed to meet the requirements of
   Pan-European NG-eCall, it is specified generically such that the
   technology can be reused or extended to suit requirements across
   jurisdictions (see, e.g., [RFC8148]), and extension points are
   provided to facilitate this.

   Note that vehicles designed for multiple regions might need to
   support eCall and other Advanced Automatic Crash Notification (AACN)
   systems (such as described in [RFC8148]), but this is out of scope of
   this document.

4. eCall Requirements

eCall requirements are specified by CEN in [EN_16072] and by 3GPP in [TS22.101], Section 10.7 and Annex A.27, and [TS24.229], Section 4.7.6. Requirements specific to vehicle data are contained in EN 15722 [MSD].

5. Vehicle Data

Pan-European eCall provides a standardized and mandated set of vehicle-related data (including VIN, vehicle type, propulsion type, current and optionally previous location coordinates, and the number of occupants) known as the Minimum Set of Data (MSD). CEN has specified this data in EN 15722 [MSD], along with both ASN.1 and XML encodings. Both circuit-switched eCall and this document use the ASN.1 PER encoding, which is specified in Annex A of EN 15722 [MSD] (the XML encoding specified in Annex C is not used in this document, per 3GPP [SDO-3GPP]). This document registers the application/EmergencyCallData.eCall.MSD MIME media type to enable the MSD to be carried in SIP. As an ASN.1 PER-encoded object, the data is binary and transported using binary content transfer encoding within SIP messages. This document also adds "eCall.MSD" to the "Emergency Call Data Types" registry to enable the MSD to be recognized as such in a SIP-based eCall emergency call. (See [RFC7852] for more information about the registry and how it is used.) See Section 6 for a discussion of how the MSD vehicle data is conveyed in an NG-eCall.

6. Data Transport

[RFC7852] establishes a general mechanism for conveying blocks of data within a SIP emergency call. This document makes use of that mechanism to include vehicle data (the MSD; see Section 5) and metadata/control information (see Section 9) within SIP messages.
Top   ToC   RFC8147 - Page 8
   This document also registers an INFO package (in Section 14.9) to
   enable eCall-related data blocks to be carried in SIP INFO requests
   (per [RFC6086], new INFO usages require the definition of an INFO
   package).

   Note that if other data sets need to be transmitted in the future,
   the appropriate signaling mechanism for such data needs to be
   evaluated, including factors such as the size and frequency of such
   data.

   An IVS transmits an MSD (see Section 5) by encoding it per Annex A of
   EN 15722 [MSD] and including it as a MIME body part within a SIP
   message per [RFC7852].  The body part is identified by its MIME media
   type (application/EmergencyCallData.eCall.MSD) in the Content-Type
   header field of the body part.  The body part is assigned a unique
   identifier that is listed in a Content-ID header field in the body
   part.  The SIP message is marked as containing the MSD by adding (or
   appending to) a Call-Info header field at the top level of the SIP
   message.  This Call-Info header field contains a Content Identifier
   (CID) URL referencing the body part's unique identifier and a
   "purpose" parameter identifying the data as the eCall MSD per the
   entry in the "Emergency Call Data Types" registry; the "purpose"
   parameter's value is "EmergencyCallData.eCall.MSD".  Per [RFC6086],
   an MSD is carried in a SIP INFO request by using the INFO package
   defined in Section 14.9.

   A PSAP or IVS transmits a metadata/control object (see Section 9) by
   encoding it per the description in this document and including it
   within a SIP message as a MIME body part per [RFC7852].  The body
   part is identified by its MIME media type (application/
   EmergencyCallData.Control+xml) in the Content-Type header field of
   the body part.  The body part is assigned a unique identifier, which
   is listed in a Content-ID header field in the body part.  The SIP
   message is marked as containing the metadata/control object by adding
   (or appending to) a Call-Info header field at the top level of the
   SIP message.  This Call-Info header field contains a CID URL
   referencing the body part's unique identifier and a "purpose"
   parameter identifying the data as an eCall metadata/control block per
   the entry in the "Emergency Call Data Types" registry; the "purpose"
   parameter's value is "EmergencyCallData.Control".  Per [RFC6086], a
   metadata/control object is carried in a SIP INFO request by using the
   INFO package defined in Section 14.9.

   An MSD or a metadata/control block is always enclosed in a multipart
   body part (even if it would otherwise be the only body part in the
   SIP message).
Top   ToC   RFC8147 - Page 9
   A body part containing an MSD or metadata/control object has a
   Content-Disposition header field value containing "By-Reference".

   An IVS initiating an NG-eCall includes an MSD as a body part within
   the initial INVITE and optionally also includes a metadata/control
   object informing the PSAP of its capabilities as another body part.
   The MSD body part (and metadata/control and Presence Information Data
   Format Location Object (PIDF-LO) body parts, if included) have a
   Content-Disposition header field with the value "By-Reference;
   handling=optional".  Specifying "handling=optional" prevents the SIP
   INVITE request from being rejected if it is processed by a legacy
   element (e.g., a gateway between SIP and circuit-switched
   environments) that does not understand the MSD (or metadata/control
   object or PIDF-LO).

   The PSAP creates a metadata/control object acknowledging receipt of
   the MSD and includes it as a body part within the SIP final response
   to the SIP INVITE request per [RFC7852].  A metadata/control object
   is not included in provisional (e.g., 180) responses.

   A PSAP is able to reject a call while indicating that it is aware of
   the situation by including a metadata/control object acknowledging
   the MSD and containing "received=true" within a final response using
   SIP response code 600 (Busy Everywhere), 486 (Busy Here), or 603
   (Decline), per [RFC7852].

   If the IVS receives an acknowledgment for an MSD containing
   "received=false", this indicates that the PSAP was unable to properly
   decode or process the MSD.  The IVS action is not defined (e.g., it
   might only log an error).  Since the PSAP is able to request an
   updated MSD during the call, if an initial MSD is unsatisfactory in
   any way, the PSAP can choose to request another one.

   A PSAP can request that the vehicle send an updated MSD during a call
   (e.g., upon manual request of the PSAP call taker who suspects the
   vehicle state may have changed).  To do so, the PSAP creates a
   metadata/control object requesting an MSD and includes it within a
   SIP INFO request sent within the dialog.  The IVS then includes an
   updated MSD within a SIP INFO request and sends it within the dialog.
   If the IVS is unable to send an MSD, it instead sends a metadata/
   control object acknowledging the request, containing an
   <actionResult> element with a "success" parameter set to "false" and
   a "reason" parameter (and optionally a "details" parameter)
   indicating why the request could not be accomplished.  Per [RFC6086],
   metadata/control objects and MSDs are sent using the INFO package
   defined in Section 14.9.  In addition, to align with how an MSD or
   metadata/control block is transmitted in a SIP message other than an
   INFO request, a Call-Info header field is included in the SIP INFO
Top   ToC   RFC8147 - Page 10
   request to reference the MSD or metadata/control block per [RFC7852].
   See Section 14.9 for information about the use of SIP INFO requests
   to carry data within an eCall.

   The IVS is not expected to send an unsolicited MSD after the initial
   INVITE.

   This document does not mandate support for the data blocks defined in
   [RFC7852].

7. Call Setup

In a circuit-switched eCall, the IVS places a special form of a 112 emergency call, which carries an eCall flag (indicating that the call is an eCall and also if the call was manually or automatically triggered); the mobile network operator (MNO) recognizes the eCall flag and routes the call to an eCall-capable PSAP, and vehicle data is transmitted to the PSAP via the eCall in-band modem (in the voice channel). ///-----\\\ 112 voice call with eCall flag +------+ ||| IVS |||---------------------------------------->| PSAP | \\\-----/// vehicle data via eCall in-band modem +------+ Figure 1: Circuit-Switched eCall For NG-eCall, the IVS establishes an emergency call using a Request- URI indicating a manual or automatic eCall; the MNO (or ESInet) recognizes the eCall URN and routes the call to an NG-eCall-capable PSAP; and the PSAP interprets the vehicle data sent with the call and makes it available to the call taker. ///-----\\\ IMS emergency call with eCall URN +------+ ||| IVS |||---------------------------------------->| PSAP | \\\-----/// vehicle data included in call setup +------+ Figure 2: NG-eCall See Section 6 for information on how the MSD is transported within an NG-eCall. This document adds new service URN children within the "sos" subservice. These URNs provide the mechanism by which an eCall is identified and differentiate between manually and automatically triggered eCalls (which might be subject to different treatment, depending on policy). The two service URNs are: urn:service:sos.ecall.automatic and urn:service:sos.ecall.manual, which request resources associated with an emergency call placed by
Top   ToC   RFC8147 - Page 11
   an in-vehicle system, carrying a standardized set of data related to
   the vehicle and incident.  These are registered in Section 14.2.

   Call routing is outside the scope of this document.

8. Test Calls

eCall requires the ability to place test calls (see [TS22.101], clause 10.7 and [EN_16062], clause 7.2.2). These are calls that are recognized and treated to some extent as eCalls but are not given emergency call treatment and are not handled by call takers. The specific handling of test eCalls is outside the scope of this document; typically, the test call facility allows the IVS or user to verify that an eCall can be successfully established with voice communication. The IVS might also be able to verify that the MSD was successfully received. A service URN starting with "test." indicates a test call. For eCall, "urn:service:test.sos.ecall" indicates such a test feature. The "test" service URN is defined in [RFC6881]. This document specifies "urn:service:test.sos.ecall" for eCall test calls. This is registered in Section 14.2. The circuit-switched eCall test call facility is a non-emergency number, so it does not get treated as an emergency call. For NG-eCall, MNOs, emergency authorities, and PSAPs can determine how to treat a vehicle call requesting the "test" service URN so that the desired functionality is tested, but this is outside the scope of this document.

9. The Metadata/Control Object

eCall requires the ability for the PSAP to acknowledge successful receipt of an MSD sent by the IVS and for the PSAP to request that the IVS send an MSD (e.g., the call taker can initiate a request for a new MSD to see if there have been changes in the vehicle's state, such as location, direction, or number of fastened seat belts). This document defines a block of metadata/control data as an XML structure containing elements used for eCall and other related emergency call systems and extension points. (This metadata/control block is in effect a high-level protocol between the PSAP and IVS.) This document registers the application/EmergencyCallData.Control+xml MIME media type to enable the metadata/control data to be carried in SIP. This document also adds "Control" to the "Emergency Call Data Types" registry to enable the metadata/control block to be recognized
Top   ToC   RFC8147 - Page 12
   as such in a SIP-based eCall emergency call.  (See [RFC7852] for more
   information about the registry and how it is used.)

   See Section 6 for a discussion of how the metadata/control data is
   conveyed in an NG-eCall.

   When the PSAP sends a metadata/control block in response to data sent
   by the IVS in a SIP request other than INFO (e.g., the MSD in the
   initial INVITE), the metadata/control block is sent in the SIP
   response to that request (e.g., the response to the INVITE request).
   When the PSAP sends a control block in other circumstances (e.g., mid
   call), the control block is transmitted from the PSAP to the IVS in a
   SIP INFO request within the established dialog.  The IVS sends the
   requested data (the MSD) in a new SIP INFO request (per [RFC6086]).
   This mechanism flexibly allows the PSAP to send eCall-specific data
   to the IVS and the IVS to respond.  SIP INFO requests are sent using
   an appropriate INFO package.  See Section 6 for more information on
   sending a metadata/control block within a SIP message.  See
   Section 14.9 for information about the use of SIP INFO requests to
   carry data within an eCall.

   When the IVS includes an unsolicited MSD in a SIP request (e.g., the
   initial INVITE), the PSAP sends a metadata/control block indicating
   successful/unsuccessful receipt of the MSD in the SIP response to the
   request.  This also informs the IVS that an NG-eCall is in operation.
   If the IVS receives a SIP final response without the metadata/control
   block, it indicates that the SIP dialog is not an NG-eCall (e.g.,
   some part of the call is being handled as a legacy call).  When the
   IVS sends a solicited MSD (e.g., in a SIP INFO request sent following
   receipt of a SIP INFO request containing a metadata/control block
   requesting an MSD), the PSAP does not send a metadata/control block
   indicating successful or unsuccessful receipt of the MSD.  (Normal
   SIP retransmission handles non-receipt of requested data; note that,
   per [RFC6086], a 200 OK response to a SIP INFO request indicates only
   that the receiver has successfully received and accepted the SIP INFO
   request, and it says nothing about the acceptability of the payload.)
   If the IVS receives a request to send an MSD but it is unable to do
   so for any reason, the IVS instead sends a metadata/control object
   acknowledging the request, containing an <actionResult> element with
   a "success" parameter set to "false" and a "reason" parameter (and
   optionally a "details" parameter) indicating why the request could
   not be accomplished.

   This provides flexibility to handle various circumstances.  For
   example, if a PSAP is unable to accept an eCall (e.g., due to
   overload or too many calls from the same location), it can reject the
   INVITE.  Since a metadata/control object is also included in the SIP
   response that rejects the call, the IVS knows if the PSAP received
Top   ToC   RFC8147 - Page 13
   the MSD and can inform the vehicle occupants that the PSAP
   successfully received the vehicle location and information but can't
   talk to the occupants at that time.  Especially for SIP response
   codes that indicate an inability to conduct a call (as opposed to a
   technical inability to process the request), the IVS can also
   determine that the call was successful on a technical level (e.g.,
   not helpful to retry as circuit switched).  (Note that there could be
   edge cases where the PSAP response is not received by the IVS, e.g.,
   if an intermediary sends a CANCEL, and an error response is forwarded
   towards the IVS before the error response from the PSAP is received,
   the response will be dropped, but these are unlikely to occur here.)

   The metadata/control block is carried in the MIME type application/
   EmergencyCallData.Control+xml.

   The metadata/control block is designed for use with Pan-European
   eCall and also eCall-like systems (i.e., in other regions), and it
   has extension points.  Note that eCall-like systems might define
   their own vehicle data blocks and might need to register a new INFO
   package to accommodate the new data MIME media type and the metadata/
   control object.

9.1. The Control Block

The control block is an XML data structure allowing for acknowledgments, requests, and capabilities information. It is carried in a body part with a specific MIME media type. Three elements are defined for use within a control block: ack Acknowledges receipt of data or a request. capabilities Used in a control block sent from the IVS to the PSAP (e.g., in the initial INVITE) to inform the PSAP of the vehicle capabilities. Child elements contain all actions and data types supported by the vehicle. It is OPTIONAL for the IVS to send this block. Omitting the block indicates that the IVS supports only the mandatory functionality defined in this document. request Used in a control block sent by the PSAP to the IVS to request the vehicle to perform an action. The <ack> element indicates the object being acknowledged and reports success or failure.
Top   ToC   RFC8147 - Page 14
   The <request> element contains attributes to indicate the request and
   to supply related information.  The "action" attribute is mandatory
   and indicates the specific action.  An IANA registry is created in
   Section 14.8.1 to contain the allowed values.

   The <capabilities> element has child <request> elements to indicate
   the actions supported by the IVS.

9.1.1. The <ack> Element

The <ack> element acknowledges receipt of an eCall data object or request. An <ack> element references the Content-ID of the object being acknowledged. The PSAP MUST send an <ack> element acknowledging receipt of an unsolicited MSD (e.g., sent by the IVS in the INVITE); this <ack> element indicates if the PSAP considers the MSD successfully received or not. An <ack> element is not sent for a <capabilities> element.
9.1.1.1. Attributes of the <ack> Element
The <ack> element has the following attributes: Name: ref Usage: Mandatory Type: anyURI Direction: Sent in either direction Description: References the Content-ID of the body part being acknowledged. Example: <ack received="true" ref="1234567890@atlanta.example.com"/> Name: received Usage: Conditional: mandatory in an <ack> element sent by a PSAP Type: boolean Direction: In this document, sent from the PSAP to the IVS Description: Indicates if the referenced object was considered successfully received or not. Example: <ack received="true" ref="1234567890@atlanta.example.com"/>
Top   ToC   RFC8147 - Page 15
9.1.1.2. Child Element of the <ack> Element
For extensibility, the <ack> element has the following child element: Name: actionResult Usage: Optional Direction: Sent from the IVS to the PSAP Description: An <actionResult> element indicates the result of an action (other than a successfully executed "send-data" action). The <ack> element contains an <actionResult> element for each <request> element that is not a successfully executed "send-data" action. The <actionResult> element has the following attributes: Name: action Usage: Mandatory Type: token Description: Contains the value of the "action" attribute of the <request> element Name: success Usage: Mandatory Type: boolean Description: Indicates if the action was successfully accomplished Name: reason Usage: Conditional Type: token Description: Used when "success" is "false", this attribute contains a reason code for a failure. A registry for reason codes is defined in Section 14.8.2. The initial values are: damaged (required components are damaged), data-unsupported (the data item referenced in a "send-data" request is not supported), security-failure (the authenticity of the request or the authority of the requestor could not be verified), unable (a generic error for use when no other code is appropriate), and unsupported (the "action" value is not supported). Name: details Usage: optional Type: string Description: Contains further explanation of the circumstances of a success or failure. The contents are implementation specific and human readable. This is intended for internal use and troubleshooting, not for display to vehicle occupants.
Top   ToC   RFC8147 - Page 16
9.1.1.3. Example of the <ack> Element
<?xml version="1.0" encoding="UTF-8"?> <EmergencyCallData.Control xmlns="urn:ietf:params:xml:ns:EmergencyCallData:control" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ack received="true" ref="1234567890@atlanta.example.com"/> </EmergencyCallData.Control> Figure 3: <ack> Example from PSAP to IVS

9.1.2. The <capabilities> Element

The <capabilities> element is transmitted by the IVS to indicate its capabilities to the PSAP. No attributes for this element are currently defined. There is one child element defined.
9.1.2.1. Child Element of the <capabilities> Element
The <capabilities> element has the following child element: Name: request Usage: Mandatory Description: The <capabilities> element contains a <request> child element per action supported by the vehicle. Example: <capabilities> <request action="send-data" supported-values="eCall.MSD" /> </capabilities> It is OPTIONAL for the IVS to support the <capabilities> element. If the IVS does not send a <capabilities> element, this indicates that the only <request> action supported by the IVS is "send-data" with "datatype" set to "eCall.MSD".
Top   ToC   RFC8147 - Page 17
9.1.2.2. Example of the <capabilities> Element
<?xml version="1.0" encoding="UTF-8"?> <EmergencyCallData.Control xmlns="urn:ietf:params:xml:ns:EmergencyCallData:control"> <capabilities> <request action="send-data" supported-values="eCall.MSD"/> </capabilities> </EmergencyCallData.Control> Figure 4: <capabilities> Element Example

9.1.3. The <request> Element

A <request> element appears one or more times on its own or as a child of a <capabilities> element. It allows the PSAP to request that the IVS perform an action. The only action that MUST be supported is to send an MSD. The attributes and child elements are defined as follows.
9.1.3.1. Attributes of the <request> Element
The <request> element has the following attributes: Name: action Usage: Mandatory Type: token Direction: Sent in either direction Description: Identifies the action that the vehicle is requested to perform (in a <request> element within a <capabilities> element; indicates an action that the vehicle is capable of performing). An IANA registry is established in Section 14.8.1 to contain the allowed values. Example: action="send-data" Name: int-id Usage: Conditional Type: unsignedInt Direction: Sent in either direction Description: Defined for extensibility. Documents that make use of it are expected to explain when it is required and how it is used. Example: int-id="3"
Top   ToC   RFC8147 - Page 18
   Name:         persistence
   Usage:        Optional
   Type:         duration
   Direction:    Sent in either direction

   Description:  Defined for extensibility.  Specifies how long to carry
      on the specified action.  If absent, the default is for the
      duration of the call.
   Example:      persistence="PT1H"

   Name:         datatype
   Usage:        Conditional
   Type:         token
   Direction:    Sent in either direction
   Description:  Mandatory with a "send-data" action within a <request>
      element that is not within a <capabilities> element.  Specifies
      the data block that the IVS is requested to transmit, using the
      same identifier as in the "purpose" attribute set in a Call-Info
      header field to point to the data block.  Permitted values are
      contained in IANA's "Emergency Call Data Types" registry
      established in [RFC7852].  Only the "eCall.MSD" value is mandatory
      to support.
   Example:      datatype="eCall.MSD"

   Name:         supported-values
   Usage:        Conditional
   Type:         string
   Direction:    Sent from the IVS to the PSAP
   Description:  Defined for extensibility.  Used in a <request> element
      that is a child of a <capability> element, this attribute lists
      all supported values of the action type.  Permitted values depend
      on the action value.  Multiple values are separated with a
      semicolon.  White space is ignored.  Documents that make use of it
      are expected to explain when it is required, the permitted values,
      and how it is used.

   Name:         requested-state
   Usage:        Conditional
   Type:         token
   Direction:    Sent from the PSAP to the IVS
   Description:  Defined for extension.  Indicates the requested state
      of an element associated with the request type.  Permitted values
      depend on the request type.  Documents that make use of it are
      expected to explain when it is required, the permitted values, and
      how it is used.
Top   ToC   RFC8147 - Page 19
   Name:         element-id
   Usage:        Conditional
   Type:         token
   Direction:    Sent from the PSAP to the IVS
   Description:  Defined for extension.  Identifies the element to be
      acted on.  Permitted values depend on the request type.  Documents
      that make use of it are expected to explain when it is required,
      the permitted values, and how it is used.

9.1.3.2. Child Element of the <request> Element
For extensibility, the <request> element has the following child element: Name: text Usage: Optional Type: string Direction: Sent from the PSAP to the IVS Description: Defined for extension.
9.1.3.3. Request Example
<?xml version="1.0" encoding="UTF-8"?> <EmergencyCallData.Control xmlns="urn:ietf:params:xml:ns:EmergencyCallData:control"> <request action="send-data" datatype="eCall.MSD"/> </EmergencyCallData.Control> Figure 5: <request> Element Example


(next page on part 2)

Next Section