le_ecall_interface.h
Go to the documentation of this file.
25 * The Mobile Network Operator handles the eCall like any other 112 call and routes the call to the28 * At the same time, a digital "minimum set of data" (MSD) message is sent over the voice call using54 * - le_ecall_ForceOnlyMode(): this function configures the eCall operation mode to eCall only, only60 * - le_ecall_ForcePersistentOnlyMode(): Same as le_ecall_ForceOnlyMode(), but the change persists69 * - le_ecall_GetConfiguredOperationMode(): this function allows the user to retrieve the configured83 * The type of eCall and the kind of activation are specified using different functions to start the91 * @warning An application must wait for @c LE_ECALL_STATE_DISCONNECTED event before calling again104 * le_ecall_GetPlatformSpecificTerminationCode() to get platform specific termination code (refer117 * @warning Those functions return a LE_DUPLICATE error when the MSD has been already imported with129 * The prepared MSD must answer the requirements described in the "EN 15722:2013" publication (this130 * publication has been prepared by Technical Committee CEN/TC 278 “Intelligent Transport Systems").135 * @warning The imported MSD overwrites the control flags (automaticActivation and testCall) set by143 * The MSD can be updated before calling le_ecall_SendMsd(), using the e_ecall_ImportMsd() function148 * If another application tries to use the eCall service while a session is already in progress, the149 * le_ecall_StartManual(), le_ecall_StartAutomatic(), le_ecall_StartTest() functions will return a150 * LE_BUSY error. The eCall session in progress won't be interrupted or disturbed. The application158 * To perform an emergency call following the ERA-GLONASS requirements, the 'systemStandard' entry171 * - le_ecall_SetEraGlonassAutoDialAttempts(): set the AUTO_DIAL_ATTEMPTS value. If a dial attempt177 * - le_ecall_SetEraGlonassDialDuration(): set the ECALL_DIAL_DURATION time. It is the maximum time264 * In the case of PAN-EUROPEAN, the redial can be performed as many times as desired but should be267 * In the case of ERA-GLONASS, the redial can be performed ECALL_MANUAL_DIAL_ATTEMPTS times within278 * A sample code that implements an eCall test session with a voice call connection can be found in298 * le_ecall_UseUSimNumbers() function can be recalled to indicate the modem to read the number to301 * The NAD (Network Access Device, i.e. the Modem) deregistration time value can be set or get with:312 * After termination of an emergency call the in-vehicle system remains registered on the network390 //--------------------------------------------------------------------------------------------------393 * Connect the current client thread to the service providing this API. Block until the service is396 * For each thread that wants to use this API, either ConnectService or TryConnectService must be397 * called before any other functions in this API. Normally, ConnectService is automatically called402 //--------------------------------------------------------------------------------------------------408 //--------------------------------------------------------------------------------------------------411 * Try to connect the current client thread to the service providing this API. Return with an error414 * For each thread that wants to use this API, either ConnectService or TryConnectService must be415 * called before any other functions in this API. Normally, ConnectService is automatically called422 * - LE_UNAVAILABLE if the server is not currently offering the service to which the client is bound.423 * - LE_NOT_PERMITTED if the client interface is not bound to any service (doesn't have a binding).426 //--------------------------------------------------------------------------------------------------432 //--------------------------------------------------------------------------------------------------438 * longer a connection to the service, and the functions in this API can't be used. For details, see443 //--------------------------------------------------------------------------------------------------450 //--------------------------------------------------------------------------------------------------454 //--------------------------------------------------------------------------------------------------458 //--------------------------------------------------------------------------------------------------462 //--------------------------------------------------------------------------------------------------466 //--------------------------------------------------------------------------------------------------470 //--------------------------------------------------------------------------------------------------474 //--------------------------------------------------------------------------------------------------479 //--------------------------------------------------------------------------------------------------483 //--------------------------------------------------------------------------------------------------487 //--------------------------------------------------------------------------------------------------503 //--------------------------------------------------------------------------------------------------507 //--------------------------------------------------------------------------------------------------519 //--------------------------------------------------------------------------------------------------523 //--------------------------------------------------------------------------------------------------607 //--------------------------------------------------------------------------------------------------611 //--------------------------------------------------------------------------------------------------623 //--------------------------------------------------------------------------------------------------627 //--------------------------------------------------------------------------------------------------672 //--------------------------------------------------------------------------------------------------676 //--------------------------------------------------------------------------------------------------703 //--------------------------------------------------------------------------------------------------708 //--------------------------------------------------------------------------------------------------840 //--------------------------------------------------------------------------------------------------845 //--------------------------------------------------------------------------------------------------899 //--------------------------------------------------------------------------------------------------903 //--------------------------------------------------------------------------------------------------907 //--------------------------------------------------------------------------------------------------918 //--------------------------------------------------------------------------------------------------920 (926 //--------------------------------------------------------------------------------------------------938 //--------------------------------------------------------------------------------------------------944 //--------------------------------------------------------------------------------------------------952 //--------------------------------------------------------------------------------------------------958 //--------------------------------------------------------------------------------------------------960 * This function exits from eCall Only mode. It configures the eCall operation mode to Normal mode,961 * the modem uses the default operation mode at power up (or after U/SIM hotswap). The modem behaves962 * following the U/SIM eCall operation mode; for example the U/SIM can be configured only for eCall,969 //--------------------------------------------------------------------------------------------------975 //--------------------------------------------------------------------------------------------------983 //--------------------------------------------------------------------------------------------------990 //--------------------------------------------------------------------------------------------------996 //--------------------------------------------------------------------------------------------------1006 //--------------------------------------------------------------------------------------------------1010 //--------------------------------------------------------------------------------------------------1017 //--------------------------------------------------------------------------------------------------1030 //--------------------------------------------------------------------------------------------------1036 //--------------------------------------------------------------------------------------------------1043 //--------------------------------------------------------------------------------------------------1050 //--------------------------------------------------------------------------------------------------1059 //--------------------------------------------------------------------------------------------------1066 //--------------------------------------------------------------------------------------------------1075 //--------------------------------------------------------------------------------------------------1082 //--------------------------------------------------------------------------------------------------1091 //--------------------------------------------------------------------------------------------------1098 //--------------------------------------------------------------------------------------------------1107 //--------------------------------------------------------------------------------------------------1114 //--------------------------------------------------------------------------------------------------1123 //--------------------------------------------------------------------------------------------------1130 //--------------------------------------------------------------------------------------------------1139 //--------------------------------------------------------------------------------------------------1146 //--------------------------------------------------------------------------------------------------1155 //--------------------------------------------------------------------------------------------------1162 //--------------------------------------------------------------------------------------------------1171 //--------------------------------------------------------------------------------------------------1181 //--------------------------------------------------------------------------------------------------1190 //--------------------------------------------------------------------------------------------------1197 //--------------------------------------------------------------------------------------------------1208 //--------------------------------------------------------------------------------------------------1215 //--------------------------------------------------------------------------------------------------1223 //--------------------------------------------------------------------------------------------------1230 //--------------------------------------------------------------------------------------------------1238 //--------------------------------------------------------------------------------------------------1245 //--------------------------------------------------------------------------------------------------1257 //--------------------------------------------------------------------------------------------------1282 //--------------------------------------------------------------------------------------------------1284 * Set the position Delta N-1 from position set in le_ecall_SetMsdPosition() transmitted by the MSD.1294 //--------------------------------------------------------------------------------------------------1313 //--------------------------------------------------------------------------------------------------1315 * Set the position Delta N-2 from position set in le_ecall_SetMsdPositionN1() transmitted by the MSD.1325 //--------------------------------------------------------------------------------------------------1344 //--------------------------------------------------------------------------------------------------1355 //--------------------------------------------------------------------------------------------------1365 //--------------------------------------------------------------------------------------------------1380 //--------------------------------------------------------------------------------------------------1393 //--------------------------------------------------------------------------------------------------1407 //--------------------------------------------------------------------------------------------------1420 //--------------------------------------------------------------------------------------------------1432 //--------------------------------------------------------------------------------------------------1439 //--------------------------------------------------------------------------------------------------1451 //--------------------------------------------------------------------------------------------------1458 //--------------------------------------------------------------------------------------------------1470 //--------------------------------------------------------------------------------------------------1477 //--------------------------------------------------------------------------------------------------1489 //--------------------------------------------------------------------------------------------------1496 //--------------------------------------------------------------------------------------------------1505 //--------------------------------------------------------------------------------------------------1512 //--------------------------------------------------------------------------------------------------1521 //--------------------------------------------------------------------------------------------------1528 //--------------------------------------------------------------------------------------------------1532 * @note That PSAP number is not applied to Manually or Automatically initiated eCall. For those1541 * @note If PSAP number is too long (max LE_MDMDEFS_PHONE_NUM_MAX_LEN digits), it is a fatal error,1544 //--------------------------------------------------------------------------------------------------1551 //--------------------------------------------------------------------------------------------------1556 * @note That PSAP number is not applied to Manually or Automatically initiated eCall. For those1565 //--------------------------------------------------------------------------------------------------1575 //--------------------------------------------------------------------------------------------------1577 * This function can be recalled to indicate the modem to read the number to dial from the FDN/SDN1584 //--------------------------------------------------------------------------------------------------1590 //--------------------------------------------------------------------------------------------------1600 //--------------------------------------------------------------------------------------------------1607 //--------------------------------------------------------------------------------------------------1615 //--------------------------------------------------------------------------------------------------1622 //--------------------------------------------------------------------------------------------------1630 //--------------------------------------------------------------------------------------------------1637 //--------------------------------------------------------------------------------------------------1645 //--------------------------------------------------------------------------------------------------1652 //--------------------------------------------------------------------------------------------------1655 * failed, it should be repeated maximally ECALL_MANUAL_DIAL_ATTEMPTS-1 times within the maximal1657 * Redial attempts stop once the call has been cleared down correctly, or if counter/timer reached1664 //--------------------------------------------------------------------------------------------------1671 //--------------------------------------------------------------------------------------------------1673 * Set tthe AUTO_DIAL_ATTEMPTS value. If a dial attempt under automatic emergency call initiation1674 * failed, it should be repeated maximally ECALL_AUTO_DIAL_ATTEMPTS-1 times within the maximal time1676 * Redial attempts stop once the call has been cleared down correctly, or if counter/timer reached1683 //--------------------------------------------------------------------------------------------------1690 //--------------------------------------------------------------------------------------------------1692 * Set the ECALL_DIAL_DURATION time. It's the maximum time the IVS have to connect the emergency1701 //--------------------------------------------------------------------------------------------------1708 //--------------------------------------------------------------------------------------------------1716 //--------------------------------------------------------------------------------------------------1723 //--------------------------------------------------------------------------------------------------1731 //--------------------------------------------------------------------------------------------------1738 //--------------------------------------------------------------------------------------------------1746 //--------------------------------------------------------------------------------------------------1753 //--------------------------------------------------------------------------------------------------1762 //--------------------------------------------------------------------------------------------------1772 //--------------------------------------------------------------------------------------------------1774 * Reset the ERA-GLONASS crash severity parameter. Therefore that optional parameter is not included1782 //--------------------------------------------------------------------------------------------------1789 //--------------------------------------------------------------------------------------------------1798 //--------------------------------------------------------------------------------------------------1808 //--------------------------------------------------------------------------------------------------1818 //--------------------------------------------------------------------------------------------------1825 //--------------------------------------------------------------------------------------------------1834 //--------------------------------------------------------------------------------------------------1844 //--------------------------------------------------------------------------------------------------1854 //--------------------------------------------------------------------------------------------------1861 //--------------------------------------------------------------------------------------------------1870 //--------------------------------------------------------------------------------------------------1877 //--------------------------------------------------------------------------------------------------1886 //--------------------------------------------------------------------------------------------------AL-ACK clear-down received.Definition: le_ecall_interface.h:562Present Left collision indicator.Definition: le_ecall_interface.h:854void le_ecall_RemoveStateChangeHandler(le_ecall_StateChangeHandlerRef_t addHandlerRef)int32_t le_ecall_GetPlatformSpecificTerminationCode(le_ecall_CallRef_t ecallRef)le_result_t le_ecall_SetMsdVersion(uint32_t msdVersion)le_result_t le_ecall_StartTest(le_ecall_CallRef_t ecallRef)le_result_t le_ecall_SetMsdPositionN2(le_ecall_CallRef_t ecallRef, int32_t latitudeDeltaN2, int32_t longitudeDeltaN2)Persistent eCall only mode.Definition: le_ecall_interface.h:497Timeout for Timer T5 (see CEN-EN 16062, annex A)Definition: le_ecall_interface.h:589Present Battery failure.Definition: le_ecall_interface.h:759Definition: le_ecall_interface.h:572le_result_t le_ecall_ForceOnlyMode(void)Present Right speaker failure.Definition: le_ecall_interface.h:723le_result_t le_ecall_SendMsd(le_ecall_CallRef_t ecallRef)le_result_t le_ecall_ResetMsdEraGlonassCrashSeverity(le_ecall_CallRef_t ecallRef)le_result_t le_ecall_SetEraGlonassDialDuration(uint16_t duration)le_result_t le_ecall_GetMsdVersion(uint32_t *msdVersionPtr)Present Comm module interface failure.Definition: le_ecall_interface.h:783Present Other critical failures.Definition: le_ecall_interface.h:825le_result_t le_ecall_SetMsdEraGlonassDiagnosticResult(le_ecall_CallRef_t ecallRef, le_ecall_DiagnosticResultBitMask_t diagnosticResultMask)Definition: le_ecall_interface.h:493Present Battery voltage low failure.Definition: le_ecall_interface.h:765le_result_t le_ecall_SetMsdEraGlonassCrashSeverity(le_ecall_CallRef_t ecallRef, uint32_t crashSeverity)le_result_t le_ecall_ForcePersistentOnlyMode(void)le_result_t le_ecall_ImportMsd(le_ecall_CallRef_t ecallRef, const uint8_t *msdPtr, size_t msdNumElements)Front or side collision indicator.Definition: le_ecall_interface.h:887le_result_t le_ecall_SetMsdTxMode(le_ecall_MsdTxMode_t mode)void le_ecall_ConnectService(void)Timeout for Timer T10 (see CEN-EN 16062, annex A)Definition: le_ecall_interface.h:601Firmware image corruption failure status.Definition: le_ecall_interface.h:780Present Side collision indicator.Definition: le_ecall_interface.h:878Present Mic connection failure.Definition: le_ecall_interface.h:711Right speaker failure status.Definition: le_ecall_interface.h:726Present Right collision indicator.Definition: le_ecall_interface.h:860Other critical failures status.Definition: le_ecall_interface.h:828Crash profile memory overflow status.Definition: le_ecall_interface.h:822le_result_t le_ecall_GetMsdTxMode(le_ecall_MsdTxMode_t *modePtr)le_result_t le_ecall_GetVehicleType(le_ecall_MsdVehicleType_t *vehicleTypePtr)Present Crash profile memory overflow.Definition: le_ecall_interface.h:819Present Front or side collision indicator.Definition: le_ecall_interface.h:884le_result_t le_ecall_ResetMsdEraGlonassCrashInfo(le_ecall_CallRef_t ecallRef)Left speaker failure status.Definition: le_ecall_interface.h:732le_result_t le_ecall_SetVIN(const char *vin)Present Other not critical failures.Definition: le_ecall_interface.h:831Ignition line failure status.Definition: le_ecall_interface.h:744void(* le_ecall_StateChangeHandlerFunc_t)(le_ecall_CallRef_t ecallRef, le_ecall_State_t state, void *contextPtr)Definition: le_ecall_interface.h:920Pull mode (modem/host waits for MSD request from PSAP to send MSD).Definition: le_ecall_interface.h:614struct le_ecall_StateChangeHandler * le_ecall_StateChangeHandlerRef_tDefinition: le_ecall_interface.h:904le_result_t le_ecall_GetConfiguredOperationMode(le_ecall_OpMode_t *opModePtr)le_result_t le_ecall_ExportMsd(le_ecall_CallRef_t ecallRef, uint8_t *msdPtr, size_t *msdNumElementsPtr)GNSS antenna failure status.Definition: le_ecall_interface.h:804le_result_t le_ecall_SetNadDeregistrationTime(uint16_t deregTime)Present GNSS receiver failure.Definition: le_ecall_interface.h:789le_result_t le_ecall_GetPsapNumber(char *psap, size_t psapNumElements)void le_ecall_DisconnectService(void)Push mode (modem/host sends MSD to PSAP right after eCall is connected).Definition: le_ecall_interface.h:617le_result_t le_ecall_SetEraGlonassAutoDialAttempts(uint16_t attempts)Other types of damage indicator.Definition: le_ecall_interface.h:893le_result_t le_ecall_SetEraGlonassManualDialAttempts(uint16_t attempts)Timeout for Timer T6 (see CEN-EN 16062, annex A)Definition: le_ecall_interface.h:592PSAP start indication received.Definition: le_ecall_interface.h:541Light commercial vehicles (Class N1)Definition: le_ecall_interface.h:639le_mcc_TerminationReason_t le_ecall_GetTerminationReason(le_ecall_CallRef_t ecallRef)le_ecall_DiagnosticResultBitMask_tDefinition: le_ecall_interface.h:709Present Front collision indicator.Definition: le_ecall_interface.h:848Other not critical failures status.Definition: le_ecall_interface.h:834le_result_t le_ecall_SetMsdPassengersCount(le_ecall_CallRef_t ecallRef, uint32_t paxCount)Timeout for Timer T3 (see CEN-EN 16062, annex A)Definition: le_ecall_interface.h:586Present Other types of damage indicator.Definition: le_ecall_interface.h:890le_ecall_State_t le_ecall_GetState(le_ecall_CallRef_t ecallRef)le_result_t le_ecall_GetVIN(char *vin, size_t vinNumElements)Waiting for PSAP start indication.Definition: le_ecall_interface.h:538le_result_t le_ecall_End(le_ecall_CallRef_t ecallRef)le_result_t le_ecall_StartManual(le_ecall_CallRef_t ecallRef)le_result_t le_ecall_ResetMsdEraGlonassDiagnosticResult(le_ecall_CallRef_t ecallRef)le_result_t le_ecall_GetSystemStandard(le_ecall_SystemStandard_t *systemStandardPtr)Timeout for Timer T7 (see CEN-EN 16062, annex A)Definition: le_ecall_interface.h:595Comm module failure status.Definition: le_ecall_interface.h:810le_result_t le_ecall_SetMsdEraGlonassCrashInfo(le_ecall_CallRef_t ecallRef, le_ecall_CrashInfoBitMask_t crashInfoMask)Events memory overflow status.Definition: le_ecall_interface.h:816Timeout for Timer T2 (see CEN-EN 16062, annex A)Definition: le_ecall_interface.h:583Present GNSS antenna failure.Definition: le_ecall_interface.h:801le_result_t le_ecall_SetMsdPosition(le_ecall_CallRef_t ecallRef, bool isTrusted, int32_t latitude, int32_t longitude, int32_t direction)le_result_t le_ecall_SetVehicleType(le_ecall_MsdVehicleType_t vehicleType)Present Rollover indicator.Definition: le_ecall_interface.h:872le_ecall_CallRef_t le_ecall_Create(void)Status indicator failure status.Definition: le_ecall_interface.h:756Present Left speaker failure.Definition: le_ecall_interface.h:729le_result_t le_ecall_UseUSimNumbers(void)le_result_t le_ecall_SetPsapNumber(const char *psap)le_result_t le_ecall_GetEraGlonassManualDialAttempts(uint16_t *attemptsPtr)Present Status indicator failure.Definition: le_ecall_interface.h:753le_result_t le_ecall_GetNadDeregistrationTime(uint16_t *deregTimePtr)le_result_t le_ecall_GetEraGlonassAutoDialAttempts(uint16_t *attemptsPtr)le_result_t le_ecall_ExitOnlyMode(void)le_result_t le_ecall_SetMsdPositionN1(le_ecall_CallRef_t ecallRef, int32_t latitudeDeltaN1, int32_t longitudeDeltaN1)le_result_t le_ecall_GetPropulsionType(le_ecall_PropulsionTypeBitMask_t *propulsionTypePtr)Present Crash sensor failure.Definition: le_ecall_interface.h:771le_result_t le_ecall_GetEraGlonassDialDuration(uint16_t *durationPtr)Present Speaker failure.Definition: le_ecall_interface.h:735Battery voltage low failure status.Definition: le_ecall_interface.h:768le_result_t le_ecall_SetIntervalBetweenDialAttempts(uint16_t pause)Definition: le_ecall_interface.h:565Present Events memory overflow.Definition: le_ecall_interface.h:813Compressed natural gas propulsion.Definition: le_ecall_interface.h:685le_result_t le_ecall_StartAutomatic(le_ecall_CallRef_t ecallRef)Comm module interface failure status.Definition: le_ecall_interface.h:786GNSS receiver failure status.Definition: le_ecall_interface.h:792eCall session has lost synchronization and starts over.Definition: le_ecall_interface.h:569Present Comm module failure.Definition: le_ecall_interface.h:807Timeout for Timer T9 (see CEN-EN 16062, annex A)Definition: le_ecall_interface.h:598Mic connection failure status.Definition: le_ecall_interface.h:714le_result_t le_ecall_TryConnectService(void)le_ecall_StateChangeHandlerRef_t le_ecall_AddStateChangeHandler(le_ecall_StateChangeHandlerFunc_t handlerPtr, void *contextPtr)Present Firmware image corruption failure.Definition: le_ecall_interface.h:777void le_ecall_Delete(le_ecall_CallRef_t ecallRef)le_result_t le_ecall_SetSystemStandard(le_ecall_SystemStandard_t systemStandard)Present Ignition line failure.Definition: le_ecall_interface.h:741le_result_t le_ecall_SetPropulsionType(le_ecall_PropulsionTypeBitMask_t propulsionType)le_ecall_PropulsionTypeBitMask_tDefinition: le_ecall_interface.h:677le_result_t le_ecall_GetIntervalBetweenDialAttempts(uint16_t *pausePtr)Crash sensor failure status.Definition: le_ecall_interface.h:774