Telematics SDK - Interface Specification  v1.26.3

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...
 

Enumerations

enum  telux::tel::CallDirection { telux::tel::CallDirection::INCOMING, telux::tel::CallDirection::OUTGOING, telux::tel::CallDirection::NONE }
 
enum  telux::tel::CallState {
  telux::tel::CallState::CALL_IDLE = -1, telux::tel::CallState::CALL_ACTIVE, telux::tel::CallState::CALL_ON_HOLD, telux::tel::CallState::CALL_DIALING,
  telux::tel::CallState::CALL_INCOMING, telux::tel::CallState::CALL_WAITING, telux::tel::CallState::CALL_ALERTING, telux::tel::CallState::CALL_ENDED
}
 
enum  telux::tel::CallEndCause {
  telux::tel::CallEndCause::UNOBTAINABLE_NUMBER = 1, telux::tel::CallEndCause::NO_ROUTE_TO_DESTINATION = 3, telux::tel::CallEndCause::CHANNEL_UNACCEPTABLE = 6, telux::tel::CallEndCause::OPERATOR_DETERMINED_BARRING = 8,
  telux::tel::CallEndCause::NORMAL = 16, telux::tel::CallEndCause::BUSY = 17, telux::tel::CallEndCause::NO_USER_RESPONDING = 18, telux::tel::CallEndCause::NO_ANSWER_FROM_USER = 19,
  telux::tel::CallEndCause::CALL_REJECTED = 21, telux::tel::CallEndCause::NUMBER_CHANGED = 22, telux::tel::CallEndCause::PREEMPTION = 25, telux::tel::CallEndCause::DESTINATION_OUT_OF_ORDER = 27,
  telux::tel::CallEndCause::INVALID_NUMBER_FORMAT = 28, telux::tel::CallEndCause::FACILITY_REJECTED = 29, telux::tel::CallEndCause::RESP_TO_STATUS_ENQUIRY = 30, telux::tel::CallEndCause::NORMAL_UNSPECIFIED = 31,
  telux::tel::CallEndCause::CONGESTION = 34, telux::tel::CallEndCause::NETWORK_OUT_OF_ORDER = 38, telux::tel::CallEndCause::TEMPORARY_FAILURE = 41, telux::tel::CallEndCause::SWITCHING_EQUIPMENT_CONGESTION = 42,
  telux::tel::CallEndCause::ACCESS_INFORMATION_DISCARDED = 43, telux::tel::CallEndCause::REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE = 44, telux::tel::CallEndCause::RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47, telux::tel::CallEndCause::QOS_UNAVAILABLE = 49,
  telux::tel::CallEndCause::REQUESTED_FACILITY_NOT_SUBSCRIBED = 50, telux::tel::CallEndCause::INCOMING_CALLS_BARRED_WITHIN_CUG = 55, telux::tel::CallEndCause::BEARER_CAPABILITY_NOT_AUTHORIZED = 57, telux::tel::CallEndCause::BEARER_CAPABILITY_UNAVAILABLE = 58,
  telux::tel::CallEndCause::SERVICE_OPTION_NOT_AVAILABLE = 63, telux::tel::CallEndCause::BEARER_SERVICE_NOT_IMPLEMENTED = 65, telux::tel::CallEndCause::ACM_LIMIT_EXCEEDED = 68, telux::tel::CallEndCause::REQUESTED_FACILITY_NOT_IMPLEMENTED = 69,
  telux::tel::CallEndCause::ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70, telux::tel::CallEndCause::SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79, telux::tel::CallEndCause::INVALID_TRANSACTION_IDENTIFIER = 81, telux::tel::CallEndCause::USER_NOT_MEMBER_OF_CUG = 87,
  telux::tel::CallEndCause::INCOMPATIBLE_DESTINATION = 88, telux::tel::CallEndCause::INVALID_TRANSIT_NW_SELECTION = 91, telux::tel::CallEndCause::SEMANTICALLY_INCORRECT_MESSAGE = 95, telux::tel::CallEndCause::INVALID_MANDATORY_INFORMATION = 96,
  telux::tel::CallEndCause::MESSAGE_TYPE_NON_IMPLEMENTED = 97, telux::tel::CallEndCause::MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98, telux::tel::CallEndCause::INFORMATION_ELEMENT_NON_EXISTENT = 99, telux::tel::CallEndCause::CONDITIONAL_IE_ERROR = 100,
  telux::tel::CallEndCause::MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101, telux::tel::CallEndCause::RECOVERY_ON_TIMER_EXPIRED = 102, telux::tel::CallEndCause::PROTOCOL_ERROR_UNSPECIFIED = 111, telux::tel::CallEndCause::INTERWORKING_UNSPECIFIED = 127,
  telux::tel::CallEndCause::CALL_BARRED = 240, telux::tel::CallEndCause::FDN_BLOCKED = 241, telux::tel::CallEndCause::IMSI_UNKNOWN_IN_VLR = 242, telux::tel::CallEndCause::IMEI_NOT_ACCEPTED = 243,
  telux::tel::CallEndCause::DIAL_MODIFIED_TO_USSD = 244, telux::tel::CallEndCause::DIAL_MODIFIED_TO_SS = 245, telux::tel::CallEndCause::DIAL_MODIFIED_TO_DIAL = 246, telux::tel::CallEndCause::CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000,
  telux::tel::CallEndCause::CDMA_DROP = 1001, telux::tel::CallEndCause::CDMA_INTERCEPT = 1002, telux::tel::CallEndCause::CDMA_REORDER = 1003, telux::tel::CallEndCause::CDMA_SO_REJECT = 1004,
  telux::tel::CallEndCause::CDMA_RETRY_ORDER = 1005, telux::tel::CallEndCause::CDMA_ACCESS_FAILURE = 1006, telux::tel::CallEndCause::CDMA_PREEMPTED = 1007, telux::tel::CallEndCause::CDMA_NOT_EMERGENCY = 1008,
  telux::tel::CallEndCause::CDMA_ACCESS_BLOCKED = 1009, telux::tel::CallEndCause::ERROR_UNSPECIFIED = 0xffff
}
 

