One document matched: draft-ietf-ecrit-ecall-06.xml


<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119   PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC5012   PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5012.xml">
<!ENTITY RFC6881   PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6881.xml">
<!ENTITY RFC5069   PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5069.xml">
<!ENTITY RFC5031   PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5031.xml">
<!ENTITY RFC7303   PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7303.xml">
<!ENTITY RFC6838   PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6838.xml">
<!ENTITY RFC6086   PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6086.xml">
<!ENTITY RFC6443   PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6443.xml">
<!ENTITY RFC7378 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7378.xml">
<!ENTITY I-D.ietf-ecrit-additional-data PUBLIC "" "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-ecrit-additional-data.xml">
<!ENTITY RFC7090   PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7090.xml">
<!ENTITY RFC3688   PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3688.xml">
<!ENTITY RFC5226   PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5226.xml">
<!ENTITY I-D.ietf-ecrit-car-crash PUBLIC "" "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-ecrit-car-crash.xml">
]>

<?rfc inline="yes"?>
<?rfc toc="yes" ?>
<?rfc tocdepth="4" ?> 
<?rfc symrefs="yes" ?>
<?rfc iprnotified="no" ?>
<?rfc strict="no" ?>
<?rfc compact="no" ?>
<?rfc sortrefs="yes" ?>
<!-- <?rfc colonspace='yes' ?> --> 

<rfc category="info" ipr="trust200902" docName="draft-ietf-ecrit-ecall-06.txt">
<front>
    <title abbrev="Next-Generation eCall">Next-Generation Pan-European eCall</title>

    <author initials="R." surname="Gellens" fullname="Randall Gellens">
      <organization>Qualcomm Technologies, Inc.</organization>
      <address>
        <postal>
          <street>5775 Morehouse Drive</street>
          <city>San Diego</city>
          <code>92651</code>
          <country>US</country>
        </postal>
        <email>rg+ietf@randy.pensive.org</email>
      </address>
    </author>

    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
            <organization>(Individual)</organization>
            <address>
                <email>Hannes.Tschofenig@gmx.net</email>
                <uri>http://www.tschofenig.priv.at</uri>
            </address>
    </author>

    <date year="2016"/>
    <area>Applications and Real-Time (ART)</area>
    <workgroup>ECRIT</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>
      <t>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.  eCall deployment is required in the very near future in European Union member states, and eCall (and eCall-compatible systems) are also being deployed in other regions.  eCall provides an integrated voice path and a standardized set of vehicle, sensor (e.g., crash related), and location data.  An eCall is recognized and handled as a specialized form of emergency call and is routed to a specialized eCall-capable Public Safety Answering Point (PSAP) capable of processing the vehicle data and trained in handling emergency calls from vehicles.</t>

      <t>Currently, eCall functions over circuit-switched cellular telephony; work on next-generation eCall (NG-eCall, sometimes called packet-switched eCall or PS-eCall) is now in process, and this document assists in that work by describing how to support eCall within the IP-based emergency services infrastructure.</t>

      <t>This document also registers a MIME Content Type and an Emergency Call Additional Data Block for the eCall vehicle data.</t>  
    </abstract>
</front>

<middle>


<section anchor="terminology" title="Terminology">
      <t>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
          <xref target="RFC2119"/>. </t>
      <t>This document re-uses terminology defined in Section 3 of <xref
          target="RFC5012"/>.</t>
      <t>Additionally, we use the following abbreviations:</t>

        <texttable anchor="abbreviations"
                   style="full"
                   suppress-title="true">
            <ttcol align='left'>Term</ttcol>
            <ttcol align='left'>Expansion</ttcol>
            <c>3GPP</c> <c>3rd Generation Partnership Project</c>
            <c>CEN</c> <c>European Committee for Standardization</c>
            <c>EENA</c> <c>European Emergency Number Association</c> 
            <c>ESInet</c> <c>Emergency Services IP network</c>
            <c>IMS</c> <c>IP Multimedia Subsystem</c>
            <c>IVS</c> <c>In-Vehicle System</c>
            <c>MNO</c> <c>Mobile Network Operator</c>
            <c>MSD</c> <c>Minimum Set of Data</c>
            <c>PSAP</c> <c>Public Safety Answering Point</c>
        </texttable>


</section> <!-- anchor="terminology" -->


<section anchor="scope" title="Document Scope">
        <t>This document is limited to the signaling, data exchange, and protocol needs of next-generation eCall (NG-eCall, also referred to as packet-switched eCall (PS-eCall) and all-IP eCall) within the SIP framework for emergency calls, as described in <xref target="RFC6443"/> and <xref target="RFC6881"/>.  eCall itself is specified by 3GPP and CEN and these specifications include far greater scope than is covered here.</t>
        <t>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).</t>
        <t>The technical contents of this document can be suitable for use in other vehicle-initiated emergency call systems, but this is out of scope for this document.</t> 

    <t>Vehicles designed for multiple regions might need to support eCall and other Advanced Automatic Crash Notification (AACN) systems, such as described in <xref target="I-D.ietf-ecrit-car-crash"/>.  That system is compatible with eCall, differing primarily in the specific data set that is sent.</t>
</section> <!-- anchor="scope" -->


<section anchor="intro" title="Introduction">

      <t>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 of the vehicle, the location of the vehicle, and to have a voice channel with the vehicle occupants.  This enables a quick and appropriate response.</t>
        
        <t>The European Commission initiative of eCall was conceived in the late 1990s, and has evolved to a European Parliament decision requiring the implementation of compliant in-vehicle systems (IVS) in new vehicles and the deployment of eCall in the European Member States in the very near future.  eCall (and eCall-compatible systems) are also being adopted in other regions.</t>
        
        <t>The pan-European eCall system provides a standardized and mandated mechanism for emergency calls by vehicles.  eCall establishes procedures for such calls to be placed by in-vehicle systems, recognized and processed by the network, and routed to a specialized 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.</t>

      <t>An eCall can be either user-initiated or automatically triggered.  Automatically triggered eCalls indicate a car crash or some other serious incident and carry a greater presumption of risk of injury.  Manually triggered eCalls might be reports of serious hazards and are likely to require a different response than an automatically triggered eCall.  Manually triggered eCalls are also more likely to be false (e.g., accidental) calls and so might be subject to different operational handling by the PSAP.</t>

    <t>Currently, eCall is standardized (by 3GPP <xref target="SDO-3GPP" /> and CEN <xref target="CEN" />) as a 3GPP circuit-switched call  over GSM (2G) or 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).  Work on next-generation eCall (NG-eCall, also referred to as packet-switched eCall or PS eCall) is now in process.  As part of this work, the European Telecommunications Standards Institute (ETSI) <xref target="SDO-ETSI" /> has published a Technical Report titled "Mobile Standards Group (MSG); eCall for VoIP" <xref target="MSG_TR" /> that presents findings and recommendations regarding support for eCall in an all-IP environment.  NG-eCall moves from circuit switched to all-IP, and carries the vehicle data and other eCall-specific data as additional data associated with the call.  This document describes how IETF mechanisms for IP-based emergency calls, including <xref target="RFC6443"/> and <xref target="I-D.ietf-ecrit-additional-data"/> are used to provide the signaling and data exchange of the next generation of pan-European eCall.</t>
    
    <t>The <xref target="MSG_TR" /> recommendation for NG-eCall is to use 3GPP IMS emergency calling with additional elements identifying the call as an eCall and as carrying eCall data and with mechanisms for carrying the data.  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).</t>

    <t>A transition period will exist during which time the various entities involved in initiating and handling an eCall might support next-generation eCall, legacy eCall, or both.  This transition period might last several years or longer.  The issue of migration/co-existence during the transition period is very important but is outside the scope of this document.  The ETSI TR "Mobile Standards Group (MSG); eCall for VoIP" <xref target="MSG_TR" /> discusses these issues in Clause 7.</t>
    
</section> <!-- anchor="intro" -->

<section anchor="requirements" title="eCall Requirements">

    
    <t>Overall eCall requirements are specified by CEN in <xref target="EN_16072" /> and by 3GPP in <xref target="TS22.101" /> clauses 10.7 and A.27.  Requirements specific to vehicle data are contained in EN 15722 <xref target="msd"/>.  For convenience, the requirements most applicable to the limited scope of this document are summarized very briefly below.</t>
    <t>eCall requires:

        <?rfc compact="yes"?>
        <?rfc subcompact="yes"?>
        <list style="symbols">

            <t>The call be recognized as an eCall (which is inherently an emergency call)</t>
            <t>The call setup indicates if the call was manually or automatically triggered</t>
            <t>A voice channel between the vehicle and the PSAP</t>
            <t>Carrying the MSD intrinsically with the call (the MSD needs to be available to the same call-taker as the voice)</t>
            <t>The ability for the PSAP to acknowledge receipt of the MSD</t>
            <t>The ability for the PSAP to request that the vehicle generate and transmit a new MSD</t>
            <t>The ability of the PSAP to be able to re-contact the occupants of vehicle after the initial eCall is concluded</t>
            <t>The ability to perform a test call (which can be routed to a PSAP but is not treated as an emergency call and not handled by a call taker)</t>

        </list>
        <?rfc subcompact="no"?></t>
        <?rfc compact="no"?>

    <t>It is recognized that NG-eCall offers many potential enhancements, although these are not required by current EU regulations.  For convenience, the enhancements most applicable to the limited scope of this document are summarized very briefly below.</t>
    
    <t>NG-eCall is expected to offer:

        <?rfc compact="yes"?>
        <?rfc subcompact="yes"?>
        <list style="symbols">
            <t>The ability to carry more data (e.g., an enhanced MSD or an MSD plus additional sets of data)</t>
            <t>The ability to handle video</t>
            <t>The ability to handle text</t>
            <t>The ability for the PSAP to access vehicle components (e.g., an onboard camera (such as rear facing or blind-spot cameras) for a visual assessment of the crash site situation)</t>
            <t>The ability for the PSAP to request the vehicle to take actions (e.g., sound the horn, disable the ignition, lock/unlock doors)</t>
            <t>The ability to avoid audio muting of the voice channel (because the MSD is not transferred using an in-band modem)</t>
        </list>
        <?rfc subcompact="no"?></t>
        <?rfc compact="no"?>

</section> <!-- anchor="requirements" -->

<section anchor="data" title="Vehicle Data">

<t>Pan-European eCall provides a standardized and mandated set of vehicle related data, known as the Minimum Set of Data (MSD). The European Committee for Standardization (CEN) has specified this data in EN 15722 <xref target="msd"/>, along with both ASN.1 and XML encodings for the MSD <xref target="msd"/>.  Circuit-switched eCall uses the ASN.1 encoding.  The XML encoding is better suited for use in SIP messages and is used in this document.  (The ASN.1 encoding is specified in Annex A of EN 15722 <xref target="msd"/>, while the XML encoding is specified in Annex C.)</t>

<t>The "Additional Data related to an Emergency Call" document <xref target="I-D.ietf-ecrit-additional-data"/> establishes a general mechanism for attaching blocks of data to a SIP emergency call.  This document makes use of that mechanism to carry the eCall MSD in a SIP emergency call.</t>

