Telematics SDK - API Reference
v1.63.4
|
Data Structures | |
class | telux::tel::ICall |
ICall represents a call in progress. An ICall cannot be directly created by the client, rather it is returned as a result of instantiating a call or from the PhoneListener when receiving an incoming call. More... | |
class | telux::tel::ICallListener |
A listener class for monitoring changes in call, including call state change and ECall state change. Override the methods for the state that you wish to receive updates for. More... | |
class | telux::tel::ICallManager |
Call Manager is the primary interface for call related operations Allows to conference calls, swap calls, make normal voice call and emergency call, send and update MSD pdu. More... | |
class | telux::tel::IMakeCallCallback |
Interface for Make Call callback object. Client needs to implement this interface to get single shot responses for commands like make call. More... | |
Typedefs | |
using | telux::tel::MakeCallCallback = std::function< void(telux::common::ErrorCode error, std::shared_ptr< ICall > call)> |
using | telux::tel::ECallHlapTimerStatusCallback = std::function< void(telux::common::ErrorCode error, int phoneId, ECallHlapTimerStatus timersStatus)> |
using | telux::tel::EcbmStatusCallback = std::function< void(telux::tel::EcbMode ecbMode, telux::common::ErrorCode error)> |
using | telux::tel::ECallHlapTimerCallback = std::function< void(telux::common::ErrorCode error, uint32_t timeDuration)> |
This section contains APIs related to Call.
class telux::tel::ICall |
ICall represents a call in progress. An ICall cannot be directly created by the client, rather it is returned as a result of instantiating a call or from the PhoneListener when receiving an incoming call.
|
virtual |
|
pure virtual |
Allows the client to answer the call. This is only applicable for CallState::INCOMING and CallState::WAITING calls. If a Waiting call is being answered and the existing call is Active, then existing call will move to Hold state.If the existing call is on Hold already, then it will remain on Hold. The waiting call state transition from Waiting to Active.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_MGMT permission to invoke this API successfully.
[in] | callback | - optional callback pointer to get the response of answer request below are possible error codes for callback response
|
|
pure virtual |
Puts the ongoing call on hold.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_MGMT permission to invoke this API successfully.
[in] | callback | - optional callback pointer to get the response of hold request below are possible error codes for callback response
|
|
pure virtual |
Resumes this call from on-hold state to active state
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_MGMT permission to invoke this API successfully.
[in] | callback | - optional callback pointer to get the response of resume request below are possible error codes for callback response
|
|
pure virtual |
Reject the incoming/waiting call. Only applicable for CallState::INCOMING and CallState::WAITING calls.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_MGMT permission to invoke this API successfully.
[in] | callback | - optional callback pointer to get the response of reject request below are possible error codes for callback response
|
|
pure virtual |
Reject the call and send an SMS to caller. Only applicable for CallState::INCOMING and CallState::WAITING calls.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_MGMT permission to invoke this API successfully.
[in] | rejectSMS | SMS string used to send in response to a call rejection. |
[in] | callback | - optional callback pointer to get the response of rejectwithSMS request below are possible error codes for callback response
|
|
pure virtual |
Hangup the call if the call state is either active, hold, dialing, waiting or alerting.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_MGMT permission to invoke this API successfully.
[in] | callback | - optional callback pointer to get the response of hangup request below are possible error codes for callback response
|
|
pure virtual |
Play a DTMF tone and stop it. The interval for which the tone is played is dependent on the system implementation. If continuous DTMF tone is playing, it will be stopped. This API is used to play DTMF tone on TX path so that it is heard on far end. For DTMF playback on local device on the RX path use telux::audio::IAudioVoiceStream::playDtmfTone
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_MGMT permission to invoke this API successfully.
[in] | tone | - a single character with one of 12 values: 0-9, *, #. |
[in] | callback | - Optional callback pointer to get the result of playDtmfTones function |
|
pure virtual |
Starts a continuous DTMF tone. To terminate the continous DTMF tone,stopDtmfTone API needs to be invoked explicitly. This API is used to play DTMF tone on TX path so that it is heard on far end. For DTMF playback on local device on the RX path use telux::audio::IAudioVoiceStream::playDtmfTone
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_MGMT permission to invoke this API successfully.
[in] | tone | - a single character with one of 12 values: 0-9, *, #. |
[in] | callback | - Optional callback pointer to get the result of startDtmfTone function. |
|
pure virtual |
Stop the currently playing continuous DTMF tone.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_MGMT permission to invoke this API successfully.
[in] | callback | - Optional callback pointer to get the result of stopDtmfTone function. |
|
pure virtual |
Get the current state of the call, such as ringing, in progress etc.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_INFO_READ permission to invoke this API successfully.
|
pure virtual |
Get the unique index of the call assigned by Telephony subsystem
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_MGMT permission to invoke this API successfully.
|
pure virtual |
Get the direction of the call
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_MGMT permission to invoke this API successfully.
|
pure virtual |
Get the dailing number
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_PRIVATE_INFO permission to invoke this API successfully.
|
pure virtual |
Get the cause of the termination of the call.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_INFO_READ permission to invoke this API successfully.
|
pure virtual |
Get id of the phone object which represents the network/SIM on which the call is in progress.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_INFO_READ permission to invoke this API successfully.
|
pure virtual |
To check if call is in multi party call(conference) or not
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_INFO_READ permission to invoke this API successfully.
class telux::tel::ICallListener |
A listener class for monitoring changes in call, including call state change and ECall state change. Override the methods for the state that you wish to receive updates for.
The methods in listener can be invoked from multiple different threads. The implementation should be thread safe.
Public Member Functions | |
virtual void | onIncomingCall (std::shared_ptr< ICall > call) |
virtual void | onCallInfoChange (std::shared_ptr< ICall > call) |
virtual void | onECallMsdTransmissionStatus (int phoneId, telux::common::ErrorCode errorCode) |
virtual void | onECallMsdTransmissionStatus (int phoneId, telux::tel::ECallMsdTransmissionStatus msdTransmissionStatus) |
virtual void | OnMsdUpdateRequest (int phoneId) |
virtual void | onECallHlapTimerEvent (int phoneId, ECallHlapTimerEvents timersStatus) |
virtual void | onEmergencyNetworkScanFail (int phoneId) |
virtual void | onEcbmChange (telux::tel::EcbMode mode) |
virtual void | onRingbackTone (bool isAlerting, int phoneId) |
virtual | ~ICallListener () |
Public Member Functions inherited from telux::common::IServiceStatusListener | |
virtual void | onServiceStatusChange (ServiceStatus status) |
virtual | ~IServiceStatusListener () |
|
virtual |
|
virtual |
This function is called when device receives an incoming/waiting call.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_INFO_READ permission to receive this notification.
[in] | call | - Pointer to ICall instance |
|
virtual |
This function is called when there is a change in call attributes
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_INFO_READ permission to receive this notification.
[in] | call | - Pointer to ICall instance |
|
virtual |
This function is called when device completes MSD Transmission.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permission to receive this notification.
[in] | phoneId | - Unique Id of phone on which MSD Transmission Status is being reported |
[in] | errorCode | - Indicates MSD Transmission status i.e. success or failure |
|
virtual |
This function is called when there is Minimum Set of Data (MSD) transmission. The MSD transmission happens at call connect and also when the modem or client responds to MSD pull request from PSAP.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permission to receive this notification.
[in] | phoneId | - Unique Id of phone on which MSD Transmission Status is being reported |
[in] | msdTransmissionStatus | - Indicates MSD Transmission status ECallMsdTransmissionStatus |
|
virtual |
This function is called when MSD update is requested by PSAP.
Client is expected to update the MSD using telux::tel::ICallManager::updateECallMsd upon receiving this notification. Modem updates its internal cache and responds to PSAP with the new MSD. In situations, where the client fails to update the MSD, modem will time out and send the outdated MSD from its cache.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permission to receive this notification.
[in] | phoneId | - Unique Id of phone on which MSD update request is received. |
|
virtual |
This function is called when the eCall High Level Application Protocol(HLAP) timers status is changed.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permission to receive this notification.
[in] | phoneId | - Unique Id of phone on which HLAP timer status is being reported |
[in] | timersStatus | - Indicates the HLAP timer event ECallHlapTimerEvents |
|
virtual |
This function is called whenever there is a scan failure after one round of network scan during origination of emergency call or at any time during the emergency call.
During origination of an ecall or in between an ongoing ecall, if the UE is in an area of no/poor coverage and loses service, the modem will perform network scan and try to register on any available network. If the scan completes successfully and the device finds a suitable cell, the ecall will be placed and the call state changes to the active state. If the network scan fails then this function will be invoked after one round of network scan.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permission to receive this notification.
[in] | phoneId | - Unique Id of phone on which network scan failure reported. |
|
virtual |
This function is called whenever emergency callback mode(ECBM) changes.
[in] | mode | - Indicates the status of the ECBM. EcbMode |
|
virtual |
When the network doesn't play an in-band ringback tone for an alerting call, an application can play the ringback tone locally based on this notification. This function is called when the ringback tone needs to be started or stopped.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_INFO_READ permission to receive this notification.
[in] | isAlerting | - true to start playing ringback tone, false to stop playing ringback tone. |
[in] | phoneId | - Unique Id of phone on which local ringback tone need to be triggered. |
class telux::tel::ICallManager |
Call Manager is the primary interface for call related operations Allows to conference calls, swap calls, make normal voice call and emergency call, send and update MSD pdu.
Public Member Functions | |
virtual telux::common::ServiceStatus | getServiceStatus ()=0 |
virtual telux::common::Status | makeCall (int phoneId, const std::string &dialNumber, std::shared_ptr< IMakeCallCallback > callback=nullptr)=0 |
virtual telux::common::Status | makeECall (int phoneId, const ECallMsdData &eCallMsdData, int category, int variant, std::shared_ptr< IMakeCallCallback > callback=nullptr)=0 |
virtual telux::common::Status | makeECall (int phoneId, const std::string dialNumber, const ECallMsdData &eCallMsdData, int category, std::shared_ptr< IMakeCallCallback > callback=nullptr)=0 |
virtual telux::common::Status | makeECall (int phoneId, const std::string dialNumber, const std::vector< uint8_t > &msdPdu, CustomSipHeader header={telux::tel::CONTENT_HEADER,""}, MakeCallCallback callback=nullptr)=0 |
virtual telux::common::Status | makeECall (int phoneId, const std::vector< uint8_t > &msdPdu, int category, int variant, MakeCallCallback callback=nullptr)=0 |
virtual telux::common::Status | makeECall (int phoneId, const std::string dialNumber, const std::vector< uint8_t > &msdPdu, int category, MakeCallCallback callback=nullptr)=0 |
virtual telux::common::Status | makeECall (int phoneId, int category, int variant, MakeCallCallback callback=nullptr)=0 |
virtual telux::common::Status | makeECall (int phoneId, const std::string dialNumber, int category, MakeCallCallback callback=nullptr)=0 |
virtual telux::common::Status | updateECallMsd (int phoneId, const ECallMsdData &eCallMsd, std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0 |
virtual telux::common::Status | updateECallMsd (int phoneId, const std::vector< uint8_t > &msdPdu, telux::common::ResponseCallback callback)=0 |
virtual telux::common::Status | requestECallHlapTimerStatus (int phoneId, ECallHlapTimerStatusCallback callback)=0 |
virtual std::vector< std::shared_ptr< ICall > > | getInProgressCalls ()=0 |
virtual telux::common::Status | conference (std::shared_ptr< ICall > call1, std::shared_ptr< ICall > call2, std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0 |
virtual telux::common::Status | swap (std::shared_ptr< ICall > callToHold, std::shared_ptr< ICall > callToActivate, std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0 |
virtual telux::common::Status | hangupForegroundResumeBackground (int phoneId, common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | hangupWaitingOrBackground (int phoneId, common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | requestEcbm (int phoneId, EcbmStatusCallback callback)=0 |
virtual telux::common::Status | exitEcbm (int phoneId, common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | requestNetworkDeregistration (int phoneId, common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | updateEcallHlapTimer (int phoneId, HlapTimerType type, uint32_t timeDuration, common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | requestEcallHlapTimer (int phoneId, HlapTimerType type, ECallHlapTimerCallback callback)=0 |
virtual telux::common::Status | setECallConfig (EcallConfig config)=0 |
virtual telux::common::Status | getECallConfig (EcallConfig &config)=0 |
virtual telux::common::Status | registerListener (std::shared_ptr< telux::tel::ICallListener > listener)=0 |
virtual telux::common::Status | removeListener (std::shared_ptr< telux::tel::ICallListener > listener)=0 |
virtual | ~ICallManager () |
|
virtual |
|
pure virtual |
This status indicates whether the ICallManager object is in a usable state.
|
pure virtual |
Initiate a voice call. This API can also be used for e911/e112 type of regular emergency call. This is not meant for an automotive eCall. Regular voice call will be blocked by device while eCall is in progress.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_MGMT permission to invoke this API successfully.
|
pure virtual |
Initiate an automotive eCall. Regular voice calls will be blocked by device while eCall is in progress.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permission to invoke this API successfully.
[in] | phoneId | Represents phone corresponding to which make eCall operation is performed |
[in] | eCallMsdData | The structure containing required fields to create eCall Minimum Set of Data (MSD) |
[in] | category | ECallCategory |
[in] | variant | ECallVariant |
[in] | callback | Optional callback pointer to get the response of makeECall request. Possible(not exhaustive) error codes for callback response
|
|
pure virtual |
Initiate an automotive Third Party Service(TPS) eCall over CS technologies only (i.e. not IMS) to the specified phone number with Minimum Set of Data(MSD) at call connect. It will be treated like a regular voice call by the UE and the network.
It is the responsibility of application to make sure that another call is not dialed while Third Party Service eCall is in progress.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permission to invoke this API successfully.
[in] | phoneId | Represents phone corresponding to which make eCall operation is performed |
[in] | dialNumber | String representing the dialing number |
[in] | eCallMsdData | The structure containing required fields to create eCall Minimum Set of Data (MSD) |
[in] | category | ECallCategory |
[in] | callback | Optional callback pointer to get the response of makeECall request. Possible(not exhaustive) error codes for callback response
|
|
pure virtual |
Initiate an automotive Third Party Service(TPS) eCall over IMS to the specified phone number with Minimum Set of Data(MSD) at call connect. It will be treated like a regular voice call over IMS by the UE and the network.
Application is expected to dial only one Third Party Service eCall per subscription. It is the responsibility of application to make sure that another call is not dialed while Third Party Service eCall is in progress.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permissionto invoke this API successfully.
[in] | phoneId | Represents phone corresponding to which make eCall operation is performed |
[in] | dialNumber | String representing the dialing number |
[in] | msdPdu | Encoded MSD(Minimum Set of Data) PDU as per spec EN 15722 2015 or GOST R 54620-2011/33464-2015 Max size 255 bytes |
[in] | header | Optional SIP headers intended to be sent in the SIP invite message to the network for PSAP |
[in] | callback | Optional callback function to get the response of makeECall request. |
|
pure virtual |
Initiate an automotive eCall with raw MSD pdu. Regular voice calls will be blocked by device while eCall is in progress.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permission to invoke this API successfully.
[in] | phoneId | Represents phone corresponding to which on make eCall operation is performed |
[in] | msdPdu | Encoded MSD(Minimum Set of Data) PDU as per spec EN 15722 2015 or GOST R 54620-2011/33464-2015 |
[in] | category | ECallCategory |
[in] | variant | ECallVariant |
[in] | callback | Callback function to get the response of makeECall request. Possible(not exhaustive) error codes for callback response
|
|
pure virtual |
Initiate an automotive eCall with raw MSD pdu, to the specified phone number for TPS eCall over CS Technologies only (i.e. not IMS). It will be treated like a regular voice call by the UE and the network.
It is the responsibility of application to make sure that another call is not dialed while Third Party Service eCall is in progress.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permission to invoke this API successfully.
[in] | phoneId | Represents phone corresponding to which on make eCall operation is performed |
[in] | dialNumber | String representing the dialing number |
[in] | msdPdu | Encoded MSD(Minimum Set of Data) PDU as per spec EN 15722 2015 or GOST R 54620-2011/33464-2015 |
[in] | category | ECallCategory |
[in] | callback | Callback function to get the response of makeECall request. Possible(not exhaustive) error codes for callback response
|
|
pure virtual |
Initiate an automotive eCall without transmitting Minimum Set of Data (MSD) at call connect. Regular voice calls will be blocked by device while eCall is in progress.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permission to invoke this API successfully.
[in] | phoneId | Represents phone corresponding to which make eCall operation is performed |
[in] | category | ECallCategory |
[in] | variant | ECallVariant |
[in] | callback | Optional callback function to get the response of makeECall request. Possible(not exhaustive) error codes for callback response
|
|
pure virtual |
Initiate an automotive eCall to the specified phone number for TPS eCall over CS technologies only (i.e. not IMS), without transmitting Minimum Set of Data(MSD) at call connect. It will be treated like a regular voice call by the UE and the network.
It is the responsibility of application to make sure that another call is not dialed while Third Party Service eCall is in progress.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permission to invoke this API successfully.
[in] | phoneId | Represents phone corresponding to which make eCall operation is performed |
[in] | dialNumber | String representing the dialing number |
[in] | category | ECallCategory |
[in] | callback | Optional callback function to get the response of makeECall request. Possible(not exhaustive) error codes for callback response
|
|
pure virtual |
Update the eCall MSD in modem to be sent to Public Safety Answering Point (PSAP) when requested.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permission to invoke this API successfully.
[in] | phoneId | Represents phone corresponding to which updateECallMsd operation is performed |
[in] | eCallMsd | The data structure represents the Minimum Set of Data (MSD) |
[in] | callback | Optional callback pointer to get the response of updateECallMsd. |
|
pure virtual |
This API could be used to explicitly send MSD to PSAP in response to MSD pull request from the PSAP.The modem will not automatically update MSD to the Public Safety Answering Point(PSAP) telux::tel::ICallListener::OnMsdUpdateRequest.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permission to invoke this API successfully.
[in] | phoneId | Represents phone corresponding to which updateECallMsd operation is performed |
[in] | msdPdu | Encoded MSD(Minimum Set of Data) PDU as per spec EN 15722 2015 or GOST R 54620-2011/33464-2015 For Third Party Service(TPS) eCall over IMS technology: Maximum length allowed for MSD is 255 bytes For all other types of eCall: Maximum length allowed for MSD is 140 bytes |
[in] | callback | Callback function to get the response of updateECallMsd. |
|
pure virtual |
Request for status of eCall High Level Application Protocol(HLAP) timers that are maintained by the UE state machine. This does not retrieve status of timers maintained by the PSAP. The provided timers are as per EN 16062:2015 standard.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permission to invoke this API successfully.
[in] | phoneId | Represents phone corresponding on which requestECallHlapTimerStatus operation is performed |
[in] | callback | Callback function to get the response of requestECallHlapTimerStatus |
|
pure virtual |
Get in-progress calls.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_INFO_READ permission to invoke this API successfully.
|
pure virtual |
Merge two calls in a conference.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_MGMT permission to invoke this API successfully.
[in] | call1 | Call object to conference. |
[in] | call2 | Call object to conference. |
[in] | callback | Optional callback pointer to get the result of conference function |
|
pure virtual |
Swap calls to make one active and put the another on hold.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_MGMT permission to invoke this API successfully.
[in] | callToHold | Active call object to swap to hold state. |
[in] | callToActivate | Hold call object to swap to active state. |
[in] | callback | Optional callback pointer to get the result of swap function |
|
pure virtual |
Hangup all the foreground call(s) if any and accept the background call as the active call. The foreground call here could be active call, incoming call or multiple active calls in case of conference and background call could be held call or waiting call.
If a call(s) is active, the active call(s) will be terminated or if a call is waiting, the waiting call will be accepted and becomes active. Otherwise, if a held call is present, the held call becomes active. In case of hold and waiting calls, the hold call will still be on hold and waiting call will be accepted. In case of hold, active and waiting scenario, the hold call will still be on hold, active call will be ended and waiting call will be accepted.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_MGMT permission to invoke this API successfully.
[in] | phoneId | - Represents phone corresponding to which this operation is performed. |
[in] | callback | - optional callback pointer to get the response of hangup request below are possible error codes for callback response
|
|
pure virtual |
Hangup all the waiting or background call(s). The background call here could be waiting call, hold call or multiple hold calls in case of conference.
If a call(s) is hold, the hold call(s) will be terminated or if a call is waiting, the waiting call will be be terminated as well. In case of hold, active and waiting scenario, the active call will still be on active, hold and waiting call will be ended.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_CALL_MGMT permission to invoke this API successfully.
[in] | phoneId | - Represents phone corresponding to which this operation is performed. |
[in] | callback | - optional callback pointer to get the response of hangup request below are possible error codes for callback response
|
|
pure virtual |
Request for emergency callback mode
[in] | phoneId | Represents the phone corresponding to which the emergency callback mode(ECBM) status is requested. |
[in] | callback | Callback pointer to get the result of ECBM status request |
|
pure virtual |
Exit emergency callback mode.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_EMERGENCY_OPS permission to invoke this API successfully.
[in] | phoneId | Represents the phone corresponding to which the emergency callback mode(ECBM) exit is requested. |
[in] | callback | Optional callback pointer to get the result of exit ECBM request |
|
pure virtual |
Deregister from the network after an eCall when the modem is in eCall-only mode. This is typically done after the T9 eCall HLAP timer has expired to stop the T10 eCall HLAP timer and deregister from the serving network.
To invoke this API on platforms with access control enabled, the caller needs to have TELUX_TEL_ECALL_MGMT permission.
[in] | phoneId | Represents the phone corresponding to which the network deregistration will be performed. |
[in] | callback | Callback function to get the response of the request. The response is sent after the operation is complete. |
|
pure virtual |
Set the value of an eCall HLAP timer. Only the T10 Timer is supported currently.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permission to invoke this API successfully.
[in] | phoneId | Represents the phone corresponding to which the value of T10 eCall HLAP timer updated will be performed. |
[in] | type | HlapTimerType |
[in] | timeDuration | Represents the time duration for the HLAP timer. T10 timer is in units of minutes, and the supported range is from 60 to 720. |
[in] | callback | Callback function to get the response of the request. The response is sent after the operation is complete. |
|
pure virtual |
Get the value of an eCall HLAP timer. Only the T10 Timer is supported currently.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permission to invoke this API successfully.
[in] | phoneId | Represents the phone corresponding to which the value of eCall HLAP timer query will be performed. |
[in] | type | HlapTimerType |
[in] | callback | Callback function to get the response of the request. The response is sent after the operation is complete. |
|
pure virtual |
Set the configuration related to emergency call. The configuration is persistent and takes effect when the next emergency call is dialed.
Minimum value of EcallConfig.t9Timer value should be 3600000. If a lesser value is provided, this API will still succeed but the actual value would be set to 3600000.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permissionto invoke this API successfully.
[in] | config | eCall configuration to be set EcallConfig |
|
pure virtual |
Get the configuration related to emergency call.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_ECALL_MGMT permissionto invoke this API successfully.
[out] | config | Parameter to hold the fetched eCall configuration EcallConfig |
|
pure virtual |
Add a listener to listen for incoming call, call info change and eCall MSD transmission status change.
[in] | listener | Pointer to ICallListener object which receives event corresponding to phone |
|
pure virtual |
Remove a previously added listener.
[in] | listener | Listener to be removed. |
class telux::tel::IMakeCallCallback |
Interface for Make Call callback object. Client needs to implement this interface to get single shot responses for commands like make call.
The methods in callback can be invoked from multiple different threads. The implementation should be thread safe.
Public Member Functions | |
virtual void | makeCallResponse (telux::common::ErrorCode error, std::shared_ptr< ICall > call=nullptr) |
virtual | ~IMakeCallCallback () |
Public Member Functions inherited from telux::common::ICommandCallback | |
virtual | ~ICommandCallback () |
|
virtual |
|
virtual |
This function is called with the response to makeCall API.
[out] | error | telux::common::ErrorCode |
[out] | call | Pointer to Call object or nullptr in case of failure |
using telux::tel::MakeCallCallback = typedef std::function<void(telux::common::ErrorCode error, std::shared_ptr<ICall> call)> |
This function is called with the response to make normal call and emergency call.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[out] | error | ErrorCode |
[out] | call | Pointer to Call object or nullptr in case of failure |
using telux::tel::ECallHlapTimerStatusCallback = typedef std::function<void(telux::common::ErrorCode error, int phoneId, ECallHlapTimerStatus timersStatus)> |
This function is called with response to request for eCall High Level Application Protocol(HLAP) timers status.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[out] | error | ErrorCode |
[out] | phoneId | Represents the phone corresponding to which the response is being reported. |
[out] | timersStatus | ECallHlapTimerStatus |
using telux::tel::EcbmStatusCallback = typedef std::function<void(telux::tel::EcbMode ecbMode, telux::common::ErrorCode error)> |
This function is called with response to request for ECBM(requestEcbm API).
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[out] | ecbMode | Indicates the status of the ECBM. EcbMode |
[out] | error | ErrorCode |
using telux::tel::ECallHlapTimerCallback = typedef std::function<void(telux::common::ErrorCode error, uint32_t timeDuration)> |
This function is called with the response to request for the HLAP timer configuration.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[out] | error | ErrorCode |
[out] | timeDuration | Represents the time duration for the HLAP timer. |
|
strong |
|
strong |
Defines the states a call can be in
|
strong |
Reason for the recently terminated call (either normally ended or failed)