le_ecall API Reference

Files

file  le_ecall_common.h
 
file  le_ecall_interface.h
 

Macros

#define LE_ECALL_MSD_MAX_LEN   140
 
#define LE_ECALL_VIN_MAX_LEN   17
 
#define LE_ECALL_VIN_MAX_BYTES   18
 
#define LE_ECALL_PROPULSION_TYPE_GASOLINE   0x1
 
#define LE_ECALL_PROPULSION_TYPE_DIESEL   0x2
 
#define LE_ECALL_PROPULSION_TYPE_NATURALGAS   0x4
 
#define LE_ECALL_PROPULSION_TYPE_PROPANE   0x8
 
#define LE_ECALL_PROPULSION_TYPE_ELECTRIC   0x10
 
#define LE_ECALL_PROPULSION_TYPE_HYDROGEN   0x20
 
#define LE_ECALL_PROPULSION_TYPE_OTHER   0x40
 
#define LE_ECALL_DIAG_RESULT_PRESENT_MIC_CONNECTION_FAILURE   0x1
 
#define LE_ECALL_DIAG_RESULT_MIC_CONNECTION_FAILURE   0x2
 
#define LE_ECALL_DIAG_RESULT_PRESENT_MIC_FAILURE   0x4
 
#define LE_ECALL_DIAG_RESULT_MIC_FAILURE   0x8
 
#define LE_ECALL_DIAG_RESULT_PRESENT_RIGHT_SPEAKER_FAILURE   0x10
 
#define LE_ECALL_DIAG_RESULT_RIGHT_SPEAKER_FAILURE   0x20
 
#define LE_ECALL_DIAG_RESULT_PRESENT_LEFT_SPEAKER_FAILURE   0x40
 
#define LE_ECALL_DIAG_RESULT_LEFT_SPEAKER_FAILURE   0x80
 
#define LE_ECALL_DIAG_RESULT_PRESENT_SPEAKERS_FAILURE   0x100
 
#define LE_ECALL_DIAG_RESULT_SPEAKERS_FAILURE   0x200
 
#define LE_ECALL_DIAG_RESULT_PRESENT_IGNITION_LINE_FAILURE   0x400
 
#define LE_ECALL_DIAG_RESULT_IGNITION_LINE_FAILURE   0x800
 
#define LE_ECALL_DIAG_RESULT_PRESENT_UIM_FAILURE   0x1000
 
#define LE_ECALL_DIAG_RESULT_UIM_FAILURE   0x2000
 
#define LE_ECALL_DIAG_RESULT_PRESENT_STATUS_INDICATOR_FAILURE   0x4000
 
#define LE_ECALL_DIAG_RESULT_STATUS_INDICATOR_FAILURE   0x8000
 
#define LE_ECALL_DIAG_RESULT_PRESENT_BATTERY_FAILURE   0x10000
 
#define LE_ECALL_DIAG_RESULT_BATTERY_FAILURE   0x20000
 
#define LE_ECALL_DIAG_RESULT_PRESENT_BATTERY_VOLTAGE_LOW   0x40000
 
#define LE_ECALL_DIAG_RESULT_BATTERY_VOLTAGE_LOW   0x80000
 
#define LE_ECALL_DIAG_RESULT_PRESENT_CRASH_SENSOR_FAILURE   0x100000
 
#define LE_ECALL_DIAG_RESULT_CRASH_SENSOR_FAILURE   0x200000
 
#define LE_ECALL_DIAG_RESULT_PRESENT_FIRMWARE_IMAGE_CORRUPTION   0x400000
 
#define LE_ECALL_DIAG_RESULT_FIRMWARE_IMAGE_CORRUPTION   0x800000
 
#define LE_ECALL_DIAG_RESULT_PRESENT_COMM_MODULE_INTERFACE_FAILURE   0x1000000
 
#define LE_ECALL_DIAG_RESULT_COMM_MODULE_INTERFACE_FAILURE   0x2000000
 
#define LE_ECALL_DIAG_RESULT_PRESENT_GNSS_RECEIVER_FAILURE   0x4000000
 
#define LE_ECALL_DIAG_RESULT_GNSS_RECEIVER_FAILURE   0x8000000
 
#define LE_ECALL_DIAG_RESULT_PRESENT_RAIM_PROBLEM   0x10000000
 
#define LE_ECALL_DIAG_RESULT_RAIM_PROBLEM   0x20000000
 
#define LE_ECALL_DIAG_RESULT_PRESENT_GNSS_ANTENNA_FAILURE   0x40000000
 
#define LE_ECALL_DIAG_RESULT_GNSS_ANTENNA_FAILURE   0x80000000
 
#define LE_ECALL_DIAG_RESULT_PRESENT_COMM_MODULE_FAILURE   0x100000000
 
#define LE_ECALL_DIAG_RESULT_COMM_MODULE_FAILURE   0x200000000
 
#define LE_ECALL_DIAG_RESULT_PRESENT_EVENTS_MEMORY_OVERFLOW   0x400000000
 
#define LE_ECALL_DIAG_RESULT_EVENTS_MEMORY_OVERFLOW   0x800000000
 
#define LE_ECALL_DIAG_RESULT_PRESENT_CRASH_PROFILE_MEMORY_OVERFLOW   0x1000000000
 
#define LE_ECALL_DIAG_RESULT_CRASH_PROFILE_MEMORY_OVERFLOW   0x2000000000
 
#define LE_ECALL_DIAG_RESULT_PRESENT_OTHER_CRITICAL_FAILURES   0x4000000000
 
#define LE_ECALL_DIAG_RESULT_OTHER_CRITICAL_FAILURES   0x8000000000
 
#define LE_ECALL_DIAG_RESULT_PRESENT_OTHER_NOT_CRITICAL_FAILURES   0x10000000000
 
#define LE_ECALL_DIAG_RESULT_OTHER_NOT_CRITICAL_FAILURES   0x20000000000
 
#define LE_ECALL_CRASH_INFO_PRESENT_CRASH_FRONT   0x1
 
#define LE_ECALL_CRASH_INFO_CRASH_FRONT   0x2
 
#define LE_ECALL_CRASH_INFO_PRESENT_CRASH_LEFT   0x4
 
#define LE_ECALL_CRASH_INFO_CRASH_LEFT   0x8
 
#define LE_ECALL_CRASH_INFO_PRESENT_CRASH_RIGHT   0x10
 
#define LE_ECALL_CRASH_INFO_CRASH_RIGHT   0x20
 
#define LE_ECALL_CRASH_INFO_PRESENT_CRASH_REAR   0x40
 
#define LE_ECALL_CRASH_INFO_CRASH_REAR   0x80
 
#define LE_ECALL_CRASH_INFO_PRESENT_CRASH_ROLLOVER   0x100
 
#define LE_ECALL_CRASH_INFO_CRASH_ROLLOVER   0x200
 
#define LE_ECALL_CRASH_INFO_PRESENT_CRASH_SIDE   0x400
 
#define LE_ECALL_CRASH_INFO_CRASH_SIDE   0x800
 
#define LE_ECALL_CRASH_INFO_PRESENT_CRASH_FRONT_OR_SIDE   0x1000
 