<t>This document registers the 'application/emergencyCallData.eCall.MSD+xml' MIME Content-Type to enable the MSD to be carried in SIP.  This document also adds the 'eCall.MSD' entry to the Emergency Call Additional Data Blocks registry (established by <xref target="I-D.ietf-ecrit-additional-data"/>) to enable the MSD to be recognized as such in a SIP-based eCall emergency call.</t>

<t>Note that if additional data sets are defined and registered (e.g., in the future or in other regions) and transmitted using the same mechanisms, the size and frequency of transmission during a session needs to be evaluated to be sure it is appropriate to use the signaling channel.</t>

<!-- 
<t>Should CEN and/or other entities choose to define supplemental or updated sets of data, the steps to enable each data block are very briefly summarized below:

    <?rfc compact="yes" ?>
    <?rfc subcompact="yes"?>
    <list style="symbols">
        <t>A standardized format and encoding (such as XML) is defined and published by a Standards Development Organization (SDO).</t>
        <t>A MIME Content-Type is registered for it (typically under the 'Application' media type and with a sub-type starting with 'emergencyCallData.').</t>
        <t>An entry for the block is added to the Emergency Call Additional Data Blocks sub-registry (established by <xref target="I-D.ietf-ecrit-additional-data"/>); the registry entry is the root of the MIME sub-type (not including the 'emergencyCallData' prefix and any suffix such as '+xml').</t>
    </list>
    <?rfc subcompact="no"?>
    <?rfc compact="yes"?>
</t>
 -->

</section> <!-- title="Vehicle Data" -->

<section anchor="setup" title="Call Setup">

<t>In 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; vehicle data is transmitted to the PSAP via the eCall in-band
modem (in the voice channel).</t>
<t>
        <figure anchor="cs-ecall" title="circuit-switched eCall">
          <artwork><![CDATA[
   ///----\\\      112 voice call with eCall flag      +------+
  ||| IVS  |||---------------------------------------->+ PSAP |
   \\\----///   vehicle data via eCall in-band modem   +------+

]]></artwork>
        </figure>
      </t>

<t>An In-Vehicle System (IVS) which supports NG-eCall transmits the MSD in accordance with <xref target="I-D.ietf-ecrit-additional-data"/> by encoding it as specified (per Appendix C of EN 15722 <xref target="msd"/>) and attaching it to an INVITE as a MIME body part. The body part is identified by its MIME content-type ('application/emergencyCallData.eCall.MSD+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 INVITE is marked as containing the MSD by adding (or appending to) a Call-Info header field at the top level of the INVITE.  This Call-Info header field contains a CID URL referencing the body part's unique identifier, and a 'purpose' parameter identifying the data as the eCall MSD per the registry entry; the 'purpose' parameter's value is 'emergencyCallData.' and the root of the MIME type (not including the
   'emergencyCallData' prefix and any suffix such as '+xml' (e.g., 'purpose=emergencyCallData.eCall.MSD').</t>

<t>For NG-eCall, the IVS establishes an emergency call using the 3GPP IMS solution with a Request-URI indicating an eCall type of emergency call and with vehicle data attached; the MNO or ESInet recognizes the eCall URN and routes the call to a NG-eCall capable PSAP; the PSAP interpets the vehicle data sent with the call and makes it available to the call taker.</t>
<t>
        <figure anchor="ng-ecall" title="NG-eCall">
          <artwork><![CDATA[
  ///----\\\     IMS emergency call with eCall URN    +------+
     IVS    ----------------------------------------->+ PSAP |
  \\\----///    vehicle data included in call setup   +------+
]]></artwork>
        </figure>
      </t>

   <t>This document registers 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 can be subject to different treatment, depending on policy). The two service URNs are: urn:service:sos.ecall.automatic and urn:service:sos.ecall.manual</t>

</section> <!-- title="Call Setup" -->

<section anchor="routing" title="Call Routing">

    <t>The routing rules for eCalls are likely to differ from those of other emergency calls because eCalls are special types of emergency calls (with implications for the types of response required) and need to be handled by specially designated PSAPs.  In an environment that uses ESInets, the originating network passes all types of emergency calls to an ESInet (which have a request URI containing the "SOS" service URN).  The ESInet is then responsible for routing such calls to the appropriate PSAP.  In an environment without an ESInet, the emergency services authorities and the originating network jointly determine how such calls are routed.</t>

</section> <!-- title="Call Routing" -->

<section anchor="test-calls" title="Test Calls">

   <t>eCall requires the ability to place test calls.  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 test call facility allows the IVS or user to verify that an eCall can be successfully established with voice communication.  The IVS can also verify that the MSD was successfully received.</t>
   
   <t>A service URN starting with "test." indicates a test call.  For eCall,
   "urn:service:test.sos.ecall" indicates such a test feature. This functionality is defined in <xref target="RFC6881"/>.</t>
   
   <t>This document registers "urn:service:test.sos.ecall" for eCall test calls.</t>
   
   <t>the current eCall test call facility is a non-emergency number so does not get treated as an emergency call.  MNOs can treat a vehicle call in the "test" service URN in a way that tests as much functionality as desired, but this is outside the scope of this document.</t>
   
   <t>PSAPs that have the ability to process NG-eCalls SHOULD accept test calls and send an acknowledgment if the MSD was successfully received, per this document.  Such PSAPs MAY also play an audio clip (for example, saying that the call reached a PSAP) in addition to supporting media loopback per <xref target="RFC6881"/>.</t>

</section> <!-- title="Test Calls" -->


