Snapdragon® Telematics Application Framework (TelAF) Interface Specification
taf_ecall_interface.h File Reference
#include "legato.h"
#include "taf_types_interface.h"
#include "taf_sim_interface.h"
#include "taf_ecall_common.h"

Go to the source code of this file.

Typedefs

typedef void(* taf_ecall_DisconnectHandler_t) (void *)
 

Functions

void taf_ecall_ConnectService (void)
 
le_result_t taf_ecall_TryConnectService (void)
 
LE_FULL_API void taf_ecall_SetServerDisconnectHandler (taf_ecall_DisconnectHandler_t disconnectHandler, void *contextPtr)
 
LE_FULL_API void taf_ecall_SetNonExitServerDisconnectHandler (taf_ecall_DisconnectHandler_t disconnectHandler, void *contextPtr)
 
void taf_ecall_DisconnectService (void)
 
taf_ecall_StateChangeHandlerRef_t taf_ecall_AddStateChangeHandler (taf_ecall_StateChangeHandlerFunc_t handlerPtr, void *contextPtr)
 
void taf_ecall_RemoveStateChangeHandler (taf_ecall_StateChangeHandlerRef_t handlerRef)
 
taf_ecall_CallRef_t taf_ecall_Create (void)
 
void taf_ecall_Delete (taf_ecall_CallRef_t ecallRef)
 
le_result_t taf_ecall_ForceOnlyMode (uint8_t phoneId)
 
le_result_t taf_ecall_ForcePersistentOnlyMode (uint8_t phoneId)
 
le_result_t taf_ecall_ExitOnlyMode (uint8_t phoneId)
 
le_result_t taf_ecall_GetConfiguredOperationMode (uint8_t phoneId, taf_ecall_OpMode_t *opModePtr)
 
le_result_t taf_ecall_SetMsdVersion (uint32_t msdVersion)
 
le_result_t taf_ecall_GetMsdVersion (uint32_t *msdVerPtr)
 
le_result_t taf_ecall_SetVehicleType (taf_ecall_MsdVehicleType_t vehType)
 
le_result_t taf_ecall_GetVehicleType (taf_ecall_MsdVehicleType_t *vehTypePtr)
 
le_result_t taf_ecall_SetVIN (const char *LE_NONNULL vin)
 
le_result_t taf_ecall_GetVIN (char *vin, size_t vinSize)
 
le_result_t taf_ecall_SetPropulsionType (taf_ecall_PropulsionStorageType_t propulsionType)
 
le_result_t taf_ecall_GetPropulsionType (taf_ecall_PropulsionStorageType_t *propulsionTypePtr)
 
le_result_t taf_ecall_SetMsdTxMode (taf_ecall_MsdTransmissionMode_t mode)
 
le_result_t taf_ecall_GetMsdTxMode (taf_ecall_MsdTransmissionMode_t *modePtr)
 
le_result_t taf_ecall_SetMsdPosition (taf_ecall_CallRef_t ecallRef, bool isTrusted, int32_t latitude, int32_t longitude, int32_t direction)
 
le_result_t taf_ecall_SetMsdPositionN1 (taf_ecall_CallRef_t ecallRef, int32_t latitudeDeltaN1, int32_t longitudeDeltaN1)
 
le_result_t taf_ecall_SetMsdPositionN2 (taf_ecall_CallRef_t ecallRef, int32_t latitudeDeltaN2, int32_t longitudeDeltaN2)
 
le_result_t taf_ecall_SetMsdPassengersCount (taf_ecall_CallRef_t ecallRef, uint32_t passengersCount)
 
le_result_t taf_ecall_SetMsdAdditionalData (taf_ecall_CallRef_t ecallRef, const char *LE_NONNULL oid, const uint8_t *dataPtr, size_t dataSize)
 
le_result_t taf_ecall_ResetMsdAdditionalData (taf_ecall_CallRef_t ecallRef)
 
le_result_t taf_ecall_SetMsdEuroNCAPLocationOfImpact (taf_ecall_CallRef_t ecallRef, taf_ecall_IILocations_t iiLocations)
 