#define LE_ECALL_CRASH_INFO_CRASH_FRONT_OR_SIDE   0x2000
 
#define LE_ECALL_CRASH_INFO_PRESENT_CRASH_ANOTHER_TYPE   0x4000
 
#define LE_ECALL_CRASH_INFO_CRASH_ANOTHER_TYPE   0x8000
 

Typedefs

typedef struct le_ecall_Call * le_ecall_CallRef_t
 
typedef uint32_t le_ecall_PropulsionTypeBitMask_t
 
typedef uint64_t le_ecall_DiagnosticResultBitMask_t
 
typedef uint32_t le_ecall_CrashInfoBitMask_t
 
typedef struct le_ecall_StateChangeHandler * le_ecall_StateChangeHandlerRef_t
 
typedef void(* le_ecall_StateChangeHandlerFunc_t) (le_ecall_CallRef_t ecallRef, le_ecall_State_t state, void *contextPtr)
 
typedef void(* le_ecall_DisconnectHandler_t) (void *)
 

Enumerations

enum  le_ecall_OpMode_t { LE_ECALL_NORMAL_MODE = 0, LE_ECALL_ONLY_MODE = 1, LE_ECALL_FORCED_PERSISTENT_ONLY_MODE = 2 }
 
enum  le_ecall_SystemStandard_t { LE_ECALL_PAN_EUROPEAN = 0, LE_ECALL_ERA_GLONASS = 1 }
 
enum  le_ecall_State_t {
  LE_ECALL_STATE_UNKNOWN = 0, LE_ECALL_STATE_STARTED = 1, LE_ECALL_STATE_CONNECTED = 2, LE_ECALL_STATE_DISCONNECTED = 3,
  LE_ECALL_STATE_WAITING_PSAP_START_IND = 4, LE_ECALL_STATE_PSAP_START_IND_RECEIVED = 5, LE_ECALL_STATE_MSD_TX_STARTED = 6, LE_ECALL_STATE_LLNACK_RECEIVED = 7,
  LE_ECALL_STATE_LLACK_RECEIVED = 8, LE_ECALL_STATE_MSD_TX_COMPLETED = 9, LE_ECALL_STATE_MSD_TX_FAILED = 10, LE_ECALL_STATE_ALACK_RECEIVED_POSITIVE = 11,
  LE_ECALL_STATE_ALACK_RECEIVED_CLEAR_DOWN = 12, LE_ECALL_STATE_STOPPED = 13, LE_ECALL_STATE_RESET = 14, LE_ECALL_STATE_COMPLETED = 15,
  LE_ECALL_STATE_FAILED = 16, LE_ECALL_STATE_END_OF_REDIAL_PERIOD = 17, LE_ECALL_STATE_TIMEOUT_T2 = 18, LE_ECALL_STATE_TIMEOUT_T3 = 19,
  LE_ECALL_STATE_TIMEOUT_T5 = 20, LE_ECALL_STATE_TIMEOUT_T6 = 21, LE_ECALL_STATE_TIMEOUT_T7 = 22, LE_ECALL_STATE_TIMEOUT_T9 = 23,
  LE_ECALL_STATE_TIMEOUT_T10 = 24
}
 
enum  le_ecall_MsdTxMode_t { LE_ECALL_TX_MODE_PULL = 0, LE_ECALL_TX_MODE_PUSH = 1 }
 
enum  le_ecall_MsdVehicleType_t {
  LE_ECALL_MSD_VEHICLE_PASSENGER_M1 = 0, LE_ECALL_MSD_VEHICLE_BUS_M2 = 1, LE_ECALL_MSD_VEHICLE_BUS_M3 = 2, LE_ECALL_MSD_VEHICLE_COMMERCIAL_N1 = 3,
  LE_ECALL_MSD_VEHICLE_HEAVY_N2 = 4, LE_ECALL_MSD_VEHICLE_HEAVY_N3 = 5, LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L1E = 6, LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L2E = 7,
  LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L3E = 8, LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L4E = 9, LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L5E = 10, LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L6E = 11,
  LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L7E = 12
}
 
enum  le_ecall_MsdCoordinateType_t { LE_ECALL_MSD_COORDINATE_SYSTEM_TYPE_ABSENT = 0, LE_ECALL_MSD_COORDINATE_SYSTEM_TYPE_WGS84 = 1, LE_ECALL_MSD_COORDINATE_SYSTEM_TYPE_PZ90 = 2 }
 

Functions

void le_ecall_ConnectService (void)
 
le_result_t le_ecall_TryConnectService (void)
 
LE_FULL_API void le_ecall_SetServerDisconnectHandler (le_ecall_DisconnectHandler_t disconnectHandler, void *contextPtr)
 
void le_ecall_DisconnectService (void)
 
le_result_t le_ecall_ForceOnlyMode (void)
 
le_result_t le_ecall_ForcePersistentOnlyMode (void)
 
le_result_t le_ecall_ExitOnlyMode (void)
 
le_result_t le_ecall_GetConfiguredOperationMode (le_ecall_OpMode_t *opModePtr)
 
le_ecall_StateChangeHandlerRef_t le_ecall_AddStateChangeHandler (le_ecall_StateChangeHandlerFunc_t handlerPtr, void *contextPtr)
 
void le_ecall_RemoveStateChangeHandler (le_ecall_StateChangeHandlerRef_t handlerRef)
 
le_ecall_CallRef_t le_ecall_Create (void)
 