<section anchor="metadata" title="eCall-Specific Control/Metadata">
    
    <t>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 the vehicle's state or location has changed).  Future enhancements are desired to enable the PSAP to send other requests to the vehicle, such as locking or unlocking doors, sounding the horn, flashing the lights, starting a video stream from on-board cameras (such as rear focus or blind-spot), etc.</t>

    <t>The mechanism established in <xref target="I-D.ietf-ecrit-additional-data"/>, used in <xref target="data" /> of this document to carry the MSD from the IVS to the PSAP, is also used to carry a block of control data from the PSAP to the IVS.  This eCall control block (sometimes referred to as eCall metadata) is an XML structure containing eCall-specific elements.  When the PSAP needs to send an eCall control block that is in response to the MSD or other data sent by the IVS in a SIP request, the control block can be sent in the SIP response to that request (e.g., the INVITE).  When the PSAP needs to send an eCall control block that is not an immediate response to an MSD or other data sent by the IVS, the control block can be transmitted from the PSAP to the IVS in a SIP INFO message within the established session.  The IVS can then send any requested data (such as a new MSD) in the reply to the INFO message. This mechanism flexibly allows the PSAP to send eCall-specific data to the IVS and the IVS to respond.  If control data sent in a response message requests the IVS to send a new MSD or other data block, or to perform an action other than sending data, the IVS can send the requested data or an acknowledgment regarding the action in an INFO message within the session (it could also use re-INVITE but that is unnecessary when no aspect of the session or media is changing).</t>

    <t>This mechanism requires 

        <?rfc compact="yes"?>
        <?rfc subcompact="yes"?>
        <list style="symbols">
        <t>An XML definition of the eCall control object</t>
        <t>An extension mechanism by which new elements can be added to the control object definition (e.g., permitting additional elements to be included by adding their namespace)</t>
        <t>A MIME type registration for the control object (so it can be carried in SIP messages and responses)</t>
        <t>An entry in the Emergency Call Additional Data Blocks sub-registry (established by <xref target="I-D.ietf-ecrit-additional-data"/>) so that the control block can be recognized as emergency call specific data within the SIP messages</t>
        <t>An Info-Package registration per <xref target="RFC6086"/> permitting the control block within Info messages</t>
        </list>
        <?rfc subcompact="no"?>
        <?rfc compact="no"?>
    </t>

    <section anchor="control_block" title="The eCall Control Block">
    
    <t>
    The eCall control block is an XML data structure allowing for acknowledgments, requests, and capabilities information.  It is carried in a SIP body part with a specific MIME content type. Three top-level elements are defined for use within an eCall control block:
    
    <list style="hanging" hangIndent="14">

    <t hangText="ack"> Used in a control block sent by either side.  The PSAP uses this to acknowledge receipt of a data set sent by the IVS.  The IVS uses this to acknowledge receipt of a request by the PSAP when that request would not otherwise be acknowledged (if the PSAP requests the vehicle to send data and the vehicle does so, the data serves as a success acknowledgement).</t>

        <t hangText="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 and all available lamps (lights) and cameras.</t>

    <t hangText="request"> Used in a control block sent by the PSAP to the IVS, to request the vehicle to perform an action.</t>

    </list>
    </t>

    <t>
    Mandatory Actions (the IVS and the PSAP MUST support):
        <?rfc compact="yes"?>
        <?rfc subcompact="yes"?>
        <list style="symbols">
        <t>Transmit data object</t>
        </list>
        <?rfc subcompact="no"?>
        <?rfc compact="no"?>
    Optional Actions (the IVS and the PSAP MAY support):
        <?rfc compact="no"?>
        <?rfc subcompact="yes"?>
        <list style="symbols">
        <t>Play and/or display static (pre-defined) message</t>
        <t>Speak/display dynamic text (text supplied in action)</t>
        <!-- <t>Play dynamic audio (via external reference or embedded)</t> -->
        <t>Flash or turn on or off a lamp (light)</t>
        <t>Honk horn</t>
        <!-- <t>Lock/unlock doors, lock/unlock/open/close windows, enable/disable fuel pump</t> -->
        <t>Enable a camera</t>
        </list>
        <?rfc subcompact="no"?>
        <?rfc compact="no"?>
    </t>

    <t>
    The <ack> element indicates the object being acknowledged (i.e., a data object or a <request> element), and reports success or failure.
    </t>

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

    <t>
    The <request> element contains attributes to indicate the request and to supply any needed information, and MAY contain a <text> <!-- or 'media' --> child element to contain the text <!-- or (very small) media --> for a dynamic message.  The 'action' attribute is mandatory and indicates the specific action.  An IANA registry is created in <xref target="eCall-action-registry" /> to contain the allowed values.
    </t>

    <t>
    Extensibility: New elements, child elements, and attributes can be defined in new namespaces.  IANA registries are used to specify the permitted values of several elements and attributes.  These mechanisms allow for extension.
    </t>
    
    <t>
    There is no 'request' action to play dynamic media (such as a pre-recorded audio message).  The SIP re-INVITE mechanism can be used to establish a one-way media stream for this purpose.
    </t>

        <section anchor="ack_element" title="The <ack> element">

        <t>
        The <ack> element is transmitted by the PSAP to acknowledge receipt of an eCall data object.  An <ack> element sent by a PSAP references the unique ID of the data object that was sent by the IVS, and further indicates if the PSAP considers the receipt successful or not.  The <ack> element is also transmitted by the IVS to the PSAP to acknowledge receipt of a <request> element that requested the IVS to perform an action other than transmitting a data object (e.g., a request to display a message would be acknowledged, but a request to transmit a data object would not result in a separate <ack> element being sent, since the data object itself serves as acknowledgment.)  An <ack> element sent by an IVS references the unique ID of the request being acknowledged, indicates whether the request was successfully performed, and if not, optionally includes an explanation.
        </t>

        <t>The <ack> element has the following attributes and child elements:
        </t>

        <section title="Attributes of the <ack> element">

        <t>
        The <ack> element has the following attributes:
        </t>

        <t>
        <?rfc compact="yes"?>
        <?rfc subcompact="yes"?>
        <list style="hanging">

            <t hangText="Name:">ref</t>
            <t hangText="Usage:">Mandatory</t>
            <t hangText="Type:">anyURI</t>
            <t hangText="Description:">References the Content-ID of the body part that contained the data object or control object being acknowledged.</t>
            <t hangText="Example:"><ack received="yes" ref="1234567890@atlanta.example.com"/></t>


            <t></t>
            <t hangText="Name:">received</t>
            <t hangText="Usage:">Conditional: mandatory in an >ack< element sent by a PSAP; not applicable in an >ack< element sent by an IVS</t>
            <t hangText="Type:">Boolean</t>
            <t hangText="Description:">Indicates if the referenced object was successfully received or not</t>
            <t hangText="Example:"><ack received="yes" ref="1234567890@atlanta.example.com"/></t>


        </list>
        <?rfc subcompact="no"?>
        <?rfc compact="no"?>
        </t>

        </section> <!-- title="Attributes of the <ack> element" -->

        <section title="Child Elements of the <ack> element">

        <t>
        The <ack> element has the following child elements:
        </t>

        <t>
        <?rfc compact="yes"?>
        <?rfc subcompact="yes"?>
        <list style="hanging">

            <t hangText="Name:">actionResult</t>
            <t hangText="Usage:">Optional</t>
            <t hangText="Description:">An <actionResult> element indicates the result of an action (other than a 'send-data' action).  When an <ack> element is in response to a control object with multiple <request> elements (that are not 'send-data' actions), the <ack> element contains an <actionResult> element for each.  The <actionResult> element has the following attributes:</t>

                <t>
                <list style="hanging">

                <t></t>
                <t hangText="Name:">action</t>
                <t hangText="Usage:">Mandatory</t>
                <t hangText="Type:">token</t>
                <t hangText="Description:">Contains the value of the 'action' attribute of the <request> element</t>

                <t></t>
                <t hangText="Name:">success</t>
                <t hangText="Usage:">Mandatory</t>
                <t hangText="Type:">Boolean</t>
                <t hangText="Description:">Indicates if the action was successfully accomplished</t>

                <t></t>
                <t hangText="Name:">reason</t>
                <t hangText="Usage:">Conditional</t>
                <t hangText="Type:">token</t>
                <t hangText="Description:">Used when 'success' is "False", this attribute contains a reason code for a failure.  A registry for reason codes is defined in <xref target="eCall-reason-registry" />.</t>

                <t></t>
                <t hangText="Name:">details</t>
                <t hangText="Usage:">optional</t>
                <t hangText="Type:">string</t>
                <t hangText="Description:">Contains further explanation of the circumstances of a success or failure.  The contents are implementation-specific and human-readable.</t>

                </list>
                <?rfc subcompact="no"?>
                <?rfc compact="no"?>
                </t>

            <t hangText="Example:"><actionResult action="msg-dynamic" success="true"/></t>
            <t hangText="Example:"><actionResult action="lamp" success="false" reason="unable" details="The requested lamp is inoperable"/></t>

        </list>
        </t>

        </section> <!-- title="Child Elements of the <ack> element" -->

        <section anchor="ack_example" title="Ack Examples">

        <figure anchor="ack-example-psap" title="Ack Example from PSAP to IVS">
            <artwork>
                <![CDATA[
    <?xml version="1.0" encoding="UTF-8"?>
    <EmergencyCallData.eCallControl
        xmlns="urn:ietf:params:xml:ns:EmergencyCallData:eCall-control"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="urn:ietf:params:xml:ns:EmergencyCallData:
            eCall-control">

    <ack received="true" ref="1234567890@atlanta.example.com"/>

    </EmergencyCallData.eCallControl>
                ]]>
            </artwork>
        </figure>

        <figure anchor="ack-example-ivs" title="Ack Example from IVS to PSAP">
            <artwork>
                <![CDATA[
    <?xml version="1.0" encoding="UTF-8"?>
    <EmergencyCallData.eCallControl
        xmlns="urn:ietf:params:xml:ns:EmergencyCallData:eCall-control"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="urn:ietf:params:xml:ns:EmergencyCallData:
            eCall-control">

    <ack ref="1234567890@atlanta.example.com">
        <actionResult action="msg-dynamic" success="true"/>
        <actionResult action="lamp" success="false" reason="unable"
                      details="The requested lamp is inoperable"/>
    </ack>

    </EmergencyCallData.eCallControl>
                ]]>
            </artwork>
        </figure>

        </section> <!-- title="Ack Example" -->

        </section> <!-- title="The <ack> element" -->


        <section anchor="capabilities_element" title="The <capabilities> element">

        <t>
        The <capabilities> element is transmitted by the IVS to indicate to the PSAP its capabilities. No attributes for this element are currently defined.  The following child elements are defined:
        </t>

        <section title="Child Elements of the <capabilities> element">

        <t>
        The <capabilities> element has the following child elements:
        </t>

        <t>
        <?rfc compact="yes"?>
        <?rfc subcompact="yes"?>
        <list style="hanging">

            <t hangText="Name:">request</t>
            <t hangText="Usage:">Mandatory</t>
            <t hangText="Description:">The <capabilities> element contains a <request> child element per action supported by the vehicle.
                <vspace/><vspace/>
                Because support for a 'send-data' action is REQUIRED, a <request> child element with a "send-data" 'action' attribute is also REQUIRED.  The 'supported-datatypes' attribute is REQUIRED in this <request> element within a <capabilities> element, and MUST contain at a minimum the 'eCall.MSD' data block value; it SHOULD contain all data blocks supported by the IVS.
                <vspace/><vspace/>
                All other actions are OPTIONAL.
            <!-- If the "play-audio" action is supported, a <request> child element with a "play-audio" 'action' attribute is sent, with a 'supported-mime' attribute set to all MIME content types supported by the vehicle. -->
                <vspace/><vspace/>
                If the "msg-static" action is supported, a <request> child element with a "msg-static" 'action' attribute is sent, with a 'msgid' attribute set to the highest supported static message supported by the vehicle.  A registry is created in <xref target="eCall-msg-registry"/> to map 'msgid' values to static text messages.  By sending the highest supported static message number in its <capabilities> element, the vehicle indicates its support for all static messages in the registry up to and including that value.
                <vspace/><vspace/>
                If the "lamp" action is supported, a <request> child element with a "lamp" 'action' is sent, with a 'supported-lamps' attribute set to all supported lamp IDs.
                <vspace/><vspace/>
                If the "enable-camera" action is supported, a <request> child element with an "enable-camera" 'action' is sent, with a 'supported-cameras' attribute set to all supported camera IDs.
            </t>
            <?rfc subcompact="no"?>
            <t hangText="Examples:"><vspace/>
                <!-- <request action="play-audio"             supported-mime="audio/3gpp; audio/3gpp2; audio/amr;                                          audio/evrc"/><vspace/> -->
                <request action="send-data"                  supported-datatypes="eCall.MSD" /><vspace/>
                <request action="send-data"                  supported-datatypes="eCall.MSD; VEDS; eCall.type2" /><vspace/>
                <request action="msg-dynamic"/><vspace/>
                <request action="msg.static" msgid="17" />
            </t>

        </list>

        <?rfc subcompact="no"?>
        <?rfc compact="no"?>
        </t>

        </section> <!-- title="Child Elements of the <request> element" -->

        <section anchor="capabilities_example" title="Capabilities Example">
        <figure anchor="capabilities-example" title="Capabilities Example">
            <artwork>
                <![CDATA[
    <?xml version="1.0" encoding="UTF-8"?>
    <EmergencyCallData.eCallControl
        xmlns="urn:ietf:params:xml:ns:EmergencyCallData:eCall-control"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="urn:ietf:params:xml:ns:EmergencyCallData:
            eCall-control">

    <capabilities>
        <request action="send-data" supported-datatypes="eCall.MSD"/>
        <request action="lamp"
                 supported-lamps="head;interior;fog-front;fog-rear;brake;
                 position-front;position-rear;turn-left;turn-right;hazard"/>
        <request action="msg-static" msgid="3"/>
        <request action="msg-dynamic"/>
        <request action="honk"/>
        <request action="enable-camera" supported-cameras="backup; interior"/>
    </capabilities>

    </EmergencyCallData.eCallControl>
                ]]>
            </artwork>
        </figure>
        </section> <!-- title="Capabilities Example" -->

        </section> <!-- title="The <capabilities> element" -->

        <section anchor="request_element" title="The <request> element">

        <t>
        A <request> element appears one or more times on its own or as a child of a <capabilities> element.  The following attributes and child elements are defined:
        </t>

        <section title="Attributes of the <request> element">

        <t>
        The <request> element has the following attributes:
        </t>

        <t>
        <?rfc compact="yes"?>
        <?rfc subcompact="yes"?>
        <list style="hanging">

            <t hangText="Name:">action</t>
            <t hangText="Usage:">Mandatory</t>
            <t hangText="Type:">token</t>
            <t hangText="Description:">Identifies the action that the vehicle is requested to perform.  An IANA registry is established in <xref target="eCall-action-registry" /> to contain the allowed values.</t>
            <t hangText="Example:">action="send-data"</t>

            <t></t>
            <t hangText="Name:">msgid</t>
            <t hangText="Usage:">Conditional</t>
            <t hangText="Type:">int</t>
            <t hangText="Description:">Mandatory with a "msg-static" action.  Indicates the identifier of the static message to be displayed and/or spoken for the vehicle occupants.  This document established an IANA registry for messages and their IDs, in <xref target="eCall-msg-registry"/></t>
            <t hangText="Example:">msgid="3"</t>

            <t></t>
            <t hangText="Name:">persistance</t>
            <t hangText="Usage:">Optional</t>
            <t hangText="Type:">duration</t>
            <t hangText="Description:">Specifies how long to carry on the specified action, for example, how long to continue honking or flashing.  If absent, the default is indefinitely.</t>
            <t hangText="Example:">persistance="PT1H"</t>

            <t></t>
            <t hangText="Name:">datatype</t>
            <t hangText="Usage:">Conditional</t>
            <t hangText="Type:">token</t>
            <t hangText="Description:">Mandatory with a "send-data" action.  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 the 'Emergency Call Data Types' IANA registry established in <xref target="I-D.ietf-ecrit-additional-data" />.</t>
            <t hangText="Example:">datatype="eCall.MSD"</t>

            <!--
            <t></t>
            <t hangText="Name:">ref</t>
            <t hangText="Usage:">Conditional</t>
            <t hangText="Type:">URI</t>
            <t hangText="Description:">Mandatory with a "play-audio" action.  References the audio media to be played.  A CID is used to reference an audio body part contained in the same SIP message (only suitable for very small media).  An external URL (e.g., HTTP) is used to reference external content.  Note that external references might not be accessible by the vehicle due to a variety of transient or permanent conditions.</t>
            <t hangText="Example:">ref="cid:5432154321@example.gov"</t>

            <t></t>
            <t hangText="Name:">supported-mime</t>
            <t hangText="Usage:">Conditional</t>
            <t hangText="Type:">token</t>
            <t hangText="Description:">Used with a 'play-audio' action in a <request> element that is a child of a <capability> element, this attribute lists all MIME content types/subtypes that the vehicle can render.  Multiple values are separated with a semicolon.</t>
            <t hangText="Example:">supported-mime="audio/3gpp; audio/3gpp2; audio/amr; audio/evrc"</t>
            -->

            <t></t>
            <t hangText="Name:">supported-datatypes</t>
            <t hangText="Usage:">Conditional</t>
            <t hangText="Type:">string</t>
            <t hangText="Description:">Used with a 'send-data' action in a <request> element that is a child of a <capability> element, this attribute lists all data blocks that the vehicle can transmit, using the same identifier as in the 'purpose' attribute in a Call-Info header field to point to the data block.  Permitted values are contained in the 'Emergency Call Data Types' IANA registry established in <xref target="I-D.ietf-ecrit-additional-data" />.  Multiple values are separated with a semicolon.</t>
            <t hangText="Example:">supported-datatypes="eCall.MSD; VEDS; eCall.foo"</t>

            <t></t>
            <t hangText="Name:">lamp-action</t>
            <t hangText="Usage:">Conditional</t>
            <t hangText="Type:">token</t>
            <t hangText="Description:">Used with a 'lamp' action, indicates if the lamp is to be illuminated, turned off, or flashed.  Permitted values are 'on', 'off', and 'flash'.</t>
            <t hangText="Example:">lamp-action="flash"</t>

            <t></t>
            <t hangText="Name:">lamp-ID</t>
            <t hangText="Usage:">Conditional</t>
            <t hangText="Type:">token</t>
            <t hangText="Description:">Used with a 'lamp' action, indicates which lamp the action affects.  Permitted values are contained in the registry of lamp-ID tokens created in <xref target="eCall-lamp-ID-registry" /></t>
            <t hangText="Example:">lamp-ID="hazard"</t>

            <t></t>
            <t hangText="Name:">supported-lamps</t>
            <t hangText="Usage:">Conditional</t>
            <t hangText="Type:">string</t>
            <t hangText="Description:">Used with a 'lamp' action in a <request> element that is a child of a <capability> element, this attribute lists all supported lamps, using values in the registry of lamp-ID tokens created in <xref target="eCall-lamp-ID-registry" />.  Multiple values are separated with a semicolon.</t>
            <t hangText="Example:">supported-lamps="head; interior; fog-front; fog-rear; brake; position-front; position-rear; turn-left; turn-right; hazard"</t>

            <t></t>
            <t hangText="Name:">camera-ID</t>
            <t hangText="Usage:">Conditional</t>
            <t hangText="Type:">token</t>
            <t hangText="Description:">Used with an 'enable-camera' action, indicates which camera to enable.  Permitted values are contained in the registry of camera-ID tokens created in <xref target="eCall-camera-ID-registry" />.  When a vehicle camera is enabled, the IVS sends a re-INVITE to negotiate a one-way media stream for the camera.</t>
            <t hangText="Example:">camera-ID="backup"</t>

            <t></t>
            <t hangText="Name:">supported-cameras</t>
            <t hangText="Usage:">Conditional</t>
            <t hangText="Type:">string</t>
            <t hangText="Description:">Used with an 'enable-camera' action in a <request> element that is a child of a <capability> element, this attribute lists all cameras that the vehicle supports (can add as a video feed in the current session), using the same identifiers as are used in the 'camera-ID' attribute (contained in the camera ID registry in <xref target="eCall-camera-ID-registry" />).  Multiple values are separated with a semicolon.</t>
            <t hangText="Example:">supported-cameras="backup; interior"</t>


        </list>
        <?rfc subcompact="no"?>
        <?rfc compact="no"?>
        </t>

        </section>  <!-- title="Attributes of the <request> element" -->


        <section title="Child Elements of the <request> element">

        <t>
        The <request> element has the following child elements:
        </t>

        <t>
        <?rfc compact="yes"?>
        <?rfc subcompact="yes"?>
        <list style="hanging">

            <t hangText="Name:">text</t>
            <t hangText="Usage:">Conditional</t>
            <t hangText="Type:">string</t>
            <t hangText="Description:">Used within a <request action="msg-dynamic"> element to contain the text to be displayed and/or spoken (via text-to-speech) for the vehicle occupants.</t>
            <t hangText="Example:"><text>Emergency authorities are aware of your incident and location.  Due to a multi-vehicle incident in your area, no one is able to speak with you right now.  Please remain calm.  We will assist you soon.</text></t>

            <!--
            <t></t>
            <t hangText="Name:">media</t>
            <t hangText="Usage:">Optional</t>
            <t hangText="Type:">base64Binary</t>
            <t hangText="Attribute:">xmime:contentType (mandatory; contains the MIME content type of the media)</t>
            <t hangText="Description:">MAY be used within a <request action="play-dynamic"> element to contain the media to be rendered for the vehicle occupants.  (The media may also be located in its own body part and referenced by a CID URL, or may be external and referenced with an external URL.)  Media that is not trivially small SHOULD be sent using an external reference. </t>
            <t hangText="Example:"><media>Rk9STQAABeZBSUZGQ09NTQAAABIAAgAAAW4AEEANrEQAAAAAAABTU05EAAAFwAAA AAAAAAAAAAAAABHqEeoiISIhL1ovWjiPOI89Gz0bPK48rjdmN2YtxC3EIJ0gnRET ERMAagBq7/3v/eEd4R3U7dTtzGTMZMghyCHIaMhozSPNI9XY1djh0uHS8ALwAv88 /zwOSQ5JG/Yb9icwJzAvFC8UMxkzGTLxMvEuuS65JtEm0RvtG+0O/g7+AQoBCvND 80PmtOa03F3cXdUL1QvRR9FH0VbRVtUa1RrcQ9xD5ifmJ/H48fj+uv66C10LXRbi FuIgayBrJzAnMCq4KrgqwirCJ2MnYyDpIOkX5hfmDSENIQF4AXj15fXl60zrTOKG 4obcQ9xD2PPY89jV2NXb1dvV4bThtOno6ejzvPO8/mT+ZAj9CP0SuRK5Gs4aziCY IJgjsyOzI+Uj5SE0ITQb4xvjFHMUcwt1C3UBugG6+AT4BO8Q7xDnoeeh4kXiRd9e 317fId8h4YbhhuZU5lTtGu0a9Un1Sf4y/jIHGwcbD08PTxYnFicbHxsfHdUd1R4a Hhob+xv7F6EXoRF4EXgKAgoCAdgB2Pmz+bPyK/Ir697r3udG50bkvuS+5G3kbeZP 5k/qQepB79rv2vap9qn+Hv4eBZIFkgyADIASTxJPFowWjBjsGOwZQhlCF5IXkhQE FAQO6g7qCLcItwHnAef7DvsO9Lf0t+9c71zrb+tv6TfpN+jd6N3qX+pf7ZPtk/I6 8jr34Pfg/h7+HgRgBGAKNAo0Dx0PHRK+Er4U0hTSFTIVMhPcE9wQ9RD1DL0MvQeT B5MB4gHi/Cj8KPbL9svyRPJE7uju6Oz87Pzsl+yX7crtyvBn8Gf0P/Q/+PT49P4o /igDZQNlCE0ITQx7DHsPlA+UEWQRZBHCEcIQuBC4DlgOWArfCt8GkwaTAc4Bzv0E /QT4gfiB9Kj0qPHL8cvwIPAg77vvu/Cn8Kfyy/LL9fn1+fnh+eH+PP48AqICogbG BsYKTQpNDPQM9A6BDoEO5Q7lDhIOEgwmDCYJRAlEBbEFsQG6Abr9r/2v+eb55vap 9qn0NfQ18rvyu/Jd8l3zFvMW9NX01fdx93H6tPq0/lX+VQIFAgUFfgV+CH8IfwrB CsEMGwwbDHsMewvaC9oKQwpDB+MH4wTtBO0BnAGc/jz+PPsI+wj4SvhK9jX2NfTu 9O70lfSV9SH1IfaQ9pD4ufi5+237bf5z/nMBiAGIBHoEegcCBwII7gjuChsKGwp2 CnYJ+An4CK0IrQa7BrsEQgRCAX0Bff6r/qv7+vv6+aT5pPfg9+D2xvbG9m32bfba 9tr4BPgE+cz5zPwJ/An+kv6SASgBKAOhA6EFxQXFB2oHaghwCHAIwQjBCGEIYQdW B1YFuwW7A6sDqwFfAV/+//7//L/8v/rD+sP5P/k/+E/4T/f59/n4T/hP+T/5P/q5 +rn8lvyW/rX+tQDeAN4C8gLyBMAEwAYkBiQHBwcHB1YHVgcMBwwGNAY0BN4E3gMt Ay0BPAE8/0H/Qf1Z/Vn7tPu0+mn6afmV+ZX5SvlK+Yv5i/pK+kr7gfuB/Q79Dv7T /tMAoQChAmACYAPoA+gFGwUbBd4F3gYkBiQF7QXtBT0FPQQkBCQCuwK7AR4BHv94 /3j93P3c/HP8c/tZ+1n6pfql+mT6ZPqR+pH7Mfsx/C38Lf14/Xj+8f7xAHQAdAHs AewDNwM3BDgEOATjBOMFJQUlBP0E/QRwBHADgwODAlsCWwEBAQH/oP+g/kb+Rv0Y /Rj8KPwo+4v7i/tK+0r7bftt+/D78PzE/MT90v3S/wn/CQBRAFEBjQGNAqcCpwOD A4MEFQQVBEwETAQuBC4DugO6AwEDAQIFAgUA6ADo/7//v/6c/pz9m/2b/M78zvxL /Ev8DvwO/Cj8KPyR/JH9O/07/iP+I/8n/ycAMgAyATwBPAIuAi4C6ALoA2UDZQOc A5wDgwODAygDKAKNAo0BugG6AM4Azv/Y/9j+4v7i</media></t>
            -->
        </list>
        <?rfc subcompact="no"?>
        <?rfc compact="no"?>
        </t>

        </section> <!-- title="Child Elements of the <request> element" -->


        <section anchor="request_example" title="Request Example">
        <figure anchor="request-example" title="Request Example">
            <artwork>
                <![CDATA[
    <?xml version="1.0" encoding="UTF-8"?>
    <EmergencyCallData.eCallControl
        xmlns="urn:ietf:params:xml:ns:EmergencyCallData:eCall-control"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="urn:ietf:params:xml:ns:EmergencyCallData:
            eCall-control">

    <request action="send-data" datatype="eCall.MSD"/>
    <request action="lamp" lamp-id="hazard"
             lamp-action="flash" persistance="PT1H"/>
    <request action="msg-static" msgid="1"/>
    <request action="msg-dynamic">
        <text>Remain calm.  Help is on the way.</text>
    </request>

    </EmergencyCallData.eCallControl>
                ]]>
            </artwork>
        </figure>
        </section> <!-- title="Request Example" -->

        </section> <!-- title="The <request> element" -->


    </section> <!-- title="The eCall Control Block" -->

    <section anchor="info" title="The emergencyCallData.eCall INFO package">
    <t>
    This document registers the 'emergencyCallData.eCall' INFO package.
    
    Both endpoints (the IVS and the PSAP equipment) set the Recv-Info header field to 'emergencyCallData.eCall' per <xref target="RFC6086"/> to indicate ability to receive INFO messages carrying eCall data or control blocks.
    </t>
    
    <t>
    Support for the 'emergencyCallData.eCall' INFO package indicates the ability to receive eCall data and control blocks, which are carried in a body part whose subtype starts with 'emergencyCallData.eCall.'.  At present there is only one defined eCall data block, which has the 'application/emergencyCallData.eCall.MSD+xml' MIME type, and one eCall control block, which has the 'application/emergencyCallData.eCall.control+xml' MIME type.  The eCall control block includes the ability for the IVS to indicate its capabilities, so in the event additional eCall blocks are defined, the IVS can indicate which it supports. 
    </t>
    
    <t>The use of INFO is based on an analysis of the requirements against the intent and effects of INFO versus other approaches (such as SIP MESSAGE, media plane, or non-SIP protocols).  In particular, the transport of eCall data and control blocks is done only during an emergency session established with SIP, using the mechanism established in <xref target="I-D.ietf-ecrit-additional-data"/>, and is normally carried in the initial INVITE and its response; the use of INFO only occurs when a data block or request needs to be sent subsequently during the call.  While MESSAGE could be used, it is not tied to a SIP session as is INFO.  REINVITE could also be used, but is normally used to modify the session.  SUBSCRIBE/NOTIFY could be coerced into service, but the semantics are not a clean fit.  Hence, INFO is appropriate.
    </t>
    <t>An INFO request message carrying an eCall data or control block has an Info-Package header field set to 'emergencyCallData.eCall' per <xref target="RFC6086"/>.  The INFO request message is marked as containing the eCall data or control block by a Call-Info header field containing a CID URL referencing the unique identifier of the body part containing the eCall data or control, and a 'purpose' parameter identifying the block.  Because the eCall data or control block is being carried in an INFO request message, the body part also carries a Content-Disposition header field set to "Info-Package".
    </t>
    
    <t>
    Per <xref target="I-D.ietf-ecrit-additional-data"/>, emergency call related additional data MAY be included in any SIP request or response message that can contain a body.  Hence, notwithstanding Section 4.3.2. of <xref target="RFC6086"/>, INFO response messages MAY contain eCall data or control blocks, provided they are included as described in this document (with a Call-Info header field containing a CID URL referencing the unique identifier of the body part, and a 'purpose' parameter identifying the block).  When eCall data or control blocks are included in an INFO response message, this is done per <xref target="I-D.ietf-ecrit-additional-data"/> and this document, and not under <xref target="RFC6086"/>; that is, they are included as emergency call additional data, not as an INFO package associated data.
    </t>
    </section> <!-- title="The emergencyCallData.eCall INFO package" -->

</section> <!-- "eCall-Specific Control/Metadata" -->

<section anchor="example" title="Examples">
    <t>
        <xref target="eCall-picture"/> shows an eCall. The call uses the request URI 'urn:service:sos.ecall.automatic' service URN and is
        recognized as an eCall, and further as one that was invoked automatically by the IVS due to a crash or other serious incident.  In this example, the originating network routes the call to an ESInet (as for any emergency call in an environment with an ESInet).  The ESInet routes the call to the appropriate NG-eCall capable PSAP.
        The emergency call is received by the ESInet's Emergency Services Routing Proxy (ESRP), as the entry point into
        the ESInet. The ESRP routes the call to a PSAP, where it is received by a call taker.
        In deployments where there is no ESInet, the originating network routes the call directly to the appropriate NG-eCall capable PSAP.
    </t>
    <t>
        <figure anchor="eCall-picture" title="Example of NG-eCall Message Flow">
          <artwork><![CDATA[

            +------------+  +---------------------------------------+
            |            |  |                  +-------+            |
            |            |  |                  | PSAP2 |            |
            |            |  |                  +-------+            |
            |            |  |                                       |
            |            |  |  +------+     +-------+               |
  Vehicle-->|            |--+->| ESRP |---->| PSAP1 |--> Call-Taker |
            |            |  |  +------+     +-------+               |
            |            |  |                                       |
            |            |  |                  +-------+            |
            |            |  |                  | PSAP3 |            |
            | Originating|  |                  +-------+            |
            |   Mobile   |  |                                       |
            |  Network   |  |                ESInet                 |
            +------------+  +---------------------------------------+
            ]]></artwork>
        </figure>
    </t>
    <t>The example, shown in <xref target="eCall-invite"/>, illustrates a SIP eCall INVITE that contains an MSD and an eCall control block with vehicle capabilities.  For simplicity, the example does not show all SIP headers, nor does it show the additional data blocks added by the IVS and the originating mobile network.
    </t>
    <t>
        <figure anchor="eCall-invite" title="SIP NG-eCall INVITE">
          <artwork><![CDATA[
   INVITE urn:service:sos.ecall.automatic SIP/2.0
   To: urn:service:sos.ecall.automatic 
   From: <sip:+13145551111@example.com>;tag=9fxced76sl
   Call-ID: 3848276298220188511@atlanta.example.com
   Geolocation: <cid:target123@example.com>
   Geolocation-Routing: no
   Call-Info: cid:1234567890@atlanta.example.com;
              purpose=emergencyCallData.eCall.MSD;
              cid:2345678901@atlanta.example.com;
              purpose=emergencyCallData.eCall.control;
   Accept: application/sdp, application/pidf+xml,
           application/emergencyCallData.eCall.control
   CSeq: 31862 INVITE
   Recv-Info: emergencyCallData.eCall
   Content-Type: multipart/mixed; boundary=boundary1
   Content-Length: ...

   --boundary1
   Content-Type: application/sdp

        ...Session Description Protocol (SDP) goes here...

   --boundary1
   Content-Type: application/emergencyCallData.eCall.MSD+xml
   Content-ID: 1234567890@atlanta.example.com
   Content-Disposition: by-reference;handling=optional

   <ECallMessage>
      <id>1</id>

      <msd>
         <msdStructure>

            <messageIdentifier>1</messageIdentifier>

            <control>
               <automaticActivation> <true/> </automaticActivation>
               <testCall> <false/> </testCall>
               <positionCanBeTrusted> <true/> </positionCanBeTrusted>
               <vehicleType> <passengerVehicleClassM1/> </vehicleType>
            </control>

            <vehicleIdentificationNumber>
               <isowmi>WMI</isowmi>
               <isovds>VDSVDS</isovds>
               <isovisModelyear>Y</isovisModelyear>
               <isovisSeqPlant>A123456</isovisSeqPlant>
            </vehicleIdentificationNumber>
            
            <vehiclePropulsionStorageType>
               <gasolineTankPresent> <true/> </gasolineTankPresent>
               <electricEnergyStorage> <true/> </electricEnergyStorage>
            </vehiclePropulsionStorageType>
            
            <timestamp>123456789</timestamp>

            <vehicleLocation>
               <positionLatitude>173881200</positionLatitude>
               <positionLongitude>41822520</positionLongitude>
            </vehicleLocation>

            <vehicleDirection>14</vehicleDirection>
            
            <recentVehicleLocationN1>
               <latitudeDelta>10</latitudeDelta>
               <longitudeDelta>-10</longitudeDelta>
            </recentVehicleLocationN1>

            <recentVehicleLocationN2>
               <latitudeDelta>10</latitudeDelta>
               <longitudeDelta>-20</longitudeDelta>
            </recentVehicleLocationN2>

            <numberOfPassengers>2</numberOfPassengers>

         </msdStructure>

         <optionalAdditionalData>
            <oid>1.2.125</oid>
            <data>30304646</data>
         </optionalAdditionalData>
      </msd>
   </ECallMessage>

   --boundary1
   Content-Type: application/emergencyCallData.eCall.control+xml
   Content-ID: 2345678901@atlanta.example.com
   Content-Disposition: by-reference;handling=optional

    <?xml version="1.0" encoding="UTF-8"?>
    <EmergencyCallData.eCallControl
        xmlns="urn:ietf:params:xml:ns:EmergencyCallData:eCall-control"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="urn:ietf:params:xml:ns:EmergencyCallData:
            eCall-control">

    <capabilities>
        <request action="send-data" supported-datatypes="eCall.MSD"/>
        <request action="lamp"
                 supported-lamps="head;interior;fog-front;fog-rear;
                 brake;position-front;position-rear;turn-left;
                 turn-right;hazard"/>
        <request action="msg-static" msgid="3"/>
        <request action="msg-dynamic"/>
        <request action="honk"/>
        <request action="enable-camera"
                 supported-cameras="backup; interior"/>
    </capabilities>

    </EmergencyCallData.eCallControl>

    --boundary1--
]]></artwork>
        </figure>
    </t>


    <t>Continuing the example, <xref target="eCall-ok"/> illustrates a SIP 200 OK response to the INVITE of <xref target="eCall-invite"/>, containing an eCall control block acknowledging successful receipt of the eCall MSD.  (For simplicity, the example does not show all SIP headers.)
    </t>

    <t>
        <figure anchor="eCall-ok" title="200 OK response to INVITE">
          <artwork><![CDATA[
   SIP/2.0 200 OK
   To: <sip:+13145551111@example.com>;tag=9fxced76sl
   From: Exemplar PSAP <urn:service:sos.ecall.automatic>
   Call-ID: 3848276298220188511@atlanta.example.com
   Call-Info: cid:2345678901@atlanta.example.com;
              purpose=emergencyCallData.eCall.control;
   Accept: application/sdp, application/pidf+xml,
           application/emergencyCallData.eCall.control,
           application/emergencyCallData.eCall.MSD
   CSeq: 31862 INVITE
   Recv-Info: emergencyCallData.eCall
   Content-Type: multipart/mixed; boundary=boundaryX
   Content-Length: ...

   --boundaryX
   Content-Type: application/sdp

        ...Session Description Protocol (SDP) goes here...

   --boundaryX
   Content-Type: application/EmergencyCallData:eCall-control+xml
   Content-ID: 2345678901@atlanta.example.com
   Content-Disposition: by-reference;handling=optional

   <?xml version="1.0" encoding="UTF-8"?>
   <EmergencyCallData.eCallControl
       xmlns="urn:ietf:params:xml:ns:EmergencyCallData:eCall-control"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="urn:ietf:params:xml:ns:EmergencyCallData:
           eCall-control">

   <ack received="true" ref="1234567890@atlanta.example.com"/>

   </EmergencyCallData.eCallControl>

   --boundaryX--

]]></artwork>
        </figure>
    </t>


