All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
eCall API

Click here for the API Reference documentation.


Table of Contents

Introduction

When a serious vehicle accident occurs, in-vehicle sensors will automatically trigger an eCall. When activated, the in-vehicle system (IVS) establishes a 112-voice connection.

The Mobile Network Operator handles the eCall like any other 112 call and routes the call to the most appropriate emergency response centre - Public Safety Answering Point (PSAP).

At the same time, a digital "minimum set of data" (MSD) message is sent over the voice call using in-band modem signals. The MSD includes accident information, such as time, location, driving direction, and vehicle description.

The eCall can also be activated manually. The mobile network operator identifies that the 112 call is an eCall from the “eCall flag” inserted by the vehicle’s communication module.

eCall Session

In order to start an eCall session, an eCall object must be created by calling le_ecall_Create(). An eCall session can be stopped using le_ecall_End().

The type of eCall and the kind of activation are specified using different functions to start an eCall session:

When the eCall object is no longer needed, call le_ecall_Delete() to free all allocated resources associated with the object.

The current state of an eCall session can be queried using le_ecall_GetState(). Alternatively, an application can register a handler to be notified when the session state changes. The handler can be managed using le_ecall_AddStateChangeHandler() and le_ecall_RemoveStateChangeHandler().

Minimum Set of Data (MSD)

The dynamic values of the MSD can be set with:

The static values are retrieved from the configuration tree.

Moreover it is possible to import a prepared MSD using the le_ecall_ImportMsd() function. The prepared MSD must answer the requirements described in the "EN 15722:2013" publication (this publication has been prepared by Technical Committee CEN/TC 278 “Intelligent Transport Systems).

The MSD transmission will be performed automatically when the emergency call is established with the PSAP.

Concurrency

If another application try to use the eCall service while a session is already in progress, the le_ecall_StartManual(), le_ecall_StartAutomatic(), le_ecall_StartTest() and le_ecall_End() functions will return a LE_DUPLICATE error. But, the eCall session in progress won't be interrupted or disturbed in any manners. However, the appplication can follow the progress of the session with the 'state' functions like le_ecall_GetState() and le_ecall_AddStateChangeHandler(). Note that a manual eCall won't interrupt an automatic eCall, and vice versa an automatic eCall won't interrupt a manual eCall.

Code sample

The following code sample show how an eCall session is used.

le_result_t TriggerAutomaticEcall
(
uint32_t paxCount,
int32_t latitude,
int32_t longitude,
int32_t direction
)
{
// Create the eCall Session
// Set the dynamic MSD values, the static values are retrieved from the config tree
SetMsdPosition(eCallRef,
true,
latitude,
longitude,
direction);
SetMsdPassengersCount(eCallRef, paxCount);
// Start the eCall session
}

Configuration tree

The configuration database path for the eCall is:

/
    modemServices/
        eCall/
            pushpull<string> = <push-pull mode>
            msdVersion<int> = <MSD value>
            vehicleType<string> = <vehicle type>
            vin<string> = <VIN>
            propulsionType/
                0<string> = <propulsion type>
                1<string> = <propulsion type>
                ...

The 'pushpull' field can be set with the following two choices (string type):

  • "Push": the MSD is pushed by the IVS
  • "Pull": the MSD is sent when requested by the PSAP

The 'msdVersion' field is the MSD format version.

The 'vehicleType' field can be set with the following choices (string type):

  • "Passenger-M1" (Passenger vehicle, Class M1)
  • "Bus-M2" (Buses and coaches, Class M2)
  • "Bus-M3" (Buses and coaches, Class M2)
  • "Commercial-N1" (Light commercial vehicles, Class N1)
  • "Heavy-N2" (Heavy duty vehicles, Class N2)
  • "Heavy-N3" (Heavy duty vehicles, Class N2)
  • "Motorcycle-L1e" (Motorcycles, Class L1e)
  • "Motorcycle-L2e" (Motorcycles, Class L1e)
  • "Motorcycle-L3e" (Motorcycles, Class L1e)
  • "Motorcycle-L4e" (Motorcycles, Class L1e)
  • "Motorcycle-L5e" (Motorcycles, Class L1e)
  • "Motorcycle-L6e" (Motorcycles, Class L1e)
  • "Motorcycle-L7e" (Motorcycles, Class L1e)

The 'vin' is the vehicle identification number (string type).

The 'propulsionType' field can be set with the following choices (string type):

  • "Gasoline" (Gasoline propulsion)
  • "Diesel" (Diesel propulsion)
  • "NaturalGas" (Compressed natural gas propulsion)
  • "Propane" (Liquid propane gas propulsion)
  • "Electric" (Electric propulsion)
  • "Hydrogen" (Hydrogen propulsion)
  • "Other" (Other type of propulsion)

Copyright (C) Sierra Wireless, Inc. 2014. Use of this work is subject to license.