le_result_t taf_ecall_SetMsdEuroNCAPRolloverDetected (taf_ecall_CallRef_t ecallRef, bool rolloverDetected)
 
le_result_t taf_ecall_ResetMsdEuroNCAPRolloverDetected (taf_ecall_CallRef_t ecallRef)
 
le_result_t taf_ecall_SetMsdEuroNCAPIIDeltaV (taf_ecall_CallRef_t ecallRef, uint8_t rangeLimit, int16_t deltaVX, int16_t deltaVY)
 
le_result_t taf_ecall_ImportMsd (taf_ecall_CallRef_t ecallRef, const uint8_t *msdPtr, size_t msdSize)
 
le_result_t taf_ecall_ExportMsd (taf_ecall_CallRef_t ecallRef, uint8_t *msdPtr, size_t *msdSizePtr)
 
le_result_t taf_ecall_SendMsd (taf_ecall_CallRef_t ecallRef)
 
le_result_t taf_ecall_StartAutomatic (taf_ecall_CallRef_t ecallRef)
 
le_result_t taf_ecall_StartManual (taf_ecall_CallRef_t ecallRef)
 
le_result_t taf_ecall_StartTest (taf_ecall_CallRef_t ecallRef)
 
le_result_t taf_ecall_StartPrivate (taf_ecall_CallRef_t ecallRef, const char *LE_NONNULL psap, const char *LE_NONNULL contentType, const char *LE_NONNULL acceptInfo)
 
le_result_t taf_ecall_End (taf_ecall_CallRef_t ecallRef)
 
le_result_t taf_ecall_Answer (taf_ecall_CallRef_t ecallRef)
 
taf_ecall_State_t taf_ecall_GetState (taf_ecall_CallRef_t ecallRef)
 
taf_ecall_Type_t taf_ecall_GetType (taf_ecall_CallRef_t ecallRef)
 
int32_t taf_ecall_GetPlatformSpecificTerminationCode (taf_ecall_CallRef_t ecallRef)
 
taf_ecall_TerminationReason_t taf_ecall_GetTerminationReason (taf_ecall_CallRef_t ecallRef)
 
le_result_t taf_ecall_SetPsapNumber (const char *LE_NONNULL psap)
 
le_result_t taf_ecall_GetPsapNumber (char *psap, size_t psapSize)
 
le_result_t taf_ecall_UseUSimNumbers (void)
 
le_result_t taf_ecall_SetNadDeregistrationTime (uint16_t deregTime)
 
le_result_t taf_ecall_GetNadDeregistrationTime (uint16_t *deregTimePtr)
 
le_result_t taf_ecall_TerminateRegistration (void)
 
le_result_t taf_ecall_SetNadClearDownFallbackTime (uint16_t ccftTime)
 
le_result_t taf_ecall_GetNadClearDownFallbackTime (uint16_t *ccftTimePtr)
 
le_result_t taf_ecall_SetNadMinNetworkRegistrationTime (uint16_t minNwRegTime)
 
le_result_t taf_ecall_GetNadMinNetworkRegistrationTime (uint16_t *minNwRegTimePtr)
 
le_result_t taf_ecall_GetHlapTimerState (taf_ecall_HlapTimerType_t timer, taf_ecall_HlapTimerStatus_t *timerStatusPtr, uint16_t *elapsedTimePtr)
 

Typedef Documentation

◆ taf_ecall_DisconnectHandler_t

typedef void(* taf_ecall_DisconnectHandler_t) (void *)

Type for handler called when a server disconnects.

Function Documentation

◆ taf_ecall_ConnectService()

void taf_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 apiFilesC_client.

This function is created automatically.

◆ taf_ecall_TryConnectService()

le_result_t taf_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 apiFilesC_client.

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.

◆ taf_ecall_SetServerDisconnectHandler()