</section> <!-- title="Examples" -->

<section anchor="security" title="Security Considerations">
      <t>The security considerations described in <xref target="RFC5069"/> apply here.</t>
       
      <t>In addition to any network-provided location that is inherently permitted for IMS emergency calls (which might be determined solely by the network, or in cooperation with or possibly entirely by the originating device), an eCall carries an IVS-supplied location within the MSD.  This is likely to be useful to the PSAP, especially when the two locations are independently determined.  Even in situations where the network-supplied location is limited to the cell site, this can be useful as a sanity check on the device-supplied location contained in the MSD.</t>
      
      <t>The document <xref target="RFC7378"/> discusses trust issues regarding location provided by or determined in cooperation with end devices.</t>
      
      <t>Security considerations specific to the mechanism by which the PSAP sends acknowledgments and requests to the vehicle are discussed in the "Security Considerations" block of <xref target="control.MIME"/>.  In addition to that discussion, it's important to note that vehicles MAY decline to carry out any requested action, e.g., if the vehicle is unable to verify the certificate used to sign the request.  The vehicle MAY use any value in the reason registry in <xref target="eCall-reason-registry"/> to indicate why it did not take an action (e.g., the generic "unable" or the more specific "security-failure").</t>

    <t>Data received from external sources inherently carries implementation risks including buffer overflows, which in many platforms can introduce remote code execution vulnerabilities; null characters can corrupt strings, numeric values used for internal calculations can result in underflow/overflow errors; malformed XML objects can expose parsing bugs, etc.  Implementations need to be cognizant of the potential risks, observe best practices (e.g., good quality static code analysis, fuzz testing, component isolation, avoiding use of unsafe coding techniques, third-party attack tests, signed software, over-the-air updates, etc.), and have multiple levels of protection.  Implementors need to be aware that, potentially, the data objects described here and elsewhere might be malformed, might contain unexpected characters, excessively long attribute values, elements, etc.  (This applies across the board, not just to the 'text' attribute of a <request> element.)</t>
    
    <t>Since this document depends on <xref target="I-D.ietf-ecrit-additional-data"/>, the security considerations discussed there apply here (see especially the discussion of TLS, TLS versions, cypher suites, and PKI).</t>

    <t>When vehicle data or control/metadata is contained in a signed or encrypted body part, the enclosing multipart (e.g., multipart/signed or multipart/encrypted) has the same Content-ID as the data part.  This allows an entity to identify and access the data blocks it is interested in without having to dive deeply into the message structure or decrypt parts it is not interested in.  (The 'purpose' parameter in a Call-Info header field identifies the data, and the CID URL points to the data block in the body, which has a matching Content-ID body part header field).
				</t>

