le_ecall_interface.h File Reference

#include "legato.h"
#include "le_mdmDefs_interface.h"
#include "le_mcc_interface.h"
#include "le_ecall_common.h"

Go to the source code of this file.

Typedefs

typedef void(* le_ecall_DisconnectHandler_t) (void *)
 

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

Legato eCall include file.

Typedef Documentation

◆ le_ecall_DisconnectHandler_t

typedef void(* le_ecall_DisconnectHandler_t) (void *)

Type for handler called when a server disconnects.

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