void le_ecall_Delete (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_SetSystemStandard (le_ecall_SystemStandard_t systemStandard)
 
le_result_t le_ecall_GetSystemStandard (le_ecall_SystemStandard_t *systemStandardPtr)
 
le_result_t le_ecall_SetMsdVersion (uint32_t msdVersion)
 
le_result_t le_ecall_GetMsdVersion (uint32_t *msdVersionPtr)
 
le_result_t le_ecall_SetVehicleType (le_ecall_MsdVehicleType_t vehicleType)
 
le_result_t le_ecall_GetVehicleType (le_ecall_MsdVehicleType_t *vehicleTypePtr)
 
le_result_t le_ecall_SetVIN (const char *LE_NONNULL vin)
 
le_result_t le_ecall_GetVIN (char *vin, size_t vinSize)
 
le_result_t le_ecall_SetPropulsionType (le_ecall_PropulsionTypeBitMask_t propulsionType)
 
le_result_t le_ecall_GetPropulsionType (le_ecall_PropulsionTypeBitMask_t *propulsionTypePtr)
 
le_result_t le_ecall_SetMsdTxMode (le_ecall_MsdTxMode_t mode)
 
le_result_t le_ecall_GetMsdTxMode (le_ecall_MsdTxMode_t *modePtr)
 
le_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_SetMsdPositionN1 (le_ecall_CallRef_t ecallRef, int32_t latitudeDeltaN1, int32_t longitudeDeltaN1)
 
le_result_t le_ecall_SetMsdPositionN2 (le_ecall_CallRef_t ecallRef, int32_t latitudeDeltaN2, int32_t longitudeDeltaN2)
 
le_result_t le_ecall_SetMsdPassengersCount (le_ecall_CallRef_t ecallRef, uint32_t paxCount)
 
le_result_t le_ecall_SetPanInitialDialDuration (uint16_t duration)
 
le_result_t le_ecall_GetPanInitialDialDuration (uint16_t *durationPtr)
 
le_result_t le_ecall_ImportMsd (le_ecall_CallRef_t ecallRef, const uint8_t *msdPtr, size_t msdSize)
 
le_result_t le_ecall_ExportMsd (le_ecall_CallRef_t ecallRef, uint8_t *msdPtr, size_t *msdSizePtr)
 
le_result_t le_ecall_SendMsd (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_StartAutomatic (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_StartManual (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_StartTest (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_End (le_ecall_CallRef_t ecallRef)
 
le_ecall_State_t le_ecall_GetState (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_SetPsapNumber (const char *LE_NONNULL psap)
 
le_result_t le_ecall_GetPsapNumber (char *psap, size_t psapSize)
 
le_result_t le_ecall_UseUSimNumbers (void)
 
le_result_t le_ecall_SetNadDeregistrationTime (uint16_t deregTime)
 
le_result_t le_ecall_GetNadDeregistrationTime (uint16_t *deregTimePtr)
 
le_result_t le_ecall_SetIntervalBetweenDialAttempts (uint16_t pause)
 
le_result_t le_ecall_GetIntervalBetweenDialAttempts (uint16_t *pausePtr)
 
le_result_t le_ecall_SetEraGlonassManualDialAttempts (uint16_t attempts)
 
le_result_t le_ecall_SetEraGlonassAutoDialAttempts (uint16_t attempts)
 
le_result_t le_ecall_SetEraGlonassDialDuration (uint16_t duration)
 
le_result_t le_ecall_SetEraGlonassFallbackTime (uint16_t duration)
 
le_result_t le_ecall_SetEraGlonassAutoAnswerTime (uint16_t autoAnswerTime)
 
le_result_t le_ecall_SetEraGlonassMSDMaxTransmissionTime (uint16_t msdMaxTransTime)
 
le_result_t le_ecall_SetEraGlonassPostTestRegistrationTime (uint16_t postTestRegTime)
 
le_result_t le_ecall_GetEraGlonassManualDialAttempts (uint16_t *attemptsPtr)
 
le_result_t le_ecall_GetEraGlonassAutoDialAttempts (uint16_t *attemptsPtr)
 
le_result_t le_ecall_GetEraGlonassDialDuration (uint16_t *durationPtr)
 
le_result_t le_ecall_GetEraGlonassFallbackTime (uint16_t *durationPtr)
 
le_result_t le_ecall_GetEraGlonassAutoAnswerTime (uint16_t *autoAnswerTimePtr)
 
le_result_t le_ecall_GetEraGlonassMSDMaxTransmissionTime (uint16_t *msdMaxTransTimePtr)
 
le_result_t le_ecall_GetEraGlonassPostTestRegistrationTime (uint16_t *postTestRegTimePtr)
 
le_result_t le_ecall_SetMsdEraGlonassCrashSeverity (le_ecall_CallRef_t ecallRef, uint32_t crashSeverity)
 
le_result_t le_ecall_ResetMsdEraGlonassCrashSeverity (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_SetMsdEraGlonassDiagnosticResult (le_ecall_CallRef_t ecallRef, le_ecall_DiagnosticResultBitMask_t diagnosticResultMask)
 
le_result_t le_ecall_ResetMsdEraGlonassDiagnosticResult (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_SetMsdEraGlonassCrashInfo (le_ecall_CallRef_t ecallRef, le_ecall_CrashInfoBitMask_t crashInfoMask)
 
le_result_t le_ecall_ResetMsdEraGlonassCrashInfo (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_SetMsdEraGlonassCoordinateSystemType (le_ecall_CallRef_t ecallRef, le_ecall_MsdCoordinateType_t coordinateSystemType)
 
le_result_t le_ecall_ResetMsdEraGlonassCoordinateSystemType (le_ecall_CallRef_t ecallRef)
 
le_mcc_TerminationReason_t le_ecall_GetTerminationReason (le_ecall_CallRef_t ecallRef)
 
int32_t le_ecall_GetPlatformSpecificTerminationCode (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_TerminateRegistration (void)
 

Detailed Description

Macro Definition Documentation

◆ LE_ECALL_CRASH_INFO_PRESENT_CRASH_FRONT

#define LE_ECALL_CRASH_INFO_PRESENT_CRASH_FRONT   0x1

Crash information Bit Mask (16 bits) indicating the type of road accident.

◆ LE_ECALL_DIAG_RESULT_PRESENT_MIC_CONNECTION_FAILURE

#define LE_ECALL_DIAG_RESULT_PRESENT_MIC_CONNECTION_FAILURE   0x1

Diagnostic result Bit Mask (64 bits)

◆ LE_ECALL_MSD_MAX_LEN

#define LE_ECALL_MSD_MAX_LEN   140

MSD message length in bytes.

◆ LE_ECALL_PROPULSION_TYPE_GASOLINE

#define LE_ECALL_PROPULSION_TYPE_GASOLINE   0x1

Propulsion type Bit Mask

◆ LE_ECALL_VIN_MAX_BYTES

#define LE_ECALL_VIN_MAX_BYTES   18

Vehicle Identification Number (VIN) string BYTES. One extra byte is added for the null character.

◆ LE_ECALL_VIN_MAX_LEN

#define LE_ECALL_VIN_MAX_LEN   17

Vehicle Identification Number (VIN) string LENGTH. (without nulltermination)

Typedef Documentation

◆ le_ecall_CallRef_t

typedef struct le_ecall_Call* le_ecall_CallRef_t

Reference returned by Create function and used by other functions

◆ le_ecall_DisconnectHandler_t

typedef void(* le_ecall_DisconnectHandler_t) (void *)

Type for handler called when a server disconnects.

◆ le_ecall_StateChangeHandlerFunc_t

typedef void(* le_ecall_StateChangeHandlerFunc_t) (le_ecall_CallRef_t ecallRef, le_ecall_State_t state, void *contextPtr)

Handler for eCall state changes.

◆ le_ecall_StateChangeHandlerRef_t

typedef struct le_ecall_StateChangeHandler* le_ecall_StateChangeHandlerRef_t

Reference type used by Add/Remove functions for EVENT 'le_ecall_StateChange'

Enumeration Type Documentation

◆ le_ecall_MsdCoordinateType_t

eCall MSD coordinate system type

Enumerator
LE_ECALL_MSD_COORDINATE_SYSTEM_TYPE_ABSENT 

Coordinate system type is absent.

LE_ECALL_MSD_COORDINATE_SYSTEM_TYPE_WGS84 

Coordinate system type WGS-84.

LE_ECALL_MSD_COORDINATE_SYSTEM_TYPE_PZ90 

Coordinate system type PZ-90.

◆ le_ecall_MsdTxMode_t

eCall MSD transmission mode.

Enumerator
LE_ECALL_TX_MODE_PULL 

Pull mode (modem/host waits for MSD request from PSAP to send MSD).

LE_ECALL_TX_MODE_PUSH 

Push mode (modem/host sends MSD to PSAP right after eCall is connected).

◆ le_ecall_MsdVehicleType_t

eCall MSD vehicle type

Enumerator
LE_ECALL_MSD_VEHICLE_PASSENGER_M1 

Passenger vehicle (Class M1)

LE_ECALL_MSD_VEHICLE_BUS_M2 

Buses and coaches (Class M2)

LE_ECALL_MSD_VEHICLE_BUS_M3 

Buses and coaches (Class M3)

LE_ECALL_MSD_VEHICLE_COMMERCIAL_N1 

Light commercial vehicles (Class N1)

LE_ECALL_MSD_VEHICLE_HEAVY_N2 

Heavy duty vehicles (Class N2)

LE_ECALL_MSD_VEHICLE_HEAVY_N3 

Heavy duty vehicles (Class N3)

LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L1E 

Motorcycles (Class L1e)

LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L2E 

Motorcycles (Class L2e)

LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L3E 

Motorcycles (Class L3e)

LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L4E 

Motorcycles (Class L4e)

LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L5E 

Motorcycles (Class L5e)

LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L6E 

Motorcycles (Class L6e)

LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L7E 

Motorcycles (Class L7e)

◆ le_ecall_OpMode_t

Configured operation modes.

Enumerator
LE_ECALL_NORMAL_MODE 

Normal mode.

LE_ECALL_ONLY_MODE 

eCall only mode according to U/SIM operation mode or forced by application through the le_ecall_ForceOnlyMode() function.

LE_ECALL_FORCED_PERSISTENT_ONLY_MODE 

Persistent eCall only mode.

◆ le_ecall_State_t

eCall session states.

Enumerator
LE_ECALL_STATE_UNKNOWN 

Unknown state.

LE_ECALL_STATE_STARTED 

eCall session started.

LE_ECALL_STATE_CONNECTED 

Emergency call is established.

LE_ECALL_STATE_DISCONNECTED 

Emergency call is disconnected.

LE_ECALL_STATE_WAITING_PSAP_START_IND 

Waiting for PSAP start indication.

LE_ECALL_STATE_PSAP_START_IND_RECEIVED 

PSAP start indication received.

LE_ECALL_STATE_MSD_TX_STARTED 

MSD transmission is started.

LE_ECALL_STATE_LLNACK_RECEIVED 

LL-NACK received.

LE_ECALL_STATE_LLACK_RECEIVED 

LL-ACK received.

LE_ECALL_STATE_MSD_TX_COMPLETED 

MSD transmission is complete.

LE_ECALL_STATE_MSD_TX_FAILED 

MSD transmission has failed.

LE_ECALL_STATE_ALACK_RECEIVED_POSITIVE 

AL-ACK received.

LE_ECALL_STATE_ALACK_RECEIVED_CLEAR_DOWN 

AL-ACK clear-down received.

LE_ECALL_STATE_STOPPED 

Auto answer timer has expired after eCall session stopped by PSAP, or le_ecall_End() has been called by IVS.

LE_ECALL_STATE_RESET 

eCall session has lost synchronization and starts over.

LE_ECALL_STATE_COMPLETED 

eCall session completed. The modem successfully completed the MSD transmission and received two AL-ACKs (positive). Can now switch to voice path.

LE_ECALL_STATE_FAILED 

Unsuccessful eCall session.

LE_ECALL_STATE_END_OF_REDIAL_PERIOD 

End of the redial period.

LE_ECALL_STATE_TIMEOUT_T2 

Timeout for Timer T2 (see CEN-EN 16062, annex A)

LE_ECALL_STATE_TIMEOUT_T3 

Timeout for Timer T3 (see CEN-EN 16062, annex A)

LE_ECALL_STATE_TIMEOUT_T5 

Timeout for Timer T5 (see CEN-EN 16062, annex A)

LE_ECALL_STATE_TIMEOUT_T6 

Timeout for Timer T6 (see CEN-EN 16062, annex A)

LE_ECALL_STATE_TIMEOUT_T7 

Timeout for Timer T7 (see CEN-EN 16062, annex A)

LE_ECALL_STATE_TIMEOUT_T9 

Timeout for Timer T9 (see CEN-EN 16062, annex A)

LE_ECALL_STATE_TIMEOUT_T10 

Timeout for Timer T10 (see CEN-EN 16062, annex A)

◆ le_ecall_SystemStandard_t

Configure which standard to follow for the eCall, either PAN European eCall or ERA GLONASS.

Enumerator
LE_ECALL_PAN_EUROPEAN 

PAN-EUROPEAN standard.

LE_ECALL_ERA_GLONASS 

ERA GLONASS standard.

Function Documentation

◆ le_ecall_AddStateChangeHandler()

le_ecall_StateChangeHandlerRef_t le_ecall_AddStateChangeHandler ( le_ecall_StateChangeHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'le_ecall_StateChange'

This event provides information on eCall state changes.

Parameters
[in]handlerPtr
[in]contextPtr

◆ le_ecall_ConnectService()

void le_ecall_ConnectService ( void  )

Connect the current client thread to the service providing this API. Block until the service is available.

For each thread that wants to use this API, either ConnectService or TryConnectService must be called before any other functions in this API. Normally, ConnectService is automatically called for the main thread, but not for any other thread. For details, see Client Specific Functions.

This function is created automatically.

◆ le_ecall_Create()

le_ecall_CallRef_t le_ecall_Create ( void  )

Create a new eCall object

The eCall is not actually established at this point. It's still up to the caller to call le_ecall_Start() when ready.

Returns
  • A reference to the new Call object.
Note
On failure, the process exits; you don't have to worry about checking the returned reference for validity.

◆ le_ecall_Delete()

void le_ecall_Delete ( le_ecall_CallRef_t  ecallRef)

Call to free up a call reference.

Note
This will free the reference, but not necessarily stop an active eCall. If there are other holders of this reference the eCall will remain active.
Parameters
[in]ecallRefeCall reference

◆ le_ecall_DisconnectService()

void le_ecall_DisconnectService ( void  )

Disconnect the current client thread from the service providing this API.

Normally, this function doesn't need to be called. After this function is called, there's no longer a connection to the service, and the functions in this API can't be used. For details, see Client Specific Functions.

This function is created automatically.

◆ le_ecall_End()

le_result_t le_ecall_End ( le_ecall_CallRef_t  ecallRef)

End the current eCall session

Note
  • During an automatic eCall session, it is not possible to end the ongoing session until LE_ECALL_STATE_STOPPED event is notified.
  • For manual session, it is possible to end the ongoing session if the eCall is not connected (LE_ECALL_STATE_CONNECTED not yet received) and after LE_ECALL_STATE_STOPPED event is notified.
  • Using this API doesn't affect the NAD deregistration mechanism. However, it disables the call auto answer function if already running.
Returns
  • LE_OK on success
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
Parameters
[in]ecallRefeCall reference

◆ le_ecall_ExitOnlyMode()

le_result_t le_ecall_ExitOnlyMode ( void  )

This function exits from eCall Only mode. It configures the eCall operation mode to Normal mode, the modem uses the default operation mode at power up (or after U/SIM hotswap). The modem behaves following the U/SIM eCall operation mode; for example the U/SIM can be configured only for eCall, or a combination of eCall and commercial service provision.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform

◆ le_ecall_ExportMsd()

le_result_t le_ecall_ExportMsd ( le_ecall_CallRef_t  ecallRef,
uint8_t *  msdPtr,
size_t *  msdSizePtr 
)

Export the encoded MSD.

Returns
  • LE_OK on success
  • LE_OVERFLOW The encoded MSD length exceeds the user's buffer length.
  • LE_NOT_FOUND No encoded MSD is available.
  • LE_BAD_PARAMETER bad eCall reference.
  • LE_FAULT for other failures.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]ecallRefeCall reference
[out]msdPtrthe encoded MSD
[in,out]msdSizePtr

◆ le_ecall_ForceOnlyMode()

le_result_t le_ecall_ForceOnlyMode ( void  )

Reference returned by Create function and used by other functions Configured operation modes. Configure which standard to follow for the eCall, either PAN European eCall or ERA GLONASS. eCall session states. eCall MSD transmission mode. eCall MSD vehicle type Propulsion type Bit Mask Diagnostic result Bit Mask (64 bits) Crash information Bit Mask (16 bits) indicating the type of road accident. eCall MSD coordinate system type Handler for eCall state changes. Reference type used by Add/Remove functions for EVENT 'le_ecall_StateChange' This function configures the eCall operation mode to eCall only, only emergency number can be used to start an eCall session. The modem doesn't try to register on the Cellular network. This function forces the modem to behave as eCall only mode whatever U/SIM operation mode. The change doesn't persist over power cycles. This function can be called before making an eCall.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform

◆ le_ecall_ForcePersistentOnlyMode()

le_result_t le_ecall_ForcePersistentOnlyMode ( void  )

Same as le_ecall_ForceOnlyMode(), but the change persists over power cycles.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform

◆ le_ecall_GetConfiguredOperationMode()

le_result_t le_ecall_GetConfiguredOperationMode ( le_ecall_OpMode_t opModePtr)

Get the configured Operation mode.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[out]opModePtrOperation mode

◆ le_ecall_GetEraGlonassAutoAnswerTime()

le_result_t le_ecall_GetEraGlonassAutoAnswerTime ( uint16_t *  autoAnswerTimePtr)

Get the ECALL_AUTO_ANSWER_TIME time.

Returns
  • LE_OK on success
  • LE_FAULT on execution failure
Parameters
[out]autoAnswerTimePtrThe ECALL_AUTO_ANSWER_TIME time value (in minutes)

◆ le_ecall_GetEraGlonassAutoDialAttempts()

le_result_t le_ecall_GetEraGlonassAutoDialAttempts ( uint16_t *  attemptsPtr)

Get the ECALL_AUTO_DIAL_ATTEMPTS value.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[out]attemptsPtrthe ECALL_AUTO_DIAL_ATTEMPTS value

◆ le_ecall_GetEraGlonassDialDuration()

le_result_t le_ecall_GetEraGlonassDialDuration ( uint16_t *  durationPtr)

Get the ECALL_DIAL_DURATION time.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[out]durationPtrthe ECALL_DIAL_DURATION time value (in seconds)

◆ le_ecall_GetEraGlonassFallbackTime()

le_result_t le_ecall_GetEraGlonassFallbackTime ( uint16_t *  durationPtr)

Get the ECALL_CCFT time.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[out]durationPtrthe ECALL_CCFT time value (in minutes)

◆ le_ecall_GetEraGlonassManualDialAttempts()

le_result_t le_ecall_GetEraGlonassManualDialAttempts ( uint16_t *  attemptsPtr)

Get the ECALL_MANUAL_DIAL_ATTEMPTS value.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[out]attemptsPtrthe ECALL_MANUAL_DIAL_ATTEMPTS value

◆ le_ecall_GetEraGlonassMSDMaxTransmissionTime()

le_result_t le_ecall_GetEraGlonassMSDMaxTransmissionTime ( uint16_t *  msdMaxTransTimePtr)

Get the ECALL_MSD_MAX_TRANSMISSION_TIME time.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED if the function is not supported by the target
Parameters
[out]msdMaxTransTimePtrThe ECALL_MSD_MAX_TRANSMISSION_TIME time value (in seconds)

◆ le_ecall_GetEraGlonassPostTestRegistrationTime()

le_result_t le_ecall_GetEraGlonassPostTestRegistrationTime ( uint16_t *  postTestRegTimePtr)

Get the ERA-GLONASS ECALL_POST_TEST_REGISTRATION_TIME time.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED if the function is not supported by the target
Parameters
[out]postTestRegTimePtrThe ECALL_POST_TEST_REGISTRATION_TIME time value (in seconds).

◆ le_ecall_GetIntervalBetweenDialAttempts()

le_result_t le_ecall_GetIntervalBetweenDialAttempts ( uint16_t *  pausePtr)

Get the minimum interval value between dial attempts.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
Parameters
[out]pausePtrthe minimum interval value in seconds

◆ le_ecall_GetMsdTxMode()

le_result_t le_ecall_GetMsdTxMode ( le_ecall_MsdTxMode_t modePtr)

Get the push/pull transmission mode.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[out]modePtrTransmission mode

◆ le_ecall_GetMsdVersion()

le_result_t le_ecall_GetMsdVersion ( uint32_t *  msdVersionPtr)

Get the MSD version.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
  • LE_BAD_PARAMETER parameter is NULL
Parameters
[out]msdVersionPtrMsd version

◆ le_ecall_GetNadDeregistrationTime()

le_result_t le_ecall_GetNadDeregistrationTime ( uint16_t *  deregTimePtr)

Get the NAD (network access device) deregistration time value.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[out]deregTimePtrthe NAD (network access device) deregistration time value

◆ le_ecall_GetPanInitialDialDuration()

le_result_t le_ecall_GetPanInitialDialDuration ( uint16_t *  durationPtr)

Get the ECALL_DIAL_DURATION time.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[out]durationPtrthe ECALL_DIAL_DURATION time value (in seconds)

◆ le_ecall_GetPlatformSpecificTerminationCode()

int32_t le_ecall_GetPlatformSpecificTerminationCode ( le_ecall_CallRef_t  ecallRef)

Called to get the platform specific termination code.

Returns
The platform specific termination code.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]ecallRefeCall reference.

◆ le_ecall_GetPropulsionType()

le_result_t le_ecall_GetPropulsionType ( le_ecall_PropulsionTypeBitMask_t *  propulsionTypePtr)

Get the propulsion stored. Note that a vehicle may have more than one propulsion type.

Returns
  • LE_OK on success
  • LE_NOT_FOUND if the value is not set.
  • LE_FAULT for other failures
  • LE_BAD_PARAMETER parameter is NULL
Parameters
[out]propulsionTypePtrbitmask

◆ le_ecall_GetPsapNumber()

le_result_t le_ecall_GetPsapNumber ( char *  psap,
size_t  psapSize 
)

Get the Public Safely Answering Point telephone number set with le_ecall_SetPsapNumber() function.

Note
That PSAP number is not applied to Manually or Automatically initiated eCall. For those modes, an emergency call is launched.
Warning
This function doesn't read the U/SIM content.
Returns
  • LE_OK On success
  • LE_FAULT On failures or if le_ecall_SetPsapNumber() has never been called before
  • - LE_OVERFLOW Retrieved PSAP number is too long for the out parameter
  • LE_UNSUPPORTED Not supported on this platform
Note
If the passed PSAP pointer is NULL, a fatal error is raised and the function will not return.
Parameters
[out]psapPublic Safely Answering Point telephone number
[in]psapSize

◆ le_ecall_GetState()

le_ecall_State_t le_ecall_GetState ( le_ecall_CallRef_t  ecallRef)

Get the current state for the given eCall

Returns
  • The current state for the given eCall
Note
The process exits, if an invalid eCall reference is given
Parameters
[in]ecallRefeCall reference

◆ le_ecall_GetSystemStandard()

le_result_t le_ecall_GetSystemStandard ( le_ecall_SystemStandard_t systemStandardPtr)

Get the system standard.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
  • LE_BAD_PARAMETER parameter is NULL
Parameters
[out]systemStandardPtrSystem Standard

◆ le_ecall_GetTerminationReason()

le_mcc_TerminationReason_t le_ecall_GetTerminationReason ( le_ecall_CallRef_t  ecallRef)

Called to get the termination reason.

Returns
The termination reason.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]ecallRefeCall reference.

◆ le_ecall_GetVehicleType()

le_result_t le_ecall_GetVehicleType ( le_ecall_MsdVehicleType_t vehicleTypePtr)

Get the Vehicled Type.

Returns
  • LE_OK on success
  • LE_BAD_PARAMETER parameter is NULL
  • LE_FAULT for other failures
Parameters
[out]vehicleTypePtrVehicle type

◆ le_ecall_GetVIN()

le_result_t le_ecall_GetVIN ( char *  vin,
size_t  vinSize 
)

Get the VIN (Vehicle Identification Number).

Returns
  • LE_OK on success
  • LE_NOT_FOUND if the value is not set.
  • LE_BAD_PARAMETER parameter is NULL or to small
  • LE_FAULT for other failures
Parameters
[out]vinVIN is gotten with a null termination.
[in]vinSize

◆ le_ecall_ImportMsd()

le_result_t le_ecall_ImportMsd ( le_ecall_CallRef_t  ecallRef,
const uint8_t *  msdPtr,
size_t  msdSize 
)

Import an already prepared MSD.

MSD is transmitted only after an emergency call has been established.

Returns
  • LE_OK on success
  • LE_OVERFLOW The imported MSD length exceeds the MSD_MAX_LEN maximum length.
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT for other failures
Note
On failure, the process exits; you don't have to worry about checking the returned reference for validity.
Parameters
[in]ecallRefeCall reference
[in]msdPtrthe prepared MSD
[in]msdSize

◆ le_ecall_RemoveStateChangeHandler()

void le_ecall_RemoveStateChangeHandler ( le_ecall_StateChangeHandlerRef_t  handlerRef)

Remove handler function for EVENT 'le_ecall_StateChange'

Parameters
[in]handlerRef

◆ le_ecall_ResetMsdEraGlonassCoordinateSystemType()

le_result_t le_ecall_ResetMsdEraGlonassCoordinateSystemType ( le_ecall_CallRef_t  ecallRef)

Reset the ERA-GLONASS coordinate system type. Therefore that optional parameter is not included in the MSD message.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT on other failures
Parameters
[in]ecallRefeCall reference

◆ le_ecall_ResetMsdEraGlonassCrashInfo()

le_result_t le_ecall_ResetMsdEraGlonassCrashInfo ( le_ecall_CallRef_t  ecallRef)

Reset the ERA-GLONASS crash type bit mask. Optional parameter is not included in the MSD message.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT on other failures
Parameters
[in]ecallRefeCall reference

◆ le_ecall_ResetMsdEraGlonassCrashSeverity()

le_result_t le_ecall_ResetMsdEraGlonassCrashSeverity ( le_ecall_CallRef_t  ecallRef)

Reset the ERA-GLONASS crash severity parameter. Therefore that optional parameter is not included in the MSD message.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT on other failures
Parameters
[in]ecallRefeCall reference

◆ le_ecall_ResetMsdEraGlonassDiagnosticResult()

le_result_t le_ecall_ResetMsdEraGlonassDiagnosticResult ( le_ecall_CallRef_t  ecallRef)

Reset the ERA-GLONASS diagnostic result bit mask. Optional parameter is not included in the MSD message.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT on other failures
Parameters
[in]ecallRefeCall reference

◆ le_ecall_SendMsd()

le_result_t le_ecall_SendMsd ( le_ecall_CallRef_t  ecallRef)

Send the MSD.

Returns
  • LE_OK on success
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
Parameters
[in]ecallRefeCall reference

◆ le_ecall_SetEraGlonassAutoAnswerTime()

le_result_t le_ecall_SetEraGlonassAutoAnswerTime ( uint16_t  autoAnswerTime)

Set the ECALL_AUTO_ANSWER_TIME time, the time interval wherein IVDS responds to incoming calls automatically after emergency call completion.

Note
Default value of auto answer time is 20 minutes. Maximum value is 720 minutes.
Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED if the function is not supported by the target
Parameters
[in]autoAnswerTimeThe ECALL_AUTO_ANSWER_TIME time value (in minutes)

◆ le_ecall_SetEraGlonassAutoDialAttempts()

le_result_t le_ecall_SetEraGlonassAutoDialAttempts ( uint16_t  attempts)

Set the ECALL_AUTO_DIAL_ATTEMPTS value. If a dial attempt under automatic emergency call initiation failed, it should be repeated maximally ECALL_AUTO_DIAL_ATTEMPTS-1 times within the maximal time limit of ECALL_DIAL_DURATION. The default value is 10. Redial attempts stop once the call has been cleared down correctly, or if counter/timer reached their limits.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[in]attemptsthe ECALL_AUTO_DIAL_ATTEMPTS value

◆ le_ecall_SetEraGlonassDialDuration()

le_result_t le_ecall_SetEraGlonassDialDuration ( uint16_t  duration)

Set the ECALL_DIAL_DURATION time. It's the maximum time the IVS have to connect the emergency call to the PSAP, including all redial attempts. If the call is not connected within this time (or ManualDialAttempts/AutoDialAttempts dial attempts), it will stop.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED if the function is not supported by the target
Parameters
[in]durationthe ECALL_DIAL_DURATION time value (in seconds)

◆ le_ecall_SetEraGlonassFallbackTime()

le_result_t le_ecall_SetEraGlonassFallbackTime ( uint16_t  duration)

Set the ECALL_CCFT time. It's the maximum delay before initiating an an automatic call termination. When the delay is reached and IVS NAD didn't receive a call clear-down indication then the call is immediatly terminated.

Note
Allowed range of values is 1 to 720 minutes.
Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED if the function is not supported by the target
Parameters
[in]durationthe ECALL_CCFT time value (in minutes)

◆ le_ecall_SetEraGlonassManualDialAttempts()

le_result_t le_ecall_SetEraGlonassManualDialAttempts ( uint16_t  attempts)

Set the ECALL_MANUAL_DIAL_ATTEMPTS value. If a dial attempt under manual emergency call initiation failed, it should be repeated maximally ECALL_MANUAL_DIAL_ATTEMPTS-1 times within the maximal time limit of ECALL_DIAL_DURATION. The default value is 10. Redial attempts stop once the call has been cleared down correctly, or if counter/timer reached their limits.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[in]attemptsthe ECALL_MANUAL_DIAL_ATTEMPTS value

◆ le_ecall_SetEraGlonassMSDMaxTransmissionTime()

le_result_t le_ecall_SetEraGlonassMSDMaxTransmissionTime ( uint16_t  msdMaxTransTime)

Set the ECALL_MSD_MAX_TRANSMISSION_TIME time, the time period for MSD transmission.

Note
Default value of MSD transmission time is 20 seconds.
Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED if the function is not supported by the target
Parameters
[in]msdMaxTransTimeThe ECALL_MSD_MAX_TRANSMISSION_TIME time value (in seconds)

◆ le_ecall_SetEraGlonassPostTestRegistrationTime()

le_result_t le_ecall_SetEraGlonassPostTestRegistrationTime ( uint16_t  postTestRegTime)

Set the ERA-GLONASS ECALL_POST_TEST_REGISTRATION_TIME time.

After completion of transmission of test diagnostics results in an eCall test session, the in-vehicle system remains registered on the network for the period of time defined by the ECALL_POST_TEST_REGISTRATION_TIME value.

Note
The ECALL_POST_TEST_REGISTRATION_TIME setting takes effect immediately and is persistent to reset.
An ECALL_POST_TEST_REGISTRATION_TIME value of zero means the IVS doesn't remain registered after completion of transmission of test (diagnostics) results.
Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED if the function is not supported by the target
Parameters
[in]postTestRegTimeThe ECALL_POST_TEST_REGISTRATION_TIME time value (in seconds)

◆ le_ecall_SetIntervalBetweenDialAttempts()

le_result_t le_ecall_SetIntervalBetweenDialAttempts ( uint16_t  pause)

Set the minimum interval value between dial attempts.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
Parameters
[in]pausethe minimum interval value in seconds

◆ le_ecall_SetMsdEraGlonassCoordinateSystemType()

le_result_t le_ecall_SetMsdEraGlonassCoordinateSystemType ( le_ecall_CallRef_t  ecallRef,
le_ecall_MsdCoordinateType_t  coordinateSystemType 
)

Set the ERA-GLONASS coordinate system type.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT on other failures
Parameters
[in]ecallRefeCall reference
[in]coordinateSystemTypethe ERA-GLONASS coordinate system type

◆ le_ecall_SetMsdEraGlonassCrashInfo()

le_result_t le_ecall_SetMsdEraGlonassCrashInfo ( le_ecall_CallRef_t  ecallRef,
le_ecall_CrashInfoBitMask_t  crashInfoMask 
)

Set the ERA-GLONASS crash type bit mask

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT on other failures
Parameters
[in]ecallRefeCall reference
[in]crashInfoMaskERA-GLONASS crash type bit mask.

◆ le_ecall_SetMsdEraGlonassCrashSeverity()

le_result_t le_ecall_SetMsdEraGlonassCrashSeverity ( le_ecall_CallRef_t  ecallRef,
uint32_t  crashSeverity 
)

Set the ERA-GLONASS crash severity parameter.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT on other failures
Parameters
[in]ecallRefeCall reference
[in]crashSeveritythe ERA-GLONASS crash severity parameter

◆ le_ecall_SetMsdEraGlonassDiagnosticResult()

le_result_t le_ecall_SetMsdEraGlonassDiagnosticResult ( le_ecall_CallRef_t  ecallRef,
le_ecall_DiagnosticResultBitMask_t  diagnosticResultMask 
)

Set the ERA-GLONASS diagnostic result using a bit mask.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT on other failures
Parameters
[in]ecallRefeCall reference
[in]diagnosticResultMaskERA-GLONASS diagnostic result bit mask.

◆ le_ecall_SetMsdPassengersCount()

le_result_t le_ecall_SetMsdPassengersCount ( le_ecall_CallRef_t  ecallRef,
uint32_t  paxCount 
)

Set the number of passengers transmitted by the MSD.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
Note
The process exits, if an invalid eCall reference is given
Parameters
[in]ecallRefeCall reference
[in]paxCountnumber of passengers

◆ le_ecall_SetMsdPosition()

le_result_t le_ecall_SetMsdPosition ( le_ecall_CallRef_t  ecallRef,
bool  isTrusted,
int32_t  latitude,
int32_t  longitude,
int32_t  direction 
)

Set the position transmitted by the MSD.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad input parameter
  • LE_FAULT on other failures
Note
The process exits, if an invalid eCall reference is given
Parameters
[in]ecallRefeCall reference
[in]isTrustedtrue if the position is accurate, false otherwise
[in]latitudelatitude in degrees with 6 decimal places, positive North. Maximum value is +90 degrees (+90000000), minimum value is -90 degrees (-90000000).
[in]longitudelongitude in degrees with 6 decimal places, positive East. Maximum value is +180 degrees (+180000000), minimum value is -180 degrees (-180000000).
[in]directiondirection of the vehicle from magnetic north (0 to 358, clockwise) in 2-degrees unit. Valid range is 0 to 179. If direction of travel is invalid or unknown, the value 0xFF shall be used.

◆ le_ecall_SetMsdPositionN1()

le_result_t le_ecall_SetMsdPositionN1 ( le_ecall_CallRef_t  ecallRef,
int32_t  latitudeDeltaN1,
int32_t  longitudeDeltaN1 
)

Set the position Delta N-1 from position set in le_ecall_SetMsdPosition() transmitted by the MSD.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad input parameter
  • LE_FAULT on other failures
Note
The process exits, if an invalid eCall reference is given
Parameters
[in]ecallRefeCall reference
[in]latitudeDeltaN1longitude delta from position set in SetMsdPosition 1 Unit = 100 miliarcseconds, which is approximately 3m maximum value: 511 = 0 0'51.100'' (+- 1580m) minimum value: -512 = -0 0'51.200'' (+- -1583m)
[in]longitudeDeltaN1longitude delta from position set in SetMsdPosition 1 Unit = 100 miliarcseconds, which is approximately 3m maximum value: 511 = 0 0'51.100'' (+-1580m) minimum value: -512 = -0 0'51.200'' (+- -1583m) )

◆ le_ecall_SetMsdPositionN2()

le_result_t le_ecall_SetMsdPositionN2 ( le_ecall_CallRef_t  ecallRef,
int32_t  latitudeDeltaN2,
int32_t  longitudeDeltaN2 
)

Set the position Delta N-2 from position set in le_ecall_SetMsdPositionN1() transmitted by the MSD.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad input parameter
  • LE_FAULT on other failures
Note
The process exits, if an invalid eCall reference is given
Parameters
[in]ecallRefeCall reference
[in]latitudeDeltaN2longitude delta from position set in SetMsdPositionN1 1 Unit = 100 miliarcseconds, which is approximately 3m maximum value: 511 = 0 0'51.100'' (+-1580m) minimum value: -512 = -0 0'51.200'' (+- -1583m)
[in]longitudeDeltaN2longitude delta from position set in SetMsdPositionN1 1 Unit = 100 miliarcseconds, which is approximately 3m maximum value: 511 = 0 0'51.100'' (+-1580m) minimum value: -512 = -0 0'51.200'' (+- -1583m) )

◆ le_ecall_SetMsdTxMode()

le_result_t le_ecall_SetMsdTxMode ( le_ecall_MsdTxMode_t  mode)

Set the push/pull transmission mode.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
Parameters
[in]modeTransmission mode

◆ le_ecall_SetMsdVersion()

le_result_t le_ecall_SetMsdVersion ( uint32_t  msdVersion)

Set the MSDs version. Default value is 1

Returns
  • LE_OK on success
  • LE_FAULT for other failures
Parameters
[in]msdVersionMsd version

◆ le_ecall_SetNadDeregistrationTime()

le_result_t le_ecall_SetNadDeregistrationTime ( uint16_t  deregTime)

Set the NAD (network access device) deregistration time value. After termination of an emergency call the in-vehicle system remains registered on the network for the period of time, defined by the installation parameter NAD (network access device) deregistration time.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Note
The formula to calculate NAD deregistration time for PAN_EUROPEAN is as below: ECallConfiguration.nad_deregistration_time = (deregTime+59)/60;
Parameters
[in]deregTimethe NAD (network access device) deregistration time value (in minutes).

◆ le_ecall_SetPanInitialDialDuration()

le_result_t le_ecall_SetPanInitialDialDuration ( uint16_t  duration)

Set the ECALL_DIAL_DURATION time. It's the maximum time the IVS have to connect the emergency call to the PSAP, including all redial attempts. If the call is not connected within this time (or ManualDialAttempts/AutoDialAttempts dial attempts), it will stop.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Note
This ECALL_DIAL_DURATION time is only applicable to initial call (call never established with PSAP). After first call establishment, in case of dropped call, redial duration is fixed by PAN-European eCall standard to 2 minutes.
Parameters
[in]durationthe ECALL_DIAL_DURATION time value (in seconds)

◆ le_ecall_SetPropulsionType()

le_result_t le_ecall_SetPropulsionType ( le_ecall_PropulsionTypeBitMask_t  propulsionType)

Set the propulsion type. Note that a vehicle may have more than one propulsion type.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
Parameters
[in]propulsionTypebitmask

◆ le_ecall_SetPsapNumber()

le_result_t le_ecall_SetPsapNumber ( const char *LE_NONNULL  psap)

Set the Public Safely Answering Point telephone number.

Note
That PSAP number is not applied to Manually or Automatically initiated eCall. For those modes, an emergency call is launched.
Warning
This function doesn't modify the U/SIM content.
Returns
  • LE_OK On success
  • LE_FAULT For other failures
  • LE_UNSUPPORTED Not supported on this platform
Note
If PSAP number is empty or too long (max LE_MDMDEFS_PHONE_NUM_MAX_LEN digits), it is a fatal error, the function will not return.
Parameters
[in]psapPublic Safely Answering Point number

◆ le_ecall_SetServerDisconnectHandler()

LE_FULL_API void le_ecall_SetServerDisconnectHandler ( le_ecall_DisconnectHandler_t  disconnectHandler,
void *  contextPtr 
)

Set handler called when server disconnection is detected.

When a server connection is lost, call this handler then exit with LE_FATAL. If a program wants to continue without exiting, it should call longjmp() from inside the handler.

◆ le_ecall_SetSystemStandard()

le_result_t le_ecall_SetSystemStandard ( le_ecall_SystemStandard_t  systemStandard)

Set the system standard. Default is PAN EUROPEAN

Returns
  • LE_OK on success
  • LE_FAULT for other failures
Parameters
[in]systemStandardSystem standard

◆ le_ecall_SetVehicleType()

le_result_t le_ecall_SetVehicleType ( le_ecall_MsdVehicleType_t  vehicleType)

Set the Vehicled Type Default value is 0

Returns
  • LE_OK on success
  • LE_FAULT for other failures
Parameters
[in]vehicleTypeVehicle type

◆ le_ecall_SetVIN()

le_result_t le_ecall_SetVIN ( const char *LE_NONNULL  vin)

Set the VIN (Vehicle Identification Number).

Returns
  • LE_OK on success
  • LE_BAD_PARAMETER parameter is NULL.
  • LE_FAULT for other failures
Parameters
[in]vinVIN (Vehicle Identification Number)

◆ le_ecall_StartAutomatic()

le_result_t le_ecall_StartAutomatic ( le_ecall_CallRef_t  ecallRef)

Start an automatic eCall session

Returns
  • LE_OK on success
  • LE_BUSY an eCall session is already in progress
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
Note
The process exits, if an invalid eCall reference is given
Parameters
[in]ecallRefeCall reference

◆ le_ecall_StartManual()

le_result_t le_ecall_StartManual ( le_ecall_CallRef_t  ecallRef)

Start a manual eCall session

Returns
  • LE_OK on success
  • LE_BUSY an eCall session is already in progress
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
Note
The process exits, if an invalid eCall reference is given
Parameters
[in]ecallRefeCall reference

◆ le_ecall_StartTest()

le_result_t le_ecall_StartTest ( le_ecall_CallRef_t  ecallRef)

Start a test eCall session

Returns
  • LE_OK on success
  • LE_BUSY an eCall session is already in progress
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
Note
The process exits, if an invalid eCall reference is given
Parameters
[in]ecallRefeCall reference

◆ le_ecall_TerminateRegistration()

le_result_t le_ecall_TerminateRegistration ( void  )

Terminate NAD registered on the network. After termination of an emergency call the in-vehicle system remains registered on the network for a period of time, this API will deregister device from network in this period.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED if the function is not supported by the target

◆ le_ecall_TryConnectService()

le_result_t le_ecall_TryConnectService ( void  )

Try to connect the current client thread to the service providing this API. Return with an error if the service is not available.

For each thread that wants to use this API, either ConnectService or TryConnectService must be called before any other functions in this API. Normally, ConnectService is automatically called for the main thread, but not for any other thread. For details, see Client Specific Functions.

This function is created automatically.

Returns
  • LE_OK if the client connected successfully to the service.
  • LE_UNAVAILABLE if the server is not currently offering the service to which the client is bound.
  • LE_NOT_PERMITTED if the client interface is not bound to any service (doesn't have a binding).
  • LE_COMM_ERROR if the Service Directory cannot be reached.

◆ le_ecall_UseUSimNumbers()

le_result_t le_ecall_UseUSimNumbers ( void  )

When modem is in ECALL_FORCED_PERSISTENT_ONLY_MODE or ECALL_ONLY_MODE, this function can be called to request the modem to read the number to dial from the FDN/SDN of the U/SIM.

Note
If FDN directory is updated with new dial numbers, be sure that the SIM card is refreshed.
Returns
  • LE_OK on success
  • LE_FAULT for other failures