</section> <!-- title="Security Considerations" -->

<section anchor="privacy" title="Privacy Considerations">
    <t>Since this document builds on <xref target="I-D.ietf-ecrit-additional-data"/>, the data structures specified there, and the corresponding privacy considerations discussed there, apply here as well.  The MSD carries some additional identifying and personal information (mostly about the vehicle and less about the owner), as well as location information, and so needs to be protected against unauthorized disclosure.  Local regulations may impose additional privacy protection requirements.  The additional functionality enabled by this document, such as access to vehicle camera streams, carries a burden of protection and so implementations need to be careful that access is only provided within the context of an emergency call and to an emergency services provider, for example, by verifying that the request for camera access is signed by a certificate issued by an emergency services registrar.</t>
    
    <t>Privacy considerations specific to the data structure containing vehicle information are discussed in the "Security Considerations" block of <xref target="MSD.MIME"/>.</t>

    <t>Privacy considerations specific to the mechanism by which the PSAP sends acknowledgments and requests to the vehicle are discussed in the "Security Considerations" block of <xref target="control.MIME"/>.</t>
</section>


<section title="XML Schema">

    <t>
    This section defines the XML schema of the eCall control block.  (The schema for the MSD can be found in EN 15722 <xref target="msd"/>.)
    </t>


    <!-- for more info on the base64Binary type, and the schema for it,
         see http://www.w3.org/TR/xml-media-types/
    -->

    <t>
    <figure anchor="control-block-scheme" title="eCall Control Block Schema">
        <artwork>
        <![CDATA[
    <?xml version="1.0"?>
    <xs:schema
        targetNamespace="urn:ietf:params:xml:ns:EmergencyCallData:eCall-control"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:pi="urn:ietf:params:xml:ns:EmergencyCallData:eCall-control"
        xmlns:xml="http://www.w3.org/XML/1998/namespace"
        elementFormDefault="qualified"
        attributeFormDefault="unqualified">

        <xs:import namespace="http://www.w3.org/XML/1998/namespace"
            schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>

        <xs:element name="EmergencyCallData.eCallControl"
                    type="pi:eCallControlType"/>


        <xs:complexType name="eCallControlType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:choice>
                        <xs:element name="capabilities" 
                                    type="pi:capabilitiesType"/>
                        <xs:element name="request" type="pi:requestType"/>
                        <xs:element name="ack" type="pi:ackType"/>
                        <xs:any namespace="##other" processContents="lax"
                                minOccurs="0"
                                maxOccurs="unbounded"/>
                    </xs:choice>
                    <xs:anyAttribute/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>


        <xs:complexType name="ackType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:sequence minOccurs="1" maxOccurs="unbounded">
                        <xs:element name="actionResult" minOccurs="0"
                                    maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:attribute name="action"
                                              type="xs:token"
                                              use="required"/>
                                <xs:attribute name="success"
                                              type="xs:boolean"
                                              use="required"/>
                                <xs:attribute name="reason"
                                              type="xs:token">
                                    <xs:annotation>
                                        <xs:documentation>conditionally
                                             mandatory when @success='false"
                                            to indicate reason code for a
                                            failure </xs:documentation>
                                    </xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="details"
                                              type="xs:string"/>
                                <xs:anyAttribute processContents="skip"/>
                            </xs:complexType>
                        </xs:element>
                        <xs:any namespace="##other" processContents="lax"
                                minOccurs="0"
                                maxOccurs="unbounded"/>
                    </xs:sequence>
                    <xs:attribute name="ref"
                                  type="xs:anyURI"
                                  use="required"/>
                    <xs:attribute name="received"
                                  type="xs:boolean"/>
                    <xs:anyAttribute/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>


        <xs:complexType name="capabilitiesType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:sequence minOccurs="1" maxOccurs="unbounded">
                        <xs:element name="request"
                                    type="pi:requestType" 
                                    minOccurs="1"
                            maxOccurs="unbounded"/>
                        <xs:any namespace="##other" processContents="lax"
                                 minOccurs="0"
                            maxOccurs="unbounded"/>
                    </xs:sequence>
                    <xs:anyAttribute/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>


        <xs:complexType name="requestType">
            <xs:complexContent>
                <xs:restriction base="xs:anyType">
                    <xs:choice minOccurs="1" maxOccurs="unbounded">
                        <xs:any namespace="##other" processContents="lax"
                                minOccurs="0"
                                maxOccurs="unbounded"/>
                    </xs:choice>
                    <xs:attribute name="action" type="xs:token" use="required"/>
                    <xs:attribute name="msgid" type="xs:unsignedInt"/>
                    <xs:attribute name="persistence" type="xs:duration"/>
                    <xs:attribute name="datatype" type="xs:token"/>
                    <xs:attribute name="supported-datatypes" type="xs:string"/>
                    <xs:attribute name="lamp-id" type="xs:token"/>
                    <xs:attribute name="lamp-action">
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:pattern value=""/>
                                <xs:pattern value=""/>
                                <xs:enumeration value="on"/>
                                <xs:enumeration value="off"/>
                                <xs:enumeration value="flash"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="supported-lamps" type="xs:string"/>
                    <xs:attribute name="camera-id" type="xs:token"/>
                    <xs:attribute name="supported-cameras" type="xs:string"/>
                    <xs:anyAttribute/>
                </xs:restriction>
            </xs:complexContent>
        </xs:complexType>

    </xs:schema>
        ]]>
        </artwork>
        
        <!--  Scheme for a <media> element  -->

                <!-- This element has binary content and requires the
             xmime:contentType attribute which indicates the
             content-type of the binary element -->

        <!--
        <xs:element name="media">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:base64Binary" >
                <xs:attribute ref="xmime:contentType"
                    use="required"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        -->

    </figure>
    </t>

</section>  <!-- title="XML Schema" -->