Detailed Description

This section contains APIs related to Call.


Data Structure Documentation

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.

Public Member Functions

virtual telux::common::Status answer (std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0
 
virtual telux::common::Status hold (std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0
 
virtual telux::common::Status resume (std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0
 
virtual telux::common::Status reject (std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0
 
virtual telux::common::Status reject (const std::string &rejectSMS, std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0
 
virtual telux::common::Status hangup (std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0
 
virtual telux::common::Status playDtmfTone (char tone, std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0
 
virtual telux::common::Status startDtmfTone (char tone, std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0
 
virtual telux::common::Status stopDtmfTone (std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0
 
virtual CallState getCallState ()=0
 
virtual int getCallIndex ()=0
 
virtual CallDirection getCallDirection ()=0
 
virtual std::string getRemotePartyNumber ()=0
 
virtual CallEndCause getCallEndCause ()=0
 
virtual int getPhoneId ()=0
 
virtual ~ICall ()
 

Constructor & Destructor Documentation

virtual telux::tel::ICall::~ICall ( )
virtual

Member Function Documentation

virtual telux::common::Status telux::tel::ICall::answer ( std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr)
pure virtual

Allows the client to answer the call. This is only applicable for CallDirection::INCOMING.

Parameters
[in]callback- optional callback pointer to get the response of answer request below are possible error codes for callback response
  • SUCCESS
  • RADIO_NOT_AVAILABLE
  • NO_MEMORY
  • MODEM_ERR
  • INTERNAL_ERR
  • INVALID_STATE
  • INVALID_CALL_ID
  • INVALID_ARGUMENTS
  • OPERATION_NOT_ALLOWED
  • GENERIC_FAILURE
Returns
Status of hold function i.e. success or suitable error code.
virtual telux::common::Status telux::tel::ICall::hold ( std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr)
pure virtual

Puts the ongoing call on hold.

Parameters
[in]callback- optional callback pointer to get the response of hold request below are possible error codes for callback response
  • SUCCESS
  • RADIO_NOT_AVAILABLE
  • NO_MEMORY
  • MODEM_ERR
  • INTERNAL_ERR
  • INVALID_STATE
  • INVALID_CALL_ID
  • INVALID_ARGUMENTS
  • OPERATION_NOT_ALLOWED
  • GENERIC_FAILURE
Returns
Status of hold function i.e. success or suitable error code.
virtual telux::common::Status telux::tel::ICall::resume ( std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr)
pure virtual

Resumes this call from on-hold state to active state

Parameters
[in]callback- optional callback pointer to get the response of resume request below are possible error codes for callback response
  • SUCCESS
  • RADIO_NOT_AVAILABLE
  • NO_MEMORY
  • MODEM_ERR
  • INTERNAL_ERR
  • INVALID_STATE
  • INVALID_CALL_ID
  • INVALID_ARGUMENTS
  • OPERATION_NOT_ALLOWED
  • GENERIC_FAILURE
Returns
Status of resume function i.e. success or suitable error code.
virtual telux::common::Status telux::tel::ICall::reject ( std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr)
pure virtual

Reject the incoming call. Only applicable for CallDirection::INCOMING.

Parameters
[in]callback- optional callback pointer to get the response of reject request below are possible error codes for callback response
  • SUCCESS
  • RADIO_NOT_AVAILABLE
  • NO_MEMORY
  • MODEM_ERR
  • INTERNAL_ERR
  • INVALID_STATE
  • INVALID_CALL_ID
  • INVALID_ARGUMENTS
  • OPERATION_NOT_ALLOWED
  • GENERIC_FAILURE
Returns
Status of reject function i.e. success or suitable error code.
virtual telux::common::Status telux::tel::ICall::reject ( const std::string &  rejectSMS,
std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr 
)
pure virtual

Reject the call and send an SMS to caller. Only applicable for CallDirection::INCOMING.

Parameters
[in]rejectSMSSMS 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
  • SUCCESS
  • RADIO_NOT_AVAILABLE
  • NO_MEMORY
  • MODEM_ERR
  • INTERNAL_ERR
  • INVALID_STATE
  • INVALID_CALL_ID
  • INVALID_ARGUMENTS
  • OPERATION_NOT_ALLOWED
  • GENERIC_FAILURE
Returns
Status of success for call reject() or suitable error code.
virtual telux::common::Status telux::tel::ICall::hangup ( std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr)
pure virtual

Hang up the active call.

Parameters
[in]callback- optional callback pointer to get the response of hangup request below are possible error codes for callback response
  • SUCCESS
  • RADIO_NOT_AVAILABLE
  • NO_MEMORY
  • MODEM_ERR
  • INTERNAL_ERR
  • INVALID_STATE
  • INVALID_CALL_ID
  • INVALID_ARGUMENTS
  • OPERATION_NOT_ALLOWED
  • GENERIC_FAILURE
Returns
Status of hangup i.e. success or suitable error code.
virtual telux::common::Status telux::tel::ICall::playDtmfTone ( char  tone,
std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr 
)
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.

Parameters
[in]tone- a single character with one of 12 values: 0-9, *, #.
[in]callback- Optional callback pointer to get the result of playDtmfTones function
Returns
Status of playDtmfTones i.e. success or suitable error code.
virtual telux::common::Status telux::tel::ICall::startDtmfTone ( char  tone,
std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr 
)
pure virtual

Starts a continuous DTMF tone. To terminate the continous DTMF tone,stopDtmfTone API needs to be invoked explicitly.

Parameters
[in]tone- a single character with one of 12 values: 0-9, *, #.
[in]callback- Optional callback pointer to get the result of startDtmfTone function.
Returns
Status of startDtmfTone i.e. success or suitable error code.
virtual telux::common::Status telux::tel::ICall::stopDtmfTone ( std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr)
pure virtual

Stop the currently playing continuous DTMF tone.

Parameters
[in]callback- Optional callback pointer to get the result of stopDtmfTone function.
Returns
Status of stopDtmfTone i.e. success or suitable error code.
virtual CallState telux::tel::ICall::getCallState ( )
pure virtual

Get the current state of the call, such as ringing, in progress etc.

Returns
CallState - enumeration representing call State
virtual int telux::tel::ICall::getCallIndex ( )
pure virtual

Get the unique index of the call assigned by Telephony subsystem

Returns
Call Index
virtual CallDirection telux::tel::ICall::getCallDirection ( )
pure virtual

Get the direction of the call

Returns
CallDirection - enumeration representing call direction i.e. INCOMING/ OUTGOING
virtual std::string telux::tel::ICall::getRemotePartyNumber ( )
pure virtual

Get the dailing number

Returns
Phone Number to which the call was dialed out Empty string in case of INCOMING call direction
virtual CallEndCause telux::tel::ICall::getCallEndCause ( )
pure virtual

Get the cause of the termination of the call.

Returns
Enum representing call end cause.
virtual int telux::tel::ICall::getPhoneId ( )
pure virtual

Get id of the phone object which represents the network/SIM on which the call is in progress.

Returns
Phone Id.
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 ~ICallListener ()
 

Constructor & Destructor Documentation

virtual telux::tel::ICallListener::~ICallListener ( )
virtual

Member Function Documentation

virtual void telux::tel::ICallListener::onIncomingCall ( std::shared_ptr< ICall call)
virtual

This function is called when device receives an incoming call.

Parameters
[in]call- Pointer to ICall instance
virtual void telux::tel::ICallListener::onCallInfoChange ( std::shared_ptr< ICall call)
virtual

This function is called when there is a change in call attributes

Parameters
[in]call- Pointer to ICall instance
virtual void telux::tel::ICallListener::onECallMsdTransmissionStatus ( int  phoneId,
telux::common::ErrorCode  errorCode 
)
virtual

This function is called when device completes MSD Transmission.

Parameters
[in]phoneId- Unique Id of phone on which MSD Transmission Status is being reported
[in]status- Indicates MSD Transmission status i.e. success or failure
Deprecated:
Use another onECallMsdTransmissionStatus() API with argument ECallMsdTransmissionStatus
virtual void telux::tel::ICallListener::onECallMsdTransmissionStatus ( int  phoneId,
telux::tel::ECallMsdTransmissionStatus  msdTransmissionStatus 
)
virtual

This function is called when device completes MSD Transmission.

Parameters
[in]phoneId- Unique Id of phone on which MSD Transmission Status is being reported
[in]msdTransmissionStatus- Indicates MSD Transmission status ECallMsdTransmissionStatus
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::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::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 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 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 registerListener (std::shared_ptr< telux::tel::ICallListener > listener)=0
 
virtual telux::common::Status removeListener (std::shared_ptr< telux::tel::ICallListener > listener)=0
 
virtual ~ICallManager ()
 

Constructor & Destructor Documentation

virtual telux::tel::ICallManager::~ICallManager ( )
virtual

Member Function Documentation

virtual telux::common::Status telux::tel::ICallManager::makeCall ( int  phoneId,
const std::string &  dialNumber,
std::shared_ptr< IMakeCallCallback callback = nullptr 
)
pure virtual
virtual telux::common::Status telux::tel::ICallManager::makeECall ( int  phoneId,
const ECallMsdData eCallMsdData,
int  category,
int  variant,
std::shared_ptr< IMakeCallCallback callback = nullptr 
)
pure virtual

Initiate an emergency call to the emergency number(e.g. 112)

Parameters
[in]phoneIdRepresents phone corresponding to which make eCall operation is performed
[in]eCallMsdDataThe structure containing required fields to create eCall Minimum Set of Data (MSD)
[in]categoryECallCategory
[in]variantECallVariant
[in]callbackOptional callback pointer to get the response of makeECall request. Possible(not exhaustive) error codes for callback response
Returns
Status of makeECall i.e. success or suitable status code.
virtual telux::common::Status telux::tel::ICallManager::makeECall ( int  phoneId,
const std::string  dialNumber,
const ECallMsdData eCallMsdData,
int  category,
std::shared_ptr< IMakeCallCallback callback = nullptr 
)
pure virtual

Initiate an emergency call to the specified phone number. It is similar to a regular voice call, except that it facilitates MSD transmission.

Parameters
[in]phoneIdRepresents phone corresponding to which make eCall operation is performed
[in]dialNumberString representing the dialing number
[in]eCallMsdDataThe structure containing required fields to create eCall Minimum Set of Data (MSD)
[in]categoryECallCategory
[in]callbackOptional callback pointer to get the response of makeECall request. Possible(not exhaustive) error codes for callback response
Returns
Status of makeECall i.e. success or suitable status code.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::tel::ICallManager::makeECall ( int  phoneId,
const std::vector< uint8_t > &  msdPdu,
int  category,
int  variant,
MakeCallCallback  callback = nullptr 
)
pure virtual

Initiate an emergency call with raw MSD pdu, to the emergency number(e.g. 112)

Parameters
[in]phoneIdRepresents phone corresponding to which on make eCall operation is performed
[in]msdPduEncoded MSD(Minimum Set of Data) PDU as per spec EN 15722 2015 or GOST R 54620-2011/33464-2015
[in]categoryECallCategory
[in]variantECallVariant
[in]callbackCallback function to get the response of makeECall request. Possible(not exhaustive) error codes for callback response
Returns
Status of makeECall i.e. success or suitable status code.
virtual telux::common::Status telux::tel::ICallManager::makeECall ( int  phoneId,
const std::string  dialNumber,
const std::vector< uint8_t > &  msdPdu,
int  category,
MakeCallCallback  callback = nullptr 
)
pure virtual

Initiate an emergency call with raw MSD pdu, to the specified phone number. It is similar to a regular voice call, except that it facilitates MSD transmission.

Parameters
[in]phoneIdRepresents phone corresponding to which on make eCall operation is performed
[in]dialNumberString representing the dialing number
[in]msdPduEncoded MSD(Minimum Set of Data) PDU as per spec EN 15722 2015 or GOST R 54620-2011/33464-2015
[in]categoryECallCategory
[in]callbackCallback function to get the response of makeECall request. Possible(not exhaustive) error codes for callback response
Returns
Status of makeECall i.e. success or suitable status code.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::tel::ICallManager::updateECallMsd ( int  phoneId,
const ECallMsdData eCallMsd,
std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr 
)
pure virtual

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

Parameters
[in]phoneIdRepresents phone corresponding to which updateECallMsd operation is performed
[in]eCallMsdThe data structure represents the Minimum Set of Data (MSD)
[in]callbackOptional callback pointer to get the response of updateECallMsd.
Returns
Status of updateECallMsd i.e. success or suitable error code.
virtual telux::common::Status telux::tel::ICallManager::updateECallMsd ( int  phoneId,
const std::vector< uint8_t > &  msdPdu,
telux::common::ResponseCallback  callback 
)
pure virtual

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

Parameters
[in]phoneIdRepresents phone corresponding to which updateECallMsd operation is performed
[in]msdPduEncoded MSD(Minimum Set of Data) PDU as per spec EN 15722 2015 or GOST R 54620-2011/33464-2015
[in]callbackCallback function to get the response of updateECallMsd.
Returns
Status of updateECallMsd i.e. success or suitable error code.
virtual std::vector<std::shared_ptr<ICall> > telux::tel::ICallManager::getInProgressCalls ( )
pure virtual

Get in-progress calls.

Returns
List of active calls.
virtual telux::common::Status telux::tel::ICallManager::conference ( std::shared_ptr< ICall call1,
std::shared_ptr< ICall call2,
std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr 
)
pure virtual

Merge two calls in a conference.

Parameters
[in]call1Call object to conference.
[in]call2Call object to conference.
[in]callbackOptional callback pointer to get the result of conference function
Returns
Status of conference i.e. success or suitable error code.
virtual telux::common::Status telux::tel::ICallManager::swap ( std::shared_ptr< ICall callToHold,
std::shared_ptr< ICall callToActivate,
std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr 
)
pure virtual

Swap calls to make one active and put the another on hold.

Parameters
[in]callToHoldActive call object to swap to hold state.
[in]callToActivateHold call object to swap to active state.
[in]callbackOptional callback pointer to get the result of swap function
Returns
Status of swap i.e. success or suitable error code.
virtual telux::common::Status telux::tel::ICallManager::registerListener ( std::shared_ptr< telux::tel::ICallListener listener)
pure virtual

Add a listener to listen for incoming call, call info change and eCall MSD transmission status change.

Parameters
[in]listenerPointer to ICallListener object which receives event corresponding to phone
Returns
Status of registerListener i.e. success or suitable error code.
virtual telux::common::Status telux::tel::ICallManager::removeListener ( std::shared_ptr< telux::tel::ICallListener listener)
pure virtual

Remove a previously added listener.

Parameters
[in]listenerListener to be removed.
Returns
Status of removeListener i.e. success or suitable error code.
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 ()
 

Constructor & Destructor Documentation

virtual telux::tel::IMakeCallCallback::~IMakeCallCallback ( )
virtual

Member Function Documentation

virtual void telux::tel::IMakeCallCallback::makeCallResponse ( telux::common::ErrorCode  error,
std::shared_ptr< ICall call = nullptr 
)
virtual

This function is called with the response to makeCall API.

Parameters
[out]errorErrorCode
[out]callPointer to Call object or nullptr in case of failure

Enumeration Type Documentation

Defines type of call like incoming, outgoing and none.

Enumerator
INCOMING 
OUTGOING 
NONE 
enum telux::tel::CallState
strong

Defines the states a call can be in

Enumerator
CALL_IDLE 

idle call, default state of a newly created call object

CALL_ACTIVE 

active call

CALL_ON_HOLD 

on hold call

CALL_DIALING 

out going call, in dialing state and not yet connected, MO Call only

CALL_INCOMING 

incoming call, not yet answered

CALL_WAITING 

waiting call

CALL_ALERTING 

alerting call, MO Call only

CALL_ENDED 

call ended / disconnected

Reason for the recently terminated call (either normally ended or failed)

Enumerator
UNOBTAINABLE_NUMBER 
NO_ROUTE_TO_DESTINATION 
CHANNEL_UNACCEPTABLE 
OPERATOR_DETERMINED_BARRING 
NORMAL 
BUSY 
NO_USER_RESPONDING 
NO_ANSWER_FROM_USER 
CALL_REJECTED 
NUMBER_CHANGED 
PREEMPTION 
DESTINATION_OUT_OF_ORDER 
INVALID_NUMBER_FORMAT 
FACILITY_REJECTED 
RESP_TO_STATUS_ENQUIRY 
NORMAL_UNSPECIFIED 
CONGESTION 
NETWORK_OUT_OF_ORDER 
TEMPORARY_FAILURE 
SWITCHING_EQUIPMENT_CONGESTION 
ACCESS_INFORMATION_DISCARDED 
REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE 
RESOURCES_UNAVAILABLE_OR_UNSPECIFIED 
QOS_UNAVAILABLE 
REQUESTED_FACILITY_NOT_SUBSCRIBED 
INCOMING_CALLS_BARRED_WITHIN_CUG 
BEARER_CAPABILITY_NOT_AUTHORIZED 
BEARER_CAPABILITY_UNAVAILABLE 
SERVICE_OPTION_NOT_AVAILABLE 
BEARER_SERVICE_NOT_IMPLEMENTED 
ACM_LIMIT_EXCEEDED 
REQUESTED_FACILITY_NOT_IMPLEMENTED 
ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE 
SERVICE_OR_OPTION_NOT_IMPLEMENTED 
INVALID_TRANSACTION_IDENTIFIER 
USER_NOT_MEMBER_OF_CUG 
INCOMPATIBLE_DESTINATION 
INVALID_TRANSIT_NW_SELECTION 
SEMANTICALLY_INCORRECT_MESSAGE 
INVALID_MANDATORY_INFORMATION 
MESSAGE_TYPE_NON_IMPLEMENTED 
MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE 
INFORMATION_ELEMENT_NON_EXISTENT 
CONDITIONAL_IE_ERROR 
MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE 
RECOVERY_ON_TIMER_EXPIRED 
PROTOCOL_ERROR_UNSPECIFIED 
INTERWORKING_UNSPECIFIED 
CALL_BARRED 
FDN_BLOCKED 
IMSI_UNKNOWN_IN_VLR 
IMEI_NOT_ACCEPTED 
DIAL_MODIFIED_TO_USSD 
DIAL_MODIFIED_TO_SS 
DIAL_MODIFIED_TO_DIAL 
CDMA_LOCKED_UNTIL_POWER_CYCLE 
CDMA_DROP 
CDMA_INTERCEPT 
CDMA_REORDER 
CDMA_SO_REJECT 
CDMA_RETRY_ORDER 
CDMA_ACCESS_FAILURE 
CDMA_PREEMPTED 
CDMA_NOT_EMERGENCY 
CDMA_ACCESS_BLOCKED 
ERROR_UNSPECIFIED