LE_FULL_API void taf_ecall_SetServerDisconnectHandler ( taf_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.

◆ taf_ecall_SetNonExitServerDisconnectHandler()

LE_FULL_API void taf_ecall_SetNonExitServerDisconnectHandler ( taf_ecall_DisconnectHandler_t  disconnectHandler,
void *  contextPtr 
)

Set handler called when server disconnection is detected without exiting.

When a server connection is lost, call this handler without exit.

Warning
When using the API, it needs the application developer to handle some cases like re-connecting and recycling the resources. For most of cases, it is safe to use SetServerDisconnectHandler.

◆ taf_ecall_DisconnectService()

void taf_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 apiFilesC_client.

This function is created automatically.

◆ taf_ecall_AddStateChangeHandler()

taf_ecall_StateChangeHandlerRef_t taf_ecall_AddStateChangeHandler ( taf_ecall_StateChangeHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'taf_ecall_StateChange'

eCall state change event handler.

Parameters
[in]handlerPtrState change handler for emergency calls.
[in]contextPtr

◆ taf_ecall_RemoveStateChangeHandler()

void taf_ecall_RemoveStateChangeHandler ( taf_ecall_StateChangeHandlerRef_t  handlerRef)

Remove handler function for EVENT 'taf_ecall_StateChange'

Parameters
[in]handlerRef

◆ taf_ecall_Create()

taf_ecall_CallRef_t taf_ecall_Create ( void  )

Creates an eCall reference.

Returns
  • Reference to the emergency call.
  • NULL if the emergency call can not be created.

◆ taf_ecall_Delete()

void taf_ecall_Delete ( taf_ecall_CallRef_t  ecallRef)

Releases (frees) a call reference according to the given eCall reference.

Parameters
[in]ecallRefEmergency call reference.

◆ taf_ecall_ForceOnlyMode()

le_result_t taf_ecall_ForceOnlyMode ( uint8_t  phoneId)

Switches to eCall only mode according to the given phone ID.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
Parameters
[in]phoneIdPhone ID.

◆ taf_ecall_ForcePersistentOnlyMode()

le_result_t taf_ecall_ForcePersistentOnlyMode ( uint8_t  phoneId)

Switches to persistent eCall Only mode according to the given phone ID.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
Parameters
[in]phoneIdPhone ID.

◆ taf_ecall_ExitOnlyMode()

le_result_t taf_ecall_ExitOnlyMode ( uint8_t  phoneId)

Exits eCall Only mode and switches to Normal mode according to the given phone ID.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
Parameters
[in]phoneIdPhone ID.

◆ taf_ecall_GetConfiguredOperationMode()

le_result_t taf_ecall_GetConfiguredOperationMode ( uint8_t  phoneId,
taf_ecall_OpMode_t opModePtr 
)

Gets the ecall operating mode according to the given phone ID.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
Parameters
[in]phoneIdPhone ID.
[out]opModePtrOperating mode.

◆ taf_ecall_SetMsdVersion()

le_result_t taf_ecall_SetMsdVersion ( uint32_t  msdVersion)

Sets the MSD version.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
Note
Currently, only MSD version 2 and 3 are supported.
Parameters
[in]msdVersion

◆ taf_ecall_GetMsdVersion()

le_result_t taf_ecall_GetMsdVersion ( uint32_t *  msdVerPtr)

Gets the MSD version.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Invalid parameters.
Note
Currently, only MSD version 2 and 3 are supported.
Parameters
[out]msdVerPtrMSD version as output.

◆ taf_ecall_SetVehicleType()

le_result_t taf_ecall_SetVehicleType ( taf_ecall_MsdVehicleType_t  vehType)

Sets the vehicle type.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
Parameters
[in]vehTypeVehicle type.

◆ taf_ecall_GetVehicleType()

le_result_t taf_ecall_GetVehicleType ( taf_ecall_MsdVehicleType_t vehTypePtr)

Get vehicle type.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
  • LE_BAD_PARAMETER – Invalid parameters.
Parameters
[out]vehTypePtrVehicle type as output.

◆ taf_ecall_SetVIN()

le_result_t taf_ecall_SetVIN ( const char *LE_NONNULL  vin)

Sets the vehicle identification number.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
  • LE_BAD_PARAMETER – Invalid parameters.
Parameters
[in]vinVehicle identification number.

◆ taf_ecall_GetVIN()

le_result_t taf_ecall_GetVIN ( char *  vin,
size_t  vinSize 
)

Gets the vehicle identification number.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
  • LE_BAD_PARAMETER – Invalid parameters.
Parameters
[out]vinVehicle identification number as output.
[in]vinSize

◆ taf_ecall_SetPropulsionType()

le_result_t taf_ecall_SetPropulsionType ( taf_ecall_PropulsionStorageType_t  propulsionType)

Sets the vehicle propulsion storage type.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
Parameters
[in]propulsionTypeVehicle propulsion storage type.

◆ taf_ecall_GetPropulsionType()

le_result_t taf_ecall_GetPropulsionType ( taf_ecall_PropulsionStorageType_t propulsionTypePtr)

Reads the vehicle propulsion storage type.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
Parameters
[out]propulsionTypePtrVehicle propulsion storage type as output.

◆ taf_ecall_SetMsdTxMode()

le_result_t taf_ecall_SetMsdTxMode ( taf_ecall_MsdTransmissionMode_t  mode)

Sets the MSD transmission mode. The API is not supported on this platform.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
  • LE_UNSUPPORTED – Not supported.
Parameters
[in]modeMSD transmission mode.

◆ taf_ecall_GetMsdTxMode()

le_result_t taf_ecall_GetMsdTxMode ( taf_ecall_MsdTransmissionMode_t modePtr)

Reads the MSD transmission mode. The API is not supported on this platform.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
  • LE_UNSUPPORTED – Not supported.
Parameters
[out]modePtrMSD transmission mode as output.

◆ taf_ecall_SetMsdPosition()

le_result_t taf_ecall_SetMsdPosition ( taf_ecall_CallRef_t  ecallRef,
bool  isTrusted,
int32_t  latitude,
int32_t  longitude,
int32_t  direction 
)

Sets the latitude and longitude for MSD transmission.

Returns
  • LE_BAD_PARAMETER – Bad eCall reference.
  • LE_OK – Succeeded.
  • LE_DUPLICATE – The MSD has already been imported.
Parameters
[in]ecallRefSIM slot ID.
[in]isTrustedIs trusted or not.
[in]latitudeLatitude value in ms.
[in]longitudeLongitude value in ms.
[in]directionThe direction of the vehicle from magnetic north (0

◆ taf_ecall_SetMsdPositionN1()

le_result_t taf_ecall_SetMsdPositionN1 ( taf_ecall_CallRef_t  ecallRef,
int32_t  latitudeDeltaN1,
int32_t  longitudeDeltaN1 
)

Sets the position delta N-1 for MSD transmission.

Returns
  • LE_BAD_PARAMETER – Bad eCall reference.
  • LE_FAULT – Failed.
  • LE_OK – Succeeded.
  • LE_DUPLICATE – The MSD has already been imported.
Note
The process exits when an invalid eCall reference is given.
Parameters
[in]ecallRefSIM slot ID.
[in]latitudeDeltaN1First latitude delta. 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]longitudeDeltaN1First longitude delta. 1 Unit = 100 miliarcseconds, which is approximately 3m maximum value: 511 = 0 0'51.100'' (+- 1580m) minimum value: -512 = -0 0'51.200'' (+- -1583m)

◆ taf_ecall_SetMsdPositionN2()

le_result_t taf_ecall_SetMsdPositionN2 ( taf_ecall_CallRef_t  ecallRef,
int32_t  latitudeDeltaN2,
int32_t  longitudeDeltaN2 
)

Sets the position delta N-2 for MSD transmission.

Returns
  • LE_BAD_PARAMETER – Bad eCall reference.
  • LE_FAULT – Failed.
  • LE_OK – Succeeded.
  • LE_DUPLICATE – The MSD has already been imported.
Note
The process exits when an invalid eCall reference is given.
Parameters
[in]ecallRefSIM slot ID.
[in]latitudeDeltaN2Second latitude delta. 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]longitudeDeltaN2Second longitude delta. 1 Unit = 100 miliarcseconds, which is approximately 3m maximum value: 511 = 0 0'51.100'' (+- 1580m) minimum value: -512 = -0 0'51.200'' (+- -1583m)

◆ taf_ecall_SetMsdPassengersCount()

le_result_t taf_ecall_SetMsdPassengersCount ( taf_ecall_CallRef_t  ecallRef,
uint32_t  passengersCount 
)

Sets the number of passengers according to the given eCall reference.

Returns
  • LE_BAD_PARAMETER – Bad eCall reference.
  • LE_FAULT – Failed.
  • LE_OK – Succeeded.
  • LE_DUPLICATE – The MSD has already been imported.
Note
The process exits when an invalid eCall reference is given.
Parameters
[in]ecallRefSIM slot ID.
[in]passengersCountPassenger count.

◆ taf_ecall_SetMsdAdditionalData()

le_result_t taf_ecall_SetMsdAdditionalData ( taf_ecall_CallRef_t  ecallRef,
const char *LE_NONNULL  oid,
const uint8_t *  dataPtr,
size_t  dataSize 
)

Sets the optional additional data for MSD transmission.

Returns
  • LE_BAD_PARAMETER – Bad eCall reference.
  • LE_FAULT – Failed.
  • LE_OK – Succeeded.
  • LE_DUPLICATE – The MSD has already been imported.
Note
The process exits when an invalid eCall reference is given.
Parameters
[in]ecallRefeCall reference.
[in]oidOid
[in]dataPtrData
[in]dataSize

◆ taf_ecall_ResetMsdAdditionalData()

le_result_t taf_ecall_ResetMsdAdditionalData ( taf_ecall_CallRef_t  ecallRef)

Resets the optional additional data for MSD transmission.

Returns
  • LE_BAD_PARAMETER – Bad eCall reference.
  • LE_FAULT – Failed.
  • LE_OK – Succeeded.
  • LE_DUPLICATE – The MSD has already been imported.
Note
The process exits when an invalid eCall reference is given.
Parameters
[in]ecallRefeCall reference.

◆ taf_ecall_SetMsdEuroNCAPLocationOfImpact()

le_result_t taf_ecall_SetMsdEuroNCAPLocationOfImpact ( taf_ecall_CallRef_t  ecallRef,
taf_ecall_IILocations_t  iiLocations 
)

Sets the location of impact for Euro NCAP additional data.

Returns
  • LE_BAD_PARAMETER – Bad eCall reference.
  • LE_FAULT – Failed.
  • LE_OK – Succeeded.
  • LE_DUPLICATE – The MSD has already been imported.
Note
The process exits when an invalid eCall reference is given.
Parameters
[in]ecallRefeCall reference.
[in]iiLocationsLocation of impact

◆ taf_ecall_SetMsdEuroNCAPRolloverDetected()

le_result_t taf_ecall_SetMsdEuroNCAPRolloverDetected ( taf_ecall_CallRef_t  ecallRef,
bool  rolloverDetected 
)

Sets the rollover detected for Euro NCAP additional data.

Returns
  • LE_BAD_PARAMETER – Bad eCall reference.
  • LE_FAULT – Failed.
  • LE_OK – Succeeded.
  • LE_DUPLICATE – The MSD has already been imported.
Note
The process exits when an invalid eCall reference is given.
Parameters
[in]ecallRefeCall reference.
[in]rolloverDetectedRollover detected

◆ taf_ecall_ResetMsdEuroNCAPRolloverDetected()

le_result_t taf_ecall_ResetMsdEuroNCAPRolloverDetected ( taf_ecall_CallRef_t  ecallRef)

Resets the rollover detected for Euro NCAP additional data.

Returns
  • LE_BAD_PARAMETER – Bad eCall reference.
  • LE_FAULT – Failed.
  • LE_OK – Succeeded.
  • LE_DUPLICATE – The MSD has already been imported.
Note
The process exits when an invalid eCall reference is given.
Parameters
[in]ecallRefeCall reference.

◆ taf_ecall_SetMsdEuroNCAPIIDeltaV()

le_result_t taf_ecall_SetMsdEuroNCAPIIDeltaV ( taf_ecall_CallRef_t  ecallRef,
uint8_t  rangeLimit,
int16_t  deltaVX,
int16_t  deltaVY 
)

Sets the IIDeltaV for Euro NCAP additional data.

Returns
  • LE_BAD_PARAMETER – Bad eCall reference.
  • LE_FAULT – Failed.
  • LE_OK – Succeeded.
  • LE_DUPLICATE – The MSD has already been imported.
Note
The process exits when an invalid eCall reference is given.
Parameters
[in]ecallRefeCall reference.
[in]rangeLimitRange limit
[in]deltaVXDeltaVX
[in]deltaVYDeltaVY

◆ taf_ecall_ImportMsd()

le_result_t taf_ecall_ImportMsd ( taf_ecall_CallRef_t  ecallRef,
const uint8_t *  msdPtr,
size_t  msdSize 
)

Imports the PDU MSD according to the given eCall reference. The maximum MSD length is 255 bytes for private eCall and 140 bytes for other eCall.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Bad eCall reference.
  • LE_OVERFLOW – The size of the MSD buffer is wrong.
Note
The process exits if an invalid eCall reference is passed.
Parameters
[in]ecallRefSIM slot ID.
[in]msdPtrMSD.
[in]msdSize

◆ taf_ecall_ExportMsd()

le_result_t taf_ecall_ExportMsd ( taf_ecall_CallRef_t  ecallRef,
uint8_t *  msdPtr,
size_t *  msdSizePtr 
)

Exports the PDU MSD according to the given eCall reference.

Returns
  • LE_OK – Succeeded.
  • LE_BAD_PARAMETER – Bad eCall reference.
  • LE_OVERFLOW – The size of the MSD buffer is wrong.
  • LE_NOT_FOUND – The MSD is not imported or updated.
  • LE_FAULT – Failed.
Note
The process exits if an invalid eCall reference is passed.
Parameters
[in]ecallRefSIM slot ID.
[out]msdPtrMSD output.
[in,out]msdSizePtr

◆ taf_ecall_SendMsd()

le_result_t taf_ecall_SendMsd ( taf_ecall_CallRef_t  ecallRef)

Updates the eCall MSD in modem to be sent to a Public Safety Answering Point (PSAP) when requested.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
Parameters
[in]ecallRefeCall reference.

◆ taf_ecall_StartAutomatic()

le_result_t taf_ecall_StartAutomatic ( taf_ecall_CallRef_t  ecallRef)

Starts an automatic emergency call with a standard PAN European/KSA/UAE PSAP number(112/911/999) or a voice call with the long PSAP number by taf_ecall_SetPsapNumber() according to the given eCall reference.

Returns
  • LE_OK – Succeeded.
  • LE_BUSY – eCall session is already in progress.
  • LE_BAD_PARAMETER – Bad eCall reference.
  • LE_FAULT – Failed.
Parameters
[in]ecallRefeCall reference.

◆ taf_ecall_StartManual()

le_result_t taf_ecall_StartManual ( taf_ecall_CallRef_t  ecallRef)

Starts a manual emergency call with a standard PAN European/KSA/UAE PSAP number(112/911/999) or a voice call with the long PSAP number by taf_ecall_SetPsapNumber() according to the given eCall reference.

Returns
  • LE_OK – Succeeded.
  • LE_BUSY – eCall session is already in progress.
  • LE_BAD_PARAMETER – Bad eCall reference.
  • LE_FAULT – Failed.
Parameters
[in]ecallRefeCall reference.

◆ taf_ecall_StartTest()

le_result_t taf_ecall_StartTest ( taf_ecall_CallRef_t  ecallRef)

Starts a test eCall with a configured telephone number stored in the USIM or a long PSAP number set by taf_ecall_SetPsapNumber().

Returns
  • LE_OK – Succeeded.
  • LE_BUSY – eCall session is already in progress.
  • LE_BAD_PARAMETER – Bad eCall reference.
  • LE_FAULT – Failed.
Parameters
[in]ecallRefeCall reference.

◆ taf_ecall_StartPrivate()

le_result_t taf_ecall_StartPrivate ( taf_ecall_CallRef_t  ecallRef,
const char *LE_NONNULL  psap,
const char *LE_NONNULL  contentType,
const char *LE_NONNULL  acceptInfo 
)

Initiates a private eCall.

Returns
  • LE_OK – Succeeded.
  • LE_BUSY – eCall session is already in progress.
  • LE_BAD_PARAMETER – Bad eCall reference.
  • LE_FAULT – Failed.
Note
Currently, only SA525M platform are supported.
Parameters
[in]ecallRefeCall reference.
[in]psapPublic Safely Answering Point number.
[in]contentTypeType of data being transmitted and
[in]acceptInfoSIP Accept header. The maximum length

◆ taf_ecall_End()

le_result_t taf_ecall_End ( taf_ecall_CallRef_t  ecallRef)

Ends the ongoing eCall according to the given eCall reference.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
  • LE_BAD_PARAMETER – Bad eCall reference.
Parameters
[in]ecallRefeCall reference.

◆ taf_ecall_Answer()

le_result_t taf_ecall_Answer ( taf_ecall_CallRef_t  ecallRef)

Answers the incoming eCall according to the given eCall reference.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
  • LE_BAD_PARAMETER – Bad eCall reference.
Parameters
[in]ecallRefeCall reference.

◆ taf_ecall_GetState()

taf_ecall_State_t taf_ecall_GetState ( taf_ecall_CallRef_t  ecallRef)

Gets the currrent eCall state according to the given eCall reference.

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

◆ taf_ecall_GetType()

taf_ecall_Type_t taf_ecall_GetType ( taf_ecall_CallRef_t  ecallRef)

Gets the current eCall type according to the given eCall reference.

Returns
  • The current type of the given eCall.
Note
Passing a bad or null pointer to this function results in a fatal error and the function may not return.
Parameters
[in]ecallRefeCall reference.

◆ taf_ecall_GetPlatformSpecificTerminationCode()

int32_t taf_ecall_GetPlatformSpecificTerminationCode ( taf_ecall_CallRef_t  ecallRef)

Gets the platform-specific reason for a recently terminated call according to the given eCall reference.

Returns
  • The platform-specific termination code.
Note
The API is not supported in this platform.
Parameters
[in]ecallRefeCall reference.

◆ taf_ecall_GetTerminationReason()

taf_ecall_TerminationReason_t taf_ecall_GetTerminationReason ( taf_ecall_CallRef_t  ecallRef)

Gets the end reason for a recently terminated eCall.

Returns
The termination reason.
Note
Passing a bad or null pointer to this function results in a fatal error and the function may not return.
Parameters
[in]ecallRefeCall reference.

◆ taf_ecall_SetPsapNumber()

le_result_t taf_ecall_SetPsapNumber ( const char *LE_NONNULL  psap)

Sets the public safely answering point (PSAP) phone number for eCall.

Note
The PSAP number is applicable in manually or automatically dialed eCalls. It is also applicable to test eCalls that are dialed intentionally for testing, validating, or certifying.
Warning
This function doesn't modify the U/SIM content.
Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
Note
If the PSAP number is empty or too long (max TAF_SIM_PHONE_NUM_MAX_LEN digits), it is a fatal error and the function will not return.
Parameters
[in]psapPublic Safely Answering Point number

◆ taf_ecall_GetPsapNumber()

le_result_t taf_ecall_GetPsapNumber ( char *  psap,
size_t  psapSize 
)

Gets the PSAP number set with taf_ecall_SetPsapNumber().

Note
The PSAP number is applicable in manually or automatically dialed eCalls. It is also applicable to test eCalls that are dialed intentionally for testing, validating, or certifying.
Warning
This function doesn't read the U/SIM content.
Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed or taf_ecall_SetPsapNumber() has never been called before.
  • LE_BAD_PARAMETER – The PSAP number is null.
Parameters
[out]psapPSAP number.
[in]psapSize

◆ taf_ecall_UseUSimNumbers()

le_result_t taf_ecall_UseUSimNumbers ( void  )

Reads the FDN/SDN numbers from U/SIM to dial a test eCall when the modem is in TAF_ECALL_MODE_FORCED_PERSISTENT_ONLY or TAF_ECALL_MODE_ECALL.

Note
If the FDN number is updated with a new number, ensure that the SIM card is refreshed.
Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.

◆ taf_ecall_SetNadDeregistrationTime()

le_result_t taf_ecall_SetNadDeregistrationTime ( uint16_t  deregTime)

Sets the eCall deregistration time in NAD. After an emergency call ends the in-vehicle system stays registered with the network for a specific amount of time, defined by the NAD eCall deregistration time.

Returns
  • LE_OK – Succeeded.
  • LE_BUSY – An eCall session is in progress.
  • LE_FAULT – Failed.
Parameters
[in]deregTimeThe eCall deregistration time (in minutes).

◆ taf_ecall_GetNadDeregistrationTime()

le_result_t taf_ecall_GetNadDeregistrationTime ( uint16_t *  deregTimePtr)

Gets the eCall deregistration time of the NAD.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
Parameters
[out]deregTimePtrThe eCall deregistration time (in minutes).

◆ taf_ecall_TerminateRegistration()

le_result_t taf_ecall_TerminateRegistration ( void  )

Disconnects the NAD from the eCall network. After an emergency call ends the in-vehicle system stays registered with the network for a period of time to facilate callback from the PSAP, but when NAD requires to deregister from the network this API can be used.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.

◆ taf_ecall_SetNadClearDownFallbackTime()

le_result_t taf_ecall_SetNadClearDownFallbackTime ( uint16_t  ccftTime)

Sets the eCall clear down fallback time of the NAD. If the NAD does not receive a clear down indication from network or a clear down message (AL-ACK) from the PSAP during an ecall, then it will trigger an automatic call end when clear down fallback time out.

Returns
  • LE_OK – Succeeded.
  • LE_BUSY – An eCall session is in progress.
  • LE_FAULT – Failed.
Parameters
[in]ccftTimeThe eCall clear down fallback time (in minutes).

◆ taf_ecall_GetNadClearDownFallbackTime()

le_result_t taf_ecall_GetNadClearDownFallbackTime ( uint16_t *  ccftTimePtr)

Gets the eCall clear down fallback time of the NAD.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
Parameters
[out]ccftTimePtrThe eCall clear down fallback time (in minutes).

◆ taf_ecall_SetNadMinNetworkRegistrationTime()

le_result_t taf_ecall_SetNadMinNetworkRegistrationTime ( uint16_t  minNwRegTime)

Sets the eCall minimum network registration time of the NAD. After an eCall ends, the NAD shall remain registered on the serving network. During this time, the NAD can automatically receive calls from the PSAP.

Returns
  • LE_OK – Succeeded.
  • LE_BUSY – An eCall session is in progress.
  • LE_FAULT – Failed.
Parameters
[in]minNwRegTimeThe eCall minimum network registration time (in minutes).

◆ taf_ecall_GetNadMinNetworkRegistrationTime()

le_result_t taf_ecall_GetNadMinNetworkRegistrationTime ( uint16_t *  minNwRegTimePtr)

Gets the eCall minimum network registration time of the NAD.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
Parameters
[out]minNwRegTimePtrThe eCall minimum network registration time (in minutes).

◆ taf_ecall_GetHlapTimerState()

le_result_t taf_ecall_GetHlapTimerState ( taf_ecall_HlapTimerType_t  timer,
taf_ecall_HlapTimerStatus_t timerStatusPtr,
uint16_t *  elapsedTimePtr 
)

Gets the eCall HLAP timer state of the NAD.

Returns
  • LE_OK – Succeeded.
  • LE_FAULT – Failed.
  • LE_BAD_PARAMETER – The HLAP timer type is out of range
Parameters
[in]timerHLAP timer Type.
[out]timerStatusPtrThe status of the HLAP timer.
[out]elapsedTimePtrThe elapsed time of the HLAP timer in unit of seconds.