<section anchor="iana" title="IANA Considerations">
    
    <section title="Service URN Registrations"> 
    
      <t>IANA is requested to register the URN 'urn:service:sos.ecall' under the sub-services 'sos' registry defined in Section 4.2 of <xref target="RFC5031"/>.</t>
      
      <t>This service identifies a type of emergency call (placed by a specialized in-vehicle system and a carrying standardized set of data related to the vehicle and crash or incident, and is needed to direct the call to a specialized public safety answering
        point (PSAP) with technical and operational capabilities to handle such calls. Two sub-services are registered as well, namely 
        
        <list style='hanging'> 
        <t hangText="urn:service:sos.ecall.manual"><vspace blankLines="1"/> This service URN indicates that an eCall had been triggered based on the manual interaction of the driver or a passenger.</t>
        <t hangText="urn:service:sos.ecall.automatic"><vspace blankLines="1"/> This service URN indicates that an eCall had been triggered automatically, for example, due to a crash or other serious incident (e.g., fire).</t>
        </list> 
        </t>

        <t>IANA is also requested to register the URN 'urn:service:test.sos.ecall' under the sub-service 'test' registry defined in Setcion 17.2 of <xref target="RFC6881"/>.</t>
    </section>  <!-- title="Service URN Registrations" -->
    
    <section anchor="MSD.MIME" title="MIME Content-type Registration for 'application/emergencyCallData.eCall.MSD+xml'">
    
					<t>IANA is requested to add application/emergencyCallData.eCall.MSD+xml as a MIME content type, with a reference to this document, in accordance to the procedures of RFC 6838 <xref target="RFC6838"/> and guidelines in RFC
   7303 <xref target="RFC7303"/>.</t>
					<t>
						<list style="empty"> 
							<t>MIME media type name:  application</t>

							<t>MIME subtype name:  emergencyCallData.eCall.MSD+xml</t>

							<t>Mandatory parameters:  none</t>

							<t>Optional parameters:  charset</t>
							<t>Indicates the character encoding of the XML content.</t>

							<t>Encoding considerations:

      Uses XML, which can employ 8-bit characters, depending on the
      character encoding used.  
      See Section 3.2 of RFC 7303 <xref target="RFC7303"/>.
							</t>

							<t>Security considerations:

 This content type is designed to carry vehicle and incident-related data during an emergency call.

      This data contains personal information including vehicle VIN,
      location, direction, etc.  Appropriate
      precautions need to be taken to limit unauthorized access,
      inappropriate disclosure to third parties, and eavesdropping of
      this information.  In general, it is permissible for the data to be unprotected while briefly in transit within the Mobile Network Operator (MNO); the MNO is trusted to not permit the data to be accessed by third parties.  Sections 7 and Section 8 of
      <xref target="I-D.ietf-ecrit-additional-data"/> contain more discussion.</t>

							<t>Interoperability considerations:  None</t>

							<t>Published specification: Annex C of EN 15722 <xref target="msd"/></t>

							<t>Applications which use this media type:

      Pan-European eCall compliant systems
							</t>

							<t>Additional information: None</t>

     <t> Magic Number:  None</t>

    <t>  File Extension:  .xml</t>

    <t>  Macintosh file type code:  'TEXT'</t>

							<t>Person and email address for further information:
      Hannes Tschofenig, Hannes.Tschofenig@gmx.net
							</t>

							<t>Intended usage:  LIMITED USE</t>

							<t>Author:

      This specification was produced by the European Committee For Standardization (CEN).  For contact information, please see <http://www.cen.eu/cen/Pages/contactus.aspx>.
							</t>

							<t>Change controller:

      The European Committee For Standardization (CEN)
							</t>

						</list>
					</t>


    </section>  <!-- title="MIME Content-type Registration for 'application/emergencyCallData.eCall.MSD+xml'" -->

    <section anchor="control.MIME" title="MIME Content-type Registration for 'application/emergencyCallData.eCall.control+xml'">
    
					<t>IANA is requested to add application/emergencyCallData.eCall.control+xml as a MIME content type, with a reference to this document, in accordance to the procedures of RFC 6838 <xref target="RFC6838"/> and guidelines in RFC
   7303 <xref target="RFC7303"/>.</t>
					<t>
						<list style="empty"> 
							<t>MIME media type name:  application</t>

							<t>MIME subtype name:  emergencyCallData.eCall.control+xml</t>

							<t>Mandatory parameters:  none</t>

							<t>Optional parameters:  charset</t>
							<t>Indicates the character encoding of the XML content.</t>

							<t>Encoding considerations:

      Uses XML, which can employ 8-bit characters, depending on the
      character encoding used.  
      See Section 3.2 of RFC 7303 <xref target="RFC7303"/>.
							</t>

							<t>Security considerations:

            <list>
                <t>This content type carries metadata and control information and requests, primarily from a Public Safety Answering Point (PSAP) to an In-Vehicle System (IVS) during an emergency call, and also capabilities from the IVS to the PSAP.</t>

                <t>Metadata (such as an acknowledgment that data sent by the IVS to the PSAP was successfully received) has limited privacy and security implications.  Control information (such as requests from the PSAP that the vehicle perform an action) has some privacy and important security implications.  The privacy concern arises from the ability to request the vehicle to transmit a data set, which as described in <xref target="MSD.MIME" />, can contain personal information.  The security concern is the ability to request the vehicle to perform an action.  It is important that control information originate only from a PSAP or other emergency services provider, and not be modified en-route.  The level of integrity of the cellular network over which the emergency call is placed is important: when the IVS initiates an eCall over a cellular network, it relies on the MNO to route the call to a PSAP.  (Calls placed using other means, such as Wi-Fi or over-the-top services, generally incur higher levels of risk than calls placed over cellular networks.)  A call-back from a PSAP incurs additional risk, since the current mechanisms are not ideal for verifying that such a call is indeed a call-back from a PSAP in response to an emergency call placed by the IVS.  See the discussion in <xref target="security" /> and the PSAP Callback document <xref target="RFC7090"/>.  One safeguard, applicable regardless of which end initiated the call and the means of the call, is for the PSAP or emergency service provider to sign the body part using a certificate issued by a known emergency services certificate authority and for which the IVS can verify the root certificate.</t>

                <t>Sections 7 and Section 8 of
      <xref target="I-D.ietf-ecrit-additional-data"/> contain more discussion.</t>

            </list>
        </t>

							<t>Interoperability considerations:  None</t>

							<t>Published specification: Annex C of EN 15722 <xref target="msd"/></t>

							<t>Applications which use this media type:

      Pan-European eCall compliant systems
							</t>

							<t>Additional information: None</t>

     <t> Magic Number:  None</t>

    <t>  File Extension:  .xml</t>

    <t>  Macintosh file type code:  'TEXT'</t>

							<t>Person and email address for further information:
        Randall Gellens, rg+ietf@qti.qualcomm.com
							</t>

							<t>Intended usage:  LIMITED USE</t>

							<t>Author:

        The IETF ECRIT WG.
							</t>

							<t>Change controller:

        The IETF ECRIT WG.
							</t>

						</list>
					</t>


    </section>  <!-- title="MIME Content-type Registration for 'application/emergencyCallData.eCall.control+xml'" -->

    <section title="Registration of the 'eCall.MSD' entry in the Emergency Call Additional Data Blocks registry">

    <t>This specification requests IANA to add the 'eCall.MSD' entry to the Emergency Call Additional Data Blocks registry (established by <xref target="I-D.ietf-ecrit-additional-data"/>), with a reference to this document.</t>
    
    </section>  <!-- title="Registration of the 'eCall.MSD' entry in the Emergency Call Additional Data Blocks registry" -->
    
    <section title="Registration of the 'eCall.control' entry in the Emergency Call Additional Data Blocks registry">

    <t>This specification requests IANA to add the 'eCall.control' entry to the Emergency Call Additional Data Blocks registry (established by <xref target="I-D.ietf-ecrit-additional-data"/>), with a reference to this document.</t>
    </section>  <!-- title="Registration of the 'eCall.control' entry in the Emergency Call Additional Data Blocks registry" -->

    <section title="Registration of the emergencyCallData.eCall Info Package">

   <t>IANA is requested to add emergencyCallData.eCall to the Info Packages Registry under "Session Initiation Protocol (SIP) Parameters", with a reference to this document.</t>
    
    </section>  <!-- title="Registration of the emergencyCallData.eCall Info Package" -->


    <section title="URN Sub-Namespace Registration"> 

        <section anchor="ecallControl" title="Registration for urn:ietf:params:xml:ns:eCall">
        <t> This section registers a new XML namespace, as per the guidelines in RFC 3688 <xref target="RFC3688"/>. </t>
        <t>
            <list style="hanging">
              <t hangText="URI:">urn:ietf:params:xml:ns:eCall</t>
                <t hangText="Registrant Contact:"> IETF, ECRIT working group,
  <ecrit@ietf.org>, as delegated by the IESG
  <iesg@ietf.org>. </t>
                <t hangText="XML:">
                    <figure>
                    <artwork>
                    <![CDATA[
    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>Namespace for eCall Data</title>
    </head>
    <body>
        <h1>Namespace for eCall Data</h1>
        <p>See [TBD: This document].</p>
    </body>
    </html>
    END
]]>
                    </artwork>
                    </figure>
                </t>
            </list>
            </t>
        </section> <!-- title="Registration for urn:ietf:params:xml:ns:eCall" -->

        <section title="Registration for urn:ietf:params:xml:ns:eCall:control">
        <t> This section registers a new XML namespace, as per the guidelines in RFC 3688 <xref target="RFC3688"/>. </t>
        <t>
            <list style="hanging">
            <t hangText="URI:">urn:ietf:params:xml:ns:eCall:control</t>
            <t hangText="Registrant Contact:"> IETF, ECRIT working group,
              <ecrit@ietf.org>, as delegated by the IESG
              <iesg@ietf.org>. </t>
            <t hangText="XML:">
            <figure>
            <artwork>
            <![CDATA[
   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>Namespace for eCall Data: 
               Control Block</title>
   </head>
   <body>
        <h1>Namespace for eCall Data</h1>
        <h2>Control Block</h2>
   <p>See [TBD: This document].</p>
   </body>
   </html>
   END
   ]]>
            </artwork>
            </figure>
            </t>
            </list>
        </t>
        </section>  <!-- title="Registration for urn:ietf:params:xml:ns:eCall:control" -->

    </section>  <!-- title="URN Sub-Namespace Registration" -->

    <section anchor="RegCreate" title="Registry creation">
    <t>This document creates a new registry called 'eCall Control Data'.  The following sub-registries are created for this registry.
    </t>

        <section anchor="eCall-action-registry" title="eCall Control Action Registry">
        <t>This document creates a new sub-registry called "eCall Control Action Registry".  As defined in <xref target="RFC5226"/>, this registry
   operates under "Expert Review" rules.  The expert should determine that the proposed action is within the purview of a vehicle, is sufficiently distinguishable from other actions, and the actions is clearly and fully described.  In most cases, a published and stable document is referenced for the description of the action.</t>   

        <t>The content of this registry includes:

            <list style="hanging">
            <t hangText="Name:"> The identifier to be used in the 'action' attribute of an eCall control <request> element.</t>
            <t hangText="Description:">A description of the action.  In most cases this will be a reference to a published and stable document.  The description MUST specify if any attributes or child elements are optional or mandatory, and describe the action to be taken by the vehicle.</t>
            </list> 
        </t> 

        <t>The initial set of values is listed in <xref target="eCall-action-registry-values"/>.</t>

        <texttable anchor="eCall-action-registry-values" title="eCall Control Action Registry Initial Values">
    <ttcol align='center'>Name</ttcol>
    <ttcol align='center'>Description</ttcol>
    <c>send-data</c>    <c>Section xxx of this document</c>
    <c>msg-static</c>   <c>Section xxx of this document</c>
    <c>msg-dynamic</c>  <c>Section xxx of this document</c>
    <!-- <c>play-audio</c>   <c>Section xxx of this document</c> -->
    <c>honk</c>         <c>Section xxx of this document</c>
    <c>lamp</c>         <c>Section xxx of this document</c>
    <c>enable-camera</c><c>Section xxx of this document</c>
        </texttable>

        </section>   <!-- title="eCall Control Action Registry" -->

        <section anchor="eCall-msg-registry" title="eCall Static Message Registry">
        <t>This document creates a new sub-registry called "eCall Static Message Registry".  Because all compliant vehicles are expected to support all static messages translated into all languages supported by the vehicle, it is important to limit the number of such messages.  As defined in <xref target="RFC5226"/>, this registry operates under "Publication Required" rules, which require a stable, public document and imply expert review of the publication.  The expert should determine that the document has been published by an appropriate emergency services organization (e.g., NENA, EENA, APCO) and that the proposed message is sufficiently distinguishable from other messages.</t>

        <t>The content of this registry includes:

            <list style="hanging">
            <t hangText="ID:"> An integer identifier to be used in the 'msgid' attribute of an eCall control <request> element.</t>
            <t hangText="Message:">The text of the message.  Messages are listed in the registry in English; vehicles are expected to implement translations into languages supported by the vehicle.</t>
            </list> 
        </t>

        <t>When new messages are added to the registry, the message text is determined by the registrant; IANA assigns the IDs.  Each message is assigned a consecutive integer value as its ID.  This allows an IVS to indicate by a single integer value that it supports all messages with that value or lower.</t>


        <t>The initial set of values is listed in <xref target="eCall-msg-registry-values"/>.</t>

        <texttable anchor="eCall-msg-registry-values" title="eCall Static Message Registry">
        <ttcol align='center'>ID</ttcol>
        <ttcol align='left'>Message</ttcol>

        <c>1</c>
        <c>Emergency authorities are aware of your incident and location, but are unable to speak with you right now.  We will help you as soon as possible.</c>
        </texttable>

        </section>   <!-- title="eCall Static Message Registry" -->

        <section anchor="eCall-reason-registry" title="eCall Reason Registry">
        <t>This document creates a new sub-registry called "eCall Reason Registry" which contains values for the 'reason' attribute of the <actionResult> element.  As defined in <xref target="RFC5226"/>, this registry operates under "Expert Review" rules.  The expert should determine that the proposed reason is sufficiently distinguishable from other reasons and that the proposed description is understandable and correctly worded.</t>

        <t>The content of this registry includes:

            <list style="hanging">
            <t hangText="ID:"> A short string identifying the reason, for use in the 'reason' attribute of an <actionResult> element.</t>
            <t hangText="Description:">A description of the reason.</t>
            </list> 
        </t>

        <t>The initial set of values is listed in <xref target="eCall-reason-registry-values"/>.</t>

        <texttable anchor="eCall-reason-registry-values" title="eCall Reason Registry">
        <ttcol align='left'>ID</ttcol>
        <ttcol align='left'>Description</ttcol>

        <c>unsupported</c>
        <c>The 'action' is not supported.</c>

        <c>unable</c>
        <c>The 'action' could not be accomplished.</c>

        <c>data-unsupported</c>
        <c>The data item referenced in a 'send-data' request is not supported.</c>

        <c>security-failure</c>
        <c>The authenticity of the request or the authority of the requestor could not be verified.</c>
        </texttable>

        </section>   <!-- title="eCall Reason Registry" -->


        <section anchor="eCall-lamp-ID-registry" title="eCall Lamp ID Registry">
        <t>This document creates a new sub-registry called "eCall Lamp ID Registry" to standardize the names of automotive lamps (lights).  As defined in <xref target="RFC5226"/>, this registry
   operates under "Expert Review" rules.  The expert should determine that the proposed lamp name is clearly understandable and is sufficiently distinguishable from other lamp names.</t>   

        <t>The content of this registry includes:

            <list style="hanging">
            <t hangText="Name:"> The identifier to be used in the 'lamp-ID' attribute of an eCall control <request> element.</t>
            <t hangText="Description:">A description of the lamp (light).</t>
            </list> 
        </t> 

        <t>The initial set of values is listed in <xref target="eCall-lamp-ID-registry-values"/>.</t>

        <texttable anchor="eCall-lamp-ID-registry-values" title="eCall Lamp ID Registry Initial Values">
        <ttcol align='left'>Name</ttcol>
        <ttcol align='left'>Description</ttcol>
        <c>head</c>         <c>The main lamps used to light the road ahead</c>
        <c>interior</c>     <c>Interior lamp, often at the top center</c>
        <c>fog-front</c>    <c>Front fog lamps</c>
        <c>fog-rear</c>     <c>Rear fog lamps</c>
        <c>brake</c>        <c>Brake indicator lamps</c>
        <c>position-front</c> <c>Front position/parking/standing lamps</c>
        <c>position-rear</c> <c>Rear position/parking/standing lamps</c>
        <c>turn-left</c>     <c>Left turn/directional lamps</c>
        <c>turn-right</c>    <c>Right turn/directional lamps</c>
        <c>hazard</c>        <c>Hazard/four-way lamps</c>
        </texttable>

        </section>   <!-- title="eCall Lamp ID Registry" -->


        <section anchor="eCall-camera-ID-registry" title="eCall Camera ID Registry">
        <t>This document creates a new sub-registry called "eCall Camera ID Registry" to standardize the names of automotive camera.  As defined in <xref target="RFC5226"/>, this registry
   operates under "Expert Review" rules.  The expert should determine that the proposed camera name is clearly understandable and is sufficiently distinguishable from other camera names.</t>   

        <t>The content of this registry includes:

            <list style="hanging">
            <t hangText="Name:"> The identifier to be used in the 'camera-ID' attribute of an eCall control <request> element.</t>
            <t hangText="Description:">A description of the camera.</t>
            </list> 
        </t> 

        <t>The initial set of values is listed in <xref target="eCall-camera-ID-registry-values"/>.</t>

        <texttable anchor="eCall-camera-ID-registry-values" title="eCall Camera ID Registry Initial Values">
        <ttcol align='left'>Name</ttcol>
        <ttcol align='left'>Description</ttcol>
        <c>backup</c>      <c>Shows what is behind the vehicle.  Also known as rearview, reverse, etc.</c>
        <c>interior</c>     <c>Shows the interior (driver)</c>
        </texttable>

        </section>   <!-- title="eCall camera ID Registry" -->

    </section> <!-- title="Registry creation" -->

</section>  <!-- "IANA Considerations" -->


<section title="Contributors">
      <t>Brian Rosen was a co-author of the original document upon which this document is based.</t>
</section> <!-- title="Contributors" -->


<section title="Acknowledgements">
      <t>We would like to thank Bob Williams and Ban Al-Bakri for their feedback and suggestions, and Keith Drage, James Winterbottom, Wes George, and Rex Buddenber for their review and comments.  We would like to thank Michael Montag, Arnoud van Wijk, Gunnar Hellstrom, and Ulrich Dietz for their help with the original document upon which this document is based.</t>
</section> <!-- title="Acknowledgements" -->


<section title="Changes from Previous Versions">

    <section title="Changes from draft-ietf-05 to draft-ietf-06">
        <t>
        <?rfc compact="yes" ?>
        <?rfc subcompact="yes" ?>
        <list style="symbols">
            <t>Added additional security and privacy clarifications regarding signed and encrypted data</t>
            <t>Additional security and privacy text</t>
            <t>Deleted informative section on ESINets as unnecessary.</t>
        </list>
        </t>
    </section>

    <section title="Changes from draft-ietf-04 to draft-ietf-05">
        <t>
        <?rfc compact="yes" ?>
        <?rfc subcompact="yes" ?>
        <list style="symbols">
            <t>Reworked the security and privacy considerations material in the document as a whole and in the MIME registation sections of the MSD and control objects</t>
            <t>Clarified that the <actionResult> element can appear multiple times within an <ack> element</t>
            <t>Fixed IMS definition</t>
            <t>Added clarifying text for the 'msgid' attribute</t>
        </list>
        </t>
    </section>

    <section title="Changes from draft-ietf-03 to draft-ietf-04">
        <t>
        <?rfc compact="yes" ?>
        <?rfc subcompact="yes" ?>
        <list style="symbols">
            <t>Added Privacy Considerations section</t>
            <t>Reworded most uses of non-normative "may", "should", "must", and "recommended."</t>
            <t>Fixed nits in examples</t>
        </list>
        </t>
    </section>

    <section title="Changes from draft-ietf-02 to draft-ietf-03">
        <t>
        <?rfc compact="yes" ?>
        <?rfc subcompact="yes" ?>
        <list style="symbols">
            <t>Added request to enable cameras</t>
            <t>Improved examples and XML schema</t>
            <t>Clarifications and wording improvements</t>
        </list>
        </t>
    </section>

    <section title="Changes from draft-ietf-01 to draft-ietf-02">
        <t>
        <?rfc compact="yes" ?>
        <?rfc subcompact="yes" ?>
        <list style="symbols">
            <t>Added clarifying text reinforcing that the data exchange is for small blocks of data infrequently transmitted</t>
            <t>Clarified that dynamic media is conveyed using SIP re-INVITE to establish a one-way media stream</t>
            <t>Clarified that the scope is the needs of eCall within the SIP emergency call environment</t>
            <t>Added informative statement that the document may be suitable for reuse by other ACN systems</t>
            <t>Clarified that normative language for the control block applies to both IVS and PSAP</t>
            <t>Removed 'ref', 'supported-mime', and <media> elements</t>
            <t>Minor wording improvements and clarifications</t>
        </list>
        </t>
    </section>

    <section title="Changes from draft-ietf-00 to draft-ietf-01">
        <t>
        <list style="symbols">
            <t>Added further discussion of test calls</t>
            <t>Added further clarification to the document scope</t>
            <t>Mentioned that multi-region vehicles may need to support other crash notification specifications in addition to eCall</t>
            <t>Added details of the eCall metadata and control functionality</t>
            <t>Added IANA registration for the MIME content type for the eCall control object</t>
            <t>Added IANA registries for protocol elements and tokens used in the eCall control object</t>
            <t>Minor wording improvements and clarifications</t>
        </list>
        </t>
    </section>

    <section title="Changes from draft-gellens-03 to draft-ietf-00">
        <t>
        <list style="symbols">
            <t>Renamed from draft-gellens- to draft-ietf-.</t>
            <t>Added mention of and reference to ETSI TR "Mobile Standards Group (MSG); eCall for VoIP"</t>
            <t>Added text to Introduction regarding migration/co-existence being out of scope</t>
            <t>Added mention in Security Considerations that even if the network-supplied location is just the cell site, this can be useful as a sanity check on the IVS-supplied location</t>
            <t>Minor wording improvements and clarifications</t>
        </list>
        </t>
    </section>

    <section title="Changes from draft-gellens-02 to -03">
        <t>
        <list style="symbols">
            <t>Clarifications and editorial improvements.</t>
        </list>
        </t>
    </section>
      
    <section title="Changes from draft-gellens-01 to -02">
        <t>
        <list style="symbols">
            <t>Minor wording improvements</t>
            <t>Removed ".automatic" and ".manual" from "urn:service:test.sos.ecall" registration and discussion text.</t>
        </list>
        </t>
    </section>

    <section title="Changes from draft-gellens-00 to -01">
        <t>
        <list style="symbols">
            <t>Now using 'EmergencyCallData' for purpose parameter values and MIME subtypes, in accordance with changes to <xref target="I-D.ietf-ecrit-additional-data"/></t>
            <t>Added reference to RFC 6443</t>
            <t>Fixed bug that caused Figure captions to not appear</t>
        </list>
        </t>
    </section>
    
<?rfc subcompact="no"?>
<?rfc compact="no"?>
</section> <!-- title="Changes from Previous Versions -->
    

</middle>

<back>

<references title="Normative References">
        &RFC2119;
        &RFC6881;
        &RFC7303;
        &RFC6838; 
        &RFC5031;
        &RFC6443;
        &I-D.ietf-ecrit-additional-data;
        &RFC3688;
        &RFC5226;

    <reference anchor="msd">
      <front>
       <title>Intelligent transport systems -- eSafety -- eCall minimum set of data (MSD), EN 15722</title>
       <author fullname="CEN" initials="" surname="CEN"> </author>
       <date year="2011" month="June"/>
      </front>
    </reference>


    <reference anchor="TS22.101">
      <front>
        <title>Technical Specification Group Services and System Aspects; Service aspects; Service principles</title>
        <author fullname="3rd Generation Partnership Project" initials="" surname="3GPP"> </author>
        <date />
      </front>
    </reference>


    <reference anchor="EN_16072">
      <front>
        <title>Intelligent transport systems - eSafety - Pan-European eCall operating requirements</title>
        <author fullname="CEN" initials="" surname="CEN"> </author>
        <date year="2011" month="December"/>
      </front>
    </reference>

</references>


<references title="Informative references">
      &RFC5012;
      &RFC5069;
      &RFC7378;
      &RFC6086;
      &RFC7090;

      &I-D.ietf-ecrit-car-crash;

    <reference anchor="CEN" target="http://www.cen.eu">
        <front>
            <title>European Committee for Standardization</title>
            <author/>
            <date/>
        </front>
    </reference>

    <reference anchor="SDO-ETSI" target="http://www.etsi.org">
        <front>
            <title>European Telecommunications Standards Institute (ETSI)</title>
            <author/>
            <date/>
        </front>
    </reference>

    <reference anchor="MSG_TR">
      <front>
        <title>ETSI Mobile Standards Group (MSG); eCall for VoIP</title>
        <author fullname="European Telecommunications Standards Institute" initials="" surname="ETSI"> </author>
        <date year="2014" month="April"/>
      </front>
      <seriesInfo name="ETSI Technical Report" value="TR 103 140 V1.1.1 (2014-04)" />
    </reference>
    
    <reference anchor="SDO-3GPP" target="http://www.3gpp.org/">
        <front>
            <title>3d Generation Partnership Project</title>
            <author/>
            <date/>
        </front>
    </reference>

  </references>

  </back>
</rfc>

PAFTECH AB 2003-20262026-04-24 10:23:49