# Phone

**Detailed Description**

This section contains APIs related to Phone, Signal Strength and interfaces to register global listeners to event notifications.

- *group* Telematics\_phone

    - Typedefs

- using EcallConfigValidity = std::bitset&lt;[ECALL\_CONFIG\_COUNT](https://docs.qualcomm.com/doc/80-PF458-2/topic/phone.html#_CPPv4N15EcallConfigType18ECALL_CONFIG_COUNTE)&gt;

    - Bit mask that denotes which of the ECall configuration parameters defined in EcallConfigType enum are valid(and to be considered) in the provided [EcallConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00646) structure. For example, if the configuration related to Canned MSD is provided, then EcallConfigValidity valid = (1 &lt;&lt; ECALL\_CONFIG\_USE\_CANNED\_MSD).

- using VoiceRadioTechResponseCb = std::function&lt;void([telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[tel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3telE)::[RadioTechnology](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel15RadioTechnologyE) radioTech, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) error)&gt;

    - This function is called with the response to requestVoiceRadioTechnology API.

The callback can be invoked from multiple different threads. The implementation should be thread safe.

Deprecated Use [IVoiceServiceStateCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00728) instead

- Param radioTech:

    - **[in]** Pointer to radio technology

- Param error:

    - **[in]** Return code for whether the operation succeeded or failed

- telux::common::ErrorCode::SUCCESS
- telux::common::ErrorCode::RADIO\_NOT\_AVAILABLE
- telux::common::ErrorCode::GENERIC\_FAILURE

- using CellInfoCallback = std::function&lt;void(std::vector&lt;std::shared\_ptr&lt;CellInfo&gt;&gt; cellInfoList, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) error)&gt;

    - This function is called with the response to requestCellInfo API.

The callback can be invoked from multiple different threads. The implementation should be thread safe.

- Param cellInfoList:

    - **[out]** vector of shared pointers to cell info object

- Param error:

    - **[out]** Return code for whether the operation succeeded or failed

- using ECallGetOperatingModeCallback = std::function&lt;void([ECallMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/phone.html#_CPPv49ECallMode) eCallMode, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) error)&gt;

    - This function is called with the response to requestECallOperatingMode API.

The callback can be invoked from multiple different threads. The implementation should be thread safe.

- Param eCallMode:

    - **[out]** [ECallMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00016_1ga5b2d206db263b0c73c2f12ea3aa69ddc.html#a00016_1ga5b2d206db263b0c73c2f12ea3aa69ddc)

- Param error:

    - **[out]** Return code for whether the operation succeeded or failed

- using OperatorNameCallback = std::function&lt;void(std::string operatorLongName, std::string operatorShortName, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) error)&gt;

    - This function is called with the response to requestOperatorName API.

The callback can be invoked from multiple different threads. The implementation should be thread safe.

Deprecated Use OperatorInfoCallback API instead.

- Param operatorLongName:

    - **[out]** Current registered operator long name

- Param operatorShortName:

    - **[out]** Current registered operator short name

- Param error:

    - **[out]** Return code for whether the operation succeeded or failed

- using OperatorInfoCallback = std::function&lt;void(PlmnInfo plmnInfo, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) error)&gt;

    - This function is called with the response to requestOperatorInfo API.

The callback can be invoked from multiple different threads. The implementation should be thread safe.

- Param plmnInfo:

    - **[out]** [PlmnInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00733)

- Param error:

    - **[out]** Return code for whether the operation succeeded or failed

- using RATCapabilitiesMask = std::bitset&lt;16&gt;

    - 

- using VoiceServiceTechnologiesMask = std::bitset&lt;16&gt;

    - 

- using DeviceRatCapability = SimRatCapability

    - For Device max subcription capability

- using SignalStrengthConfigMask = std::bitset&lt;8&gt;

    - 8-bit mask that denotes which signal strength config type is used for the signal strength configuration.

Enums

- enum CellType

    - Defines all the cell info types.

*Values:*

- enumerator GSM

    - 

- enumerator CDMA

    - 

- enumerator LTE

    - 

- enumerator WCDMA

    - 

- enumerator TDSCDMA

    - 

- enumerator NR5G

    - 

- enumerator NB1\_NTN

    -

- enum ECallVariant

    - ECall Variant

*Values:*

- enumerator ECALL\_TEST

    - Initiate a test voice eCall with a configured telephone number stored in the USIM.

- enumerator ECALL\_EMERGENCY

    - Initiate an emergency eCall. The trigger can be a manually initiated eCall or automatically initiated eCall.

- enumerator ECALL\_VOICE

    - Initiate a regular voice call with capability to transfer an MSD.

- enum EmergencyCallType

    - Emergency Call Type

*Values:*

- enumerator CALL\_TYPE\_ECALL

    - eCall (0x0C)

- enum ECallMsdTransmissionStatus

    - MSD Transmission Status

*Values:*

- enumerator SUCCESS

    - In-band MSD transmission is successful

- enumerator FAILURE

    - In-band MSD transmission failed

- enumerator MSD\_TRANSMISSION\_STARTED

    - In-band MSD transmission started

- enumerator NACK\_OUT\_OF\_ORDER

    - Out of order NACK message detected during in-band MSD transmission

- enumerator ACK\_OUT\_OF\_ORDER

    - Out of order ACK message detected during in-band MSD transmission

- enumerator START\_RECEIVED

    - SEND-MSD(START) is received and SYNC is locked during in-band MSD transmission

- enumerator LL\_ACK\_RECEIVED

    - Link-Layer Acknowledgement(LL-ACK) is received during in-band MSD transmission

- enumerator OUTBAND\_MSD\_TRANSMISSION\_STARTED

    - Outband MSD transmission started in NG eCall

- enumerator OUTBAND\_MSD\_TRANSMISSION\_SUCCESS

    - Outband MSD transmission succeeded in NG eCall or Third Party Service (TPS) eCall

- enumerator OUTBAND\_MSD\_TRANSMISSION\_FAILURE

    - Outband MSD transmission failed in NG eCall or Third Party Service (TPS) eCall

- enumerator LL\_NACK\_DUE\_TO\_T7\_EXPIRY

    - Link-Layer Acknowledgement(LL-NACK) is received during in-band MSD transmission due to expiry of T7 HLAP eCall timer

- enumerator MSD\_AL\_ACK\_CLEARDOWN

    - Modem can cleardown the eCall after receipt of Application-Layer Acknowledgement(AL-LCK) during in-band MSD transmission

- enum ReasonType

    - *Values:*

- enumerator NONE

    - Redial reason is NONE

- enumerator CALL\_ORIG\_FAILURE

    - Redial will be attempted due to eCall origination failure

- enumerator CALL\_DROP

    - Redial will be attempted as the eCall is terminated before the reciept of MSD Transmission status

- enumerator MAX\_REDIAL\_ATTEMPTED

    - Redial will not be attempted as the maximum redial count is reached

- enumerator CALL\_CONNECTED

    - Redial will not be attempted as the eCall was connected successfully. This notification ICallListener:onECallRedial is triggered when application or PSAP terminates the eCall.

- enum RedialConfigType

    - *Values:*

- enumerator CALL\_DROP

    - Redial configuration for eCall termination before reciept of MSD Transmission status

- enumerator CALL\_ORIG

    - Redial configuration for eCall origination failure

- enum ECallCategory

    - ECall category

*Values:*

- enumerator VOICE\_EMER\_CAT\_AUTO\_ECALL

    - Automatic emergency call

- enumerator VOICE\_EMER\_CAT\_MANUAL

    - Manual emergency call

- enum ECallVehicleType

    - Represents a vehicle class as per European eCall MSD standard. i.e. EN 15722:2020. Some of these values are only supported in certain MSD versions, so ensure to use supported values in an MSD. For example, TRAILERS\_CLASS\_O is not supported in MSD version-2 (as per A.1 in EN 15722:2015(E)), but supported in in MSD version-3 (as per A.1 in EN 15722:2020).

*Values:*

- enumerator PASSENGER\_VEHICLE\_CLASS\_M1

    - 

- enumerator BUSES\_AND\_COACHES\_CLASS\_M2

    - 

- enumerator BUSES\_AND\_COACHES\_CLASS\_M3

    - 

- enumerator LIGHT\_COMMERCIAL\_VEHICLES\_CLASS\_N1

    - 

- enumerator HEAVY\_DUTY\_VEHICLES\_CLASS\_N2

    - 

- enumerator HEAVY\_DUTY\_VEHICLES\_CLASS\_N3

    - 

- enumerator MOTOR\_CYCLES\_CLASS\_L1E

    - 

- enumerator MOTOR\_CYCLES\_CLASS\_L2E

    - 

- enumerator MOTOR\_CYCLES\_CLASS\_L3E

    - 

- enumerator MOTOR\_CYCLES\_CLASS\_L4E

    - 

- enumerator MOTOR\_CYCLES\_CLASS\_L5E

    - 

- enumerator MOTOR\_CYCLES\_CLASS\_L6E

    - 

- enumerator MOTOR\_CYCLES\_CLASS\_L7E

    - 

- enumerator TRAILERS\_CLASS\_O

    - 

- enumerator AGRI\_VEHICLES\_CLASS\_R

    - 

- enumerator AGRI\_VEHICLES\_CLASS\_S

    - 

- enumerator AGRI\_VEHICLES\_CLASS\_T

    - 

- enumerator OFF\_ROAD\_VEHICLES\_G

    - 

- enumerator SPECIAL\_PURPOSE\_MOTOR\_CARAVAN\_CLASS\_SA

    - 

- enumerator SPECIAL\_PURPOSE\_ARMOURED\_VEHICLE\_CLASS\_SB

    - 

- enumerator SPECIAL\_PURPOSE\_AMBULANCE\_CLASS\_SC

    - 

- enumerator SPECIAL\_PURPOSE\_HEARCE\_CLASS\_SD

    - 

- enumerator OTHER\_VEHICLE\_CLASS

    -

- enum ECallOptionalDataType

    - Represents OptionalDataType class as per European eCall MSD standard. i.e. EN 15722.

*Values:*

- enumerator ECALL\_DEFAULT

    -

- enum ECallLocationOfImpact

    - Defines the impact location of the triggering incident as per Euro NCAP Technical Bulletin TB 040.

*Values:*

- enumerator UNKNOWN

    - Location of impact is unknown.

- enumerator NONE

    - No triggering impact detected.

- enumerator FRONT

    - At front of the car.

- enumerator REAR

    - At rear of the car.

- enumerator DRIVER\_SIDE

    - At the driver side of the car.

- enumerator NON\_DRIVER\_SIDE

    - At the other side of the car.

- enumerator OTHER

    - At an unspecified location.

- enum ECallMode

    - Represents eCall operating mode

*Values:*

- enumerator NORMAL

    - eCall and normal voice calls are allowed

- enumerator ECALL\_ONLY

    - Only eCall is allowed

- enumerator NONE

    - Invalid mode

- enum ECallModeReason

    - Represents eCall operating mode change reason

*Values:*

- enumerator NORMAL

    - eCall operating mode changed due to normal operation like setting of eCall mode

- enumerator ERA\_GLONASS

    - eCall operating mode changed due to ERA-GLONASS operation

- enum HlapTimerStatus

    - Represents the status of an eCall High Level Application Protocol(HLAP) timer that is maintained by the UE state machine.

*Values:*

- enumerator UNKNOWN

    - Unknown

- enumerator INACTIVE

    - eCall Timer is Inactive i.e it has not started or it has stopped/expired

- enumerator ACTIVE

    - eCall Timer is Active i.e it has started but not yet stopped/expired

- enum HlapTimerEvent

    - Represents an event causing a change in the the status of eCall High Level Application Protocol (HLAP) timer that is maintained by the UE state machine.

The timer STARTED notification is provided when the timer moves from INACTIVE to ACTIVE state. The timer STOPPED notification is provided when the timer moves from ACTIVE to INACTIVE state, after its underlying condition is satisfied. The timer EXPIRED notification is provided when the timer moves from ACTIVE to INACTIVE state, after its underlying condition not satisfied until its timeout. The timer RESUMED notification is provided when the application restarts the timer after events like modem reset or a change of modem operating mode from low power mode to online using [telux::tel::ICallManager::restartECallHlapTimer()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00643_1a309caf914d1253cf0e05b9b0eebbef36).

*Values:*

- enumerator UNKNOWN

    - Unknown

- enumerator UNCHANGED

    - No change in timer status

- enumerator STARTED

    - eCall Timer is started

- enumerator STOPPED

    - eCall Timer is stopped

- enumerator EXPIRED

    - eCall Timer is expired

- enumerator RESUMED

    - eCall Timer is resumed. Applicable only for T9 and T10 timers

- enum HlapTimerType

    - Represents the type of an eCall High Level Application Protocol(HLAP) timer that is maintained by the UE state machine. The timers are represented according to EN 16062:2015 standard.

*Values:*

- enumerator UNKNOWN\_TIMER

    - eCall unknown timer

- enumerator T2\_TIMER

    - eCall T2 timer

- enumerator T5\_TIMER

    - eCall T5 timer

- enumerator T6\_TIMER

    - eCall T6 timer

- enumerator T7\_TIMER

    - eCall T7 timer

- enumerator T9\_TIMER

    - eCall T9 timer

- enumerator T10\_TIMER

    - eCall T10 timer

- enum ECallNumType

    - Configuration that represents the type of the number to be dialed when an automotive emergency call is initiated.

*Values:*

- enumerator DEFAULT

    - 

- enumerator OVERRIDDEN

    -

- enum EcallConfigType

    - Defines the supported ECall configuration parameters

*Values:*

- enumerator ECALL\_CONFIG\_MUTE\_RX\_AUDIO

    - Mute the local audio device during MSD transmission

- enumerator ECALL\_CONFIG\_NUM\_TYPE

    - Decides which number needs to be dialed when an eCall is initiated

- enumerator ECALL\_CONFIG\_OVERRIDDEN\_NUM

    - User configured/overridden number that will be dialed for eCall

- enumerator ECALL\_CONFIG\_USE\_CANNED\_MSD

    - Use the pre-defined MSD in modem for eCall

- enumerator ECALL\_CONFIG\_GNSS\_UPDATE\_INTERVAL

    - Time interval in milliseconds, at which modem updates the GNSS information in its internally generated MSD

- enumerator ECALL\_CONFIG\_T2\_TIMER

    - T2 timer value

- enumerator ECALL\_CONFIG\_T7\_TIMER

    - T7 timer value

- enumerator ECALL\_CONFIG\_T9\_TIMER

    - T9 timer value

- enumerator ECALL\_CONFIG\_MSD\_VERSION

    - MSD version to be used by modem when it internally generates MSD i.e when MSD is not sent by application and also canned MSD is not used

- enumerator ECALL\_CONFIG\_COUNT

    -

- enum EcallHlapTimerId

    - Represents timers that need to be restarted by the application after a modem reset or when the operating mode of the device changes from low power mode to online.

*Values:*

- enumerator UNKNOWN

    - Unknown timer ID.

- enumerator T9

    - Timer ID for T9 timer for a regulatory eCall or test eCall. Applicable for both the eCall operating modes ( Normal and eCall only ).

- enumerator T10

    - Timer ID for T10 timer for a regulatory eCall or test eCall. Applicable for eCall only operating mode.

- enum RedialState

    - Represents redial states for AECS (Automatic Emergency Call System) call origination fails.

*Values:*

- enumerator UNKNOWN

    - Unknown redial state.

- enumerator MODEM\_RETRY\_START

    - Indicates when a call failed to originate and the modem has started automatic redial attempts (duration: 45 seconds). The call will be in the dialing state.

- enumerator MODEM\_RETRY\_END

    - Indicates when the modem has completed its automatic redial attempts and call will be ended. Upon receiving this state, the application is expected to initiate a new call.

- enum RadioState

    - Defines the radio state

*Values:*

- enumerator RADIO\_STATE\_OFF

    - Radio is explicitly powered off

- enumerator RADIO\_STATE\_UNAVAILABLE

    - Radio unavailable (eg, resetting or not booted)

- enumerator RADIO\_STATE\_ON

    - Radio is on

- enum ServiceState

    - Defines the service states

Deprecated Use requestVoiceServiceState() API or to know the status of phone

*Values:*

- enumerator EMERGENCY\_ONLY

    - Only emergency calls allowed

- enumerator IN\_SERVICE

    - Normal operation, device is registered with a carrier and online

- enumerator OUT\_OF\_SERVICE

    - Device is not registered with any carrier

- enumerator RADIO\_OFF

    - Device radio is off - Airplane mode for example

- enum RadioTechnology

    - Defines all available radio access technologies

*Values:*

- enumerator RADIO\_TECH\_UNKNOWN

    - Network type is unknown

- enumerator RADIO\_TECH\_GPRS

    - Network type is GPRS

- enumerator RADIO\_TECH\_EDGE

    - Network type is EDGE

- enumerator RADIO\_TECH\_UMTS

    - Network type is UMTS

- enumerator RADIO\_TECH\_IS95A

    - Network type is IS95A

- enumerator RADIO\_TECH\_IS95B

    - Network type is IS95B

- enumerator RADIO\_TECH\_1xRTT

    - Network type is 1xRTT

- enumerator RADIO\_TECH\_EVDO\_0

    - Network type is EVDO revision 0

- enumerator RADIO\_TECH\_EVDO\_A

    - Network type is EVDO revision A

- enumerator RADIO\_TECH\_HSDPA

    - Network type is HSDPA

- enumerator RADIO\_TECH\_HSUPA

    - Network type is HSUPA

- enumerator RADIO\_TECH\_HSPA

    - Network type is HSPA

- enumerator RADIO\_TECH\_EVDO\_B

    - Network type is EVDO revision B

- enumerator RADIO\_TECH\_EHRPD

    - Network type is eHRPD

- enumerator RADIO\_TECH\_LTE

    - Network type is LTE

- enumerator RADIO\_TECH\_HSPAP

    - Network type is HSPA+

- enumerator RADIO\_TECH\_GSM

    - Network type is GSM, Only supports voice

- enumerator RADIO\_TECH\_TD\_SCDMA

    - Network type is TD SCDMA

- enumerator RADIO\_TECH\_IWLAN

    - Network type is TD IWLAN

- enumerator RADIO\_TECH\_LTE\_CA

    - Network type is LTE CA

- enumerator RADIO\_TECH\_NR5G

    - Network type is NR5G

- enumerator RADIO\_TECH\_NB1\_NTN

    - Network type is NB-IoT(NB1) Non Terrestrial Network(NTN)

- enum NetworkMode

    - Defines network types.

*Values:*

- enumerator UNKNOWN

    - Network mode is unknown

- enumerator GSM

    - Network mode is GSM

- enumerator WCDMA

    - Network mode is WCDMA

- enumerator LTE

    - Network mode is LTE

- enumerator NR5G

    - Network mode is NR5G SA and NSA

- enumerator NR5G\_SA

    - Network mode is NR5G SA

- enumerator NR5G\_NSA

    - Network mode is NR5G NSA

- enumerator NB1\_NTN

    - Network mode is NB-IoT(NB1) Non Terrestrial Network(NTN)

- enum RATCapability

    - Defines all available RAT capabilities for each subscription

*Values:*

- enumerator AMPS

    - AMPS mode

- enumerator CDMA

    - CDMA mode

- enumerator HDR

    - HDR mode

- enumerator GSM

    - GSM mode

- enumerator WCDMA

    - WCDMA mode

- enumerator LTE

    - LTE mode

- enumerator TDS

    - TD-SCDMA mode

- enumerator NR5G

    - NR5G NSA mode

- enumerator NR5GSA

    - NR5G SA mode

- enumerator NB1\_NTN

    - NB-IoT(NB1) Non Terrestrial Network(NTN) mode

- enum VoiceServiceTechnology

    - Defines all voice support available on device

*Values:*

- enumerator VOICE\_TECH\_GW\_CSFB

    - 

- enumerator VOICE\_TECH\_1x\_CSFB

    - 

- enumerator VOICE\_TECH\_VOLTE

    -

- enum OperatingMode

    - Defines operating modes of the device.

*Values:*

- enumerator ONLINE

    - Online mode

- enumerator AIRPLANE

    - Low Power mode i.e temporarily disabled RF

- enumerator FACTORY\_TEST

    - Special mode for manufacturer use

- enumerator OFFLINE

    - Device has deactivated RF and partially shutdown

- enumerator RESETTING

    - Device is in process of power cycling

- enumerator SHUTTING\_DOWN

    - Device is in process of shutting down

- enumerator PERSISTENT\_LOW\_POWER

    - Persists low power mode even on reset

- enum EcbMode

    - Emergency callback mode

*Values:*

- enumerator NORMAL

    - Device is not in emergency callback mode(ECBM)

- enumerator EMERGENCY

    - Device is in emergency callback mode(ECBM)

- enum RadioSignalStrengthType

    - Defines the radio [SignalStrength](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00749) types for delta or threshold. Deprecated Use SignalStrengthMeasurementType with RadioTechnology.

*Values:*

- enumerator GSM\_RSSI

    - GSM received signal strength indicator.

- enumerator WCDMA\_RSSI

    - WCDMA received signal strength indicator.

- enumerator LTE\_RSSI

    - LTE received signal strength indicator.

- enumerator LTE\_SNR

    - LTE signal-to-noise ratio.

- enumerator LTE\_RSRQ

    - LTE reference signal received quality.

- enumerator LTE\_RSRP

    - LTE reference signal received power.

- enumerator NR5G\_SNR

    - NR5G signal-to-noise ratio.

- enumerator NR5G\_RSRP

    - NR5G reference signal received power.

- enumerator NR5G\_RSRQ

    - NR5G reference signal received quality.

- enum SignalStrengthConfigType

    - Defines the [SignalStrength](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00749) configuration parameters. Deprecated Use SignalStrengthConfigExType.

*Values:*

- enumerator DELTA

    - Signal strength delta provided.

- enumerator THRESHOLD

    - Signal strength threshold provided.

- enum SignalStrengthConfigExType

    - Defines different configuration types to configure the signal strength notification. Each value represents a corresponding bit for the SignalStrengthConfigMask bitset.

*Values:*

- enumerator DELTA

    - Signal strength delta provided.

- enumerator DELTA

    - Signal strength delta provided.

- enumerator THRESHOLD

    - Signal strength threshold list provided.

- enumerator THRESHOLD

    - Signal strength threshold provided.

- enumerator HYSTERESIS\_DB

    - Signal strength hysteresis delta provided.

- enum SignalStrengthMeasurementType

    - Defines different signal strength measurement types.

*Values:*

- enumerator RSSI

    - Received signal strength indicator.

- enumerator ECIO

    - Energy per chip to interference power ratio.

- enumerator SINR

    - Signal-to-interference-plus-noise ratio.

- enumerator IO

    - Interference power ratio.

- enumerator RSRQ

    - Reference signal received quality.

- enumerator RSRP

    - Reference signal received power.

- enumerator SNR

    - Signal-to-noise ratio.

- enumerator RSCP

    - Received signal code power.

- enum SignalStrengthLevel

    - Defines all the signal levels that [SignalStrength](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00749) class can return where level 1 is low and level 5 is high.

*Values:*

- enumerator LEVEL\_1

    - 

- enumerator LEVEL\_2

    - 

- enumerator LEVEL\_3

    - 

- enumerator LEVEL\_4

    - 

- enumerator LEVEL\_5

    - 

- enumerator LEVEL\_UNKNOWN

    -

- enum VoiceServiceState

    - Defines the voice service states

*Values:*

- enumerator NOT\_REG\_AND\_NOT\_SEARCHING

    - Not registered, MT is not currently searching a new operator to register

- enumerator REG\_HOME

    - Registered, home network

- enumerator NOT\_REG\_AND\_SEARCHING

    - Not registered, but MT is currently searching a new operator to register

- enumerator REG\_DENIED

    - Registration denied

- enumerator UNKNOWN

    - Unknown

- enumerator REG\_ROAMING

    - Registered, roaming

- enumerator NOT\_REG\_AND\_EMERGENCY\_AVAILABLE\_AND\_NOT\_SEARCHING

    - Same as NOT\_REG\_AND\_NOT\_SEARCHING but indicates that emergency calls are enabled

- enumerator NOT\_REG\_AND\_EMERGENCY\_AVAILABLE\_AND\_SEARCHING

    - Same as NOT\_REG\_AND\_SEARCHING but indicates that emergency calls are enabled

- enumerator REG\_DENIED\_AND\_EMERGENCY\_AVAILABLE

    - Same as REG\_DENIED but indicates that emergency calls are enabled

- enumerator UNKNOWN\_AND\_EMERGENCY\_AVAILABLE

    - Same as UNKNOWN but indicates that emergency calls are enabled

- enum VoiceServiceDenialCause

    - Defines the voice service denial cause why voice service state registration was denied See 3GPP TS 24.008, 10.5.3.6 and Annex G.

*Values:*

- enumerator UNDEFINED

    - Undefined

- enumerator GENERAL

    - General

- enumerator AUTH\_FAILURE

    - Authentication Failure

- enumerator IMSI\_UNKNOWN

    - IMSI unknown in HLR

- enumerator ILLEGAL\_MS

    - Illegal Mobile Station (MS), network refuses service to the MS either because an identity of the MS is not acceptable to the network or because the MS does not pass the authentication check

- enumerator IMSI\_UNKNOWN\_VLR

    - IMSI unknown in Visitors Location Register (VLR)

- enumerator IMEI\_NOT\_ACCEPTED

    - Network does not accept emergency call establishment using an IMEI or not accept attach procedure for emergency services using an IMEI

- enumerator ILLEGAL\_ME

    - ME used is not acceptable to the network

- enumerator GPRS\_SERVICES\_NOT\_ALLOWED

    - Not allowed to operate GPRS services.

- enumerator GPRS\_NON\_GPRS\_NOT\_ALLOWED

    - Not allowed to operate either GPRS or non-GPRS services

- enumerator MS\_IDENTITY\_FAILED

    - the network cannot derive the MS’s identity from the P-TMSI/GUTI.

- enumerator IMPLICITLY\_DETACHED

    - network has implicitly detached the MS

- enumerator GPRS\_NOT\_ALLOWED\_IN\_PLMN

    - GPRS services not allowed in this PLMN

- enumerator MSC\_TEMPORARILY\_NOT\_REACHABLE

    - MSC temporarily not reachable

- enumerator SMS\_PROVIDED\_VIA\_GPRS

    - SMS provided via GPRS in this routing area

- enumerator NO\_PDP\_CONTEXT\_ACTIVATED

    - No PDP context activated

- enumerator PLMN\_NOT\_ALLOWED

    - if the network initiates a detach request or UE requests a services, in a PLMN where the MS, by subscription or due to operator determined barring is not allowed to operate.

- enumerator LOCATION\_AREA\_NOT\_ALLOWED

    - network initiates a detach request, in a location area where the HPLMN determines that the MS, by subscription, is not allowed to operate or roaming subscriber the subscriber is denied service even if other PLMNs are available on which registration was possible

- enumerator ROAMING\_NOT\_ALLOWED

    - Roaming not allowed in this Location Area

- enumerator NO\_SUITABLE\_CELLS

    - No Suitable Cells in this Location Area

- enumerator NOT\_AUTHORIZED

    - Not Authorized for this CSG

- enumerator NETWORK\_FAILURE

    - Network Failure

- enumerator MAC\_FAILURE

    - MAC failure

- enumerator SYNC\_FAILURE

    - USIM detects that the SQN in the AUTHENTICATION REQUEST or AUTHENTICATION\_AND\_CIPHERING REQUEST message is out of range

- enumerator CONGESTION

    - network cannot serve a request from the MS because of congestion

- enumerator GSM\_AUTHENTICATION\_UNACCEPTABLE

    - GSM Authentication unacceptable

- enumerator SERVICE\_OPTION\_NOT\_SUPPORTED

    - Service option not supported

- enumerator SERVICE\_OPTION\_NOT\_SUBCRIBED

    - Requested service option not subscribed

- enumerator SERVICE\_OPTION\_OUT\_OF\_ORDER

    - Service option temporarily out of order

- enumerator CALL\_NOT\_IDENTIFIED

    - Call cannot be identified

- enumerator RETRY\_FOR\_NEW\_CELL

    - Retry upon entry into a new cell

- enumerator INCORRECT\_MESSAGE

    - Semantically incorrect message

- enumerator INVALID\_INFO

    - Invalid mandatory information

- enumerator MSG\_TYPE\_NOT\_IMPLEMENTED

    - Message type non-existent or not implemented

- enumerator MSG\_NOT\_COMPATIBLE

    - Message not compatible with protocol state

- enumerator INFO\_NOT\_IMPLEMENTED

    - Information element non-existent or not implemented

- enumerator CONDITIONAL\_IE\_ERROR

    - Conditional IE error

- enumerator PROTOCOL\_ERROR\_UNSPECIFIED

    - Protocol error, unspecified

Variables

- static const std::string CONTENT\_HEADER = "application/EmergencyCallData.eCall.MSD"

    - Default value for [CustomSipHeader::contentType](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00645_1a5f06384f393de6604cb8dac323119ba0)

- class GsmCellIdentity

    - [GsmCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00671) class provides methods to get mobile country code, mobile network code, location area code, cell identity, absolute RF channel number and base station identity code.

Public Functions

- GsmCellIdentity(std::string mcc, std::string mnc, int lac, int cid, int arfcn, int bsic)

    - 

- const int getMcc()

    - Get the Mobile Country Code.

Deprecated Use [getMobileCountryCode()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00671_1a192542ae583443739caefdd38ca96c62) API instead

- Returns:

    - Mcc value.

- const int getMnc()

    - Get the Mobile Network Code.

Deprecated Use [getMobileNetworkCode()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00671_1a899f5e31c540439677d87e04df9133fc) API instead

- Returns:

    - Mnc value.

- const std::string getMobileCountryCode()

    - Get the Mobile Country Code.

- Returns:

    - Mcc value.

- const std::string getMobileNetworkCode()

    - Get the Mobile Network Code.

- Returns:

    - Mnc value.

- const int getLac()

    - Get the location area code.

- Returns:

    - Location area code.

- const int getIdentity()

    - Get the cell identity.

- Returns:

    - Cell identity.

- const int getArfcn()

    - Get the absolute RF channel number.

- Returns:

    - Absolute RF channel number.

- const int getBaseStationIdentityCode()

    - Get the base station identity code.

- Returns:

    - Base station identity code.

Private Members

- std::string mcc\_

    - 

- std::string mnc\_

    - 

- int lac\_

    - 

- int cid\_

    - 

- int arfcn\_

    - 

- int bsic\_

    -

- class CdmaCellIdentity

    - [CdmaCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00672) class provides methods to get the network identifier, system identifier, base station identifier, longitude and latitude.

Deprecated As of version 1.53.0 this API is no longer supported.

Public Functions

- CdmaCellIdentity(int networkId, int systemId, int baseStationId, int longitude, int latitude)

    - 

- const int getNid()

    - Get the network identifier.

- Returns:

    - Network identifier.

- const int getSid()

    - Get the system identifier.

- Returns:

    - System identifier.

- const int getBaseStationId()

    - Get the base station identifier.

- Returns:

    - Base station identifier.

- const int getLongitude()

    - Get the longitude.

- Returns:

    - Longitude.

- const int getLatitude()

    - Get the latitude.

- Returns:

    - Latitude.

Private Members

- int nid\_

    - 

- int sid\_

    - 

- int stationId\_

    - 

- int longitude\_

    - 

- int latitude\_

    -

- class LteCellIdentity

    - [LteCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00673) class provides methods to get the mobile country code, mobile network code, cell identity, physical cell identifier, tracking area code and absolute Rf channel number.

Public Functions

- LteCellIdentity(std::string mcc, std::string mnc, int ci, int pci, int tac, int earfcn)

    - 

- const int getMcc()

    - Get the Mobile Country Code.

Deprecated Use [getMobileCountryCode()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00673_1aebc92497a48d9a950e3a49fd26ef1dcf) API instead

- Returns:

    - Mcc value.

- const int getMnc()

    - Get the Mobile Network Code.

Deprecated Use [getMobileNetworkCode()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00673_1acb1abd3913d5960a0f6a8ce27b8392c6) API instead

- Returns:

    - Mnc value.

- const std::string getMobileCountryCode()

    - Get the Mobile Country Code.

- Returns:

    - Mcc value.

- const std::string getMobileNetworkCode()

    - Get the Mobile Network Code.

- Returns:

    - Mnc value.

- const int getIdentity()

    - Get the cell identity.

- Returns:

    - Cell identity.

- const int getPhysicalCellId()

    - Get the physical cell identifier.

- Returns:

    - Physical cell identifier.

- const int getTrackingAreaCode()

    - Get the tracking area code.

- Returns:

    - Tracking area code.

- const int getEarfcn()

    - Get the absolute RF channel number.

- Returns:

    - Absolute RF channel number.

Private Members

- std::string mcc\_

    - 

- std::string mnc\_

    - 

- int ci\_

    - 

- int pci\_

    - 

- int tac\_

    - 

- int earfcn\_

    -

- class WcdmaCellIdentity

    - [WcdmaCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00674) class provides methods to get the mobile country code, mobile network code, location area code, cell identitifier, primary scrambling code and absolute RF channel number.

Public Functions

- WcdmaCellIdentity(std::string mcc, std::string mnc, int lac, int cid, int psc, int uarfcn)

    - 

- const int getMcc()

    - Get the Mobile Country Code.

Deprecated Use [getMobileCountryCode()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00674_1aeddf4ff991f85b6a6064f719518898c9) API instead

- Returns:

    - Mcc value.

- const int getMnc()

    - Get the Mobile Network Code.

Deprecated Use [getMobileNetworkCode()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00674_1aa76b7798636d22f83527ae1a0ced169b) API instead

- Returns:

    - Mnc value.

- const std::string getMobileCountryCode()

    - Get the Mobile Country Code.

- Returns:

    - Mcc value.

- const std::string getMobileNetworkCode()

    - Get the Mobile Network Code.

- Returns:

    - Mnc value.

- const int getLac()

    - Get the location area code.

- Returns:

    - Location area code.

- const int getIdentity()

    - Get the cell identity.

- Returns:

    - Cell identity.

- const int getPrimaryScramblingCode()

    - Get the primary scrambling code.

- Returns:

    - Primary scrambling code.

- const int getUarfcn()

    - Get the absolute RF channel number.

- Returns:

    - Absolute RF channel number.

Private Members

- std::string mcc\_

    - 

- std::string mnc\_

    - 

- int lac\_

    - 

- int cid\_

    - 

- int psc\_

    - 

- int uarfcn\_

    -

- class TdscdmaCellIdentity

    - [TdscdmaCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00675) class provides methods to get the mobile country code, mobile network code, location area code, cell identity and cell parameters identifier.

Deprecated As of version 1.53.0 this API is no longer supported.

Public Functions

- TdscdmaCellIdentity(std::string mcc, std::string mnc, int lac, int cid, int cpid)

    - 

- const int getMcc()

    - Get the Mobile Country Code.

Deprecated Use [getMobileCountryCode()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00675_1a2fbe4d64f8aebe58e2811af7e31135bf) API instead

- Returns:

    - Mcc value.

- const int getMnc()

    - Get the Mobile Network Code.

Deprecated Use [getMobileNetworkCode()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00675_1a888c747a105193d86b19ee2aea7f851c) API instead

- Returns:

    - Mnc value.

- const std::string getMobileCountryCode()

    - Get the Mobile Country Code.

- Returns:

    - Mcc value.

- const std::string getMobileNetworkCode()

    - Get the Mobile Network Code.

- Returns:

    - Mnc value.

- const int getLac()

    - Get the location area code

- Returns:

    - Location area code.

- const int getIdentity()

    - Get the cell identity.

- Returns:

    - Cell identity.

- const int getParametersId()

    - Get the cell parameters identifier.

- Returns:

    - Cell parameters identifier.

Private Members

- std::string mcc\_

    - 

- std::string mnc\_

    - 

- int lac\_

    - 

- int cid\_

    - 

- int cpid\_

    -

- class Nr5gCellIdentity

    - [Nr5gCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00676) class provides methods to get the mobile country code, mobile network code, cell identity, physical cell identifier, tracking area code and absolute RF channel number information of the Serving cell

Public Functions

- Nr5gCellIdentity(std::string mcc, std::string mnc, uint64\_t ci, uint32\_t pci, int32\_t tac, int32\_t arfcn)

    - 

- const std::string getMobileCountryCode()

    - Get the Mobile Country Code.

- Returns:

    - Mcc value.

- const std::string getMobileNetworkCode()

    - Get the Mobile Network Code.

- Returns:

    - Mnc value.

- const uint64\_t getIdentity()

    - Get the cell identity.

- Returns:

    - Cell identity.

- const uint32\_t getPhysicalCellId()

    - Get the physical cell identifier.

- Returns:

    - Physical cell identifier.

- const int32\_t getTrackingAreaCode()

    - Get the tracking area code.

- Returns:

    - Tracking area code.

- const int32\_t getArfcn()

    - Get the absolute RF channel number.

- Returns:

    - Absolute RF channel number. ‘-1’ denotes that the value is unknown.

Private Members

- std::string mcc\_

    - 

- std::string mnc\_

    - 

- uint64\_t ci\_

    - 

- uint32\_t pci\_

    - 

- int32\_t tac\_

    - 

- int32\_t arfcn\_

    -

- class Nb1NtnCellIdentity

    - [Nb1NtnCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00677) class provides methods to get the mobile country code, mobile network code, cell identity, tracking area code and E-UTRA absolute radio frequency(RF) channel number.

Public Functions

- Nb1NtnCellIdentity(std::string mcc, std::string mnc, int ci, int tac, int earfcn)

    - 

- const std::string getMobileCountryCode()

    - Get the mobile country code.

- Returns:

    - mcc value.

- const std::string getMobileNetworkCode()

    - Get the mobile network code.

- Returns:

    - mnc value.

- const int getIdentity()

    - Get the cell identity.

- Returns:

    - Cell identity.

- const int getTrackingAreaCode()

    - Get the tracking area code.

- Returns:

    - Tracking area code.

- const int getEarfcn()

    - Get the E-UTRA absolute radio frequency(RF) channel number.

- Returns:

    - E-UTRA absolute radio frequency(RF) channel number.

Private Members

- std::string mcc\_

    - 

- std::string mnc\_

    - 

- int ci\_

    - 

- int tac\_

    - 

- int earfcn\_

    -

- class CellInfo

    - [CellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00678) class provides cell info type and checks whether the current cell is registered or not.

Subclassed by [telux::tel::CdmaCellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00681), [telux::tel::GsmCellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00679), [telux::tel::LteCellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00683), [telux::tel::Nb1NtnCellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00691), [telux::tel::Nr5gCellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00689), [telux::tel::TdscdmaCellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00687), [telux::tel::WcdmaCellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00685)

Public Functions

- virtual [CellType](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel8CellTypeE) getType()

    - Get the cell type.

- Returns:

    - CellType.

- virtual bool isRegistered()

    - Checks whether the current cell is registered or not.

- Returns:

    - If true cell is registered or vice-versa.

- inline virtual ~CellInfo()

    -

Protected Attributes

- [CellType](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel8CellTypeE) type\_

    - 

- int registered\_

    -

- class GsmCellInfo : public [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[tel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3telE)::[CellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00678.html#_CPPv4N5telux3tel8CellInfoE)

    - \*GsmCellInfo class provides methods to get cell type, cell registration status, cell \*identity and signal strength information.

Public Functions

- GsmCellInfo(int registered, [GsmCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00671.html#_CPPv4N5telux3tel15GsmCellIdentityE) id, [GsmSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00680.html#_CPPv4N5telux3tel21GsmSignalStrengthInfoE) ssInfo)

    - [GsmCellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00679) constructor.

- Parameters:

    - - **registered** – **[in]** - Registration status of the cell.
- **id** – **[in]** - GSM cell identity.
- **ssInfo** – **[in]** - GSM cell signal strength.

- [GsmCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00671.html#_CPPv4N5telux3tel15GsmCellIdentityE) getCellIdentity()

    - Get GSM cell identity information.

- Returns:

    - [GsmCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00671).

- [GsmSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00680.html#_CPPv4N5telux3tel21GsmSignalStrengthInfoE) getSignalStrengthInfo()

    - Get GSM cell signal strength information.

- Returns:

    - [GsmSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00680).

Private Members

- [GsmCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00671.html#_CPPv4N5telux3tel15GsmCellIdentityE) id\_

    - 

- [GsmSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00680.html#_CPPv4N5telux3tel21GsmSignalStrengthInfoE) ssInfo\_

    -

- class CdmaCellInfo : public [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[tel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3telE)::[CellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00678.html#_CPPv4N5telux3tel8CellInfoE)

    - \*CdmaCellInfo class provides methods to get cell type, cell registration status, cell \*identity and signal strength information.

Deprecated As of version 1.53.0 this API is no longer supported.

Public Functions

- CdmaCellInfo(int registered, [CdmaCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00672.html#_CPPv4N5telux3tel16CdmaCellIdentityE) id, [CdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00682.html#_CPPv4N5telux3tel22CdmaSignalStrengthInfoE) ssInfo)

    - [CdmaCellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00681) constructor

- Parameters:

    - - **registered** – **[in]** - Registration status of the cell.
- **id** – **[in]** - CDMA cell identity.
- **ssInfo** – **[in]** - CDMA cell signal strength.

- [CdmaCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00672.html#_CPPv4N5telux3tel16CdmaCellIdentityE) getCellIdentity()

    - Get CDMA cell identity information.

- Returns:

    - [CdmaCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00672).

- [CdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00682.html#_CPPv4N5telux3tel22CdmaSignalStrengthInfoE) getSignalStrengthInfo()

    - Get CDMA cell signal strength information.

- Returns:

    - [CdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00682).

Private Members

- [CdmaCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00672.html#_CPPv4N5telux3tel16CdmaCellIdentityE) id\_

    - 

- [CdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00682.html#_CPPv4N5telux3tel22CdmaSignalStrengthInfoE) ssInfo\_

    -

- class LteCellInfo : public [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[tel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3telE)::[CellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00678.html#_CPPv4N5telux3tel8CellInfoE)

    - \*LteCellInfo class provides methods to get cell type, cell registration status, cell \*identity and signal strength information.

Public Functions

- LteCellInfo(int registered, [LteCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00673.html#_CPPv4N5telux3tel15LteCellIdentityE) id, [LteSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00684.html#_CPPv4N5telux3tel21LteSignalStrengthInfoE) ssInfo)

    - [LteCellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00683) constructor.

- Parameters:

    - - **registered** – **[in]** - Registration status of the cell.
- **id** – **[in]** - LTE cell identity class.
- **ssInfo** – **[in]** - LTE cell signal strength.

- [LteCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00673.html#_CPPv4N5telux3tel15LteCellIdentityE) getCellIdentity()

    - Get LTE cell identity information.

- Returns:

    - [LteCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00673).

- [LteSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00684.html#_CPPv4N5telux3tel21LteSignalStrengthInfoE) getSignalStrengthInfo()

    - Get LTE cell signal strength information.

- Returns:

    - [LteSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00684).

Private Members

- [LteCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00673.html#_CPPv4N5telux3tel15LteCellIdentityE) id\_

    - 

- [LteSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00684.html#_CPPv4N5telux3tel21LteSignalStrengthInfoE) ssInfo\_

    -

- class WcdmaCellInfo : public [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[tel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3telE)::[CellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00678.html#_CPPv4N5telux3tel8CellInfoE)

    - \*WcdmaCellInfo class provides methods to get cell type, cell registration status, cell \*identity and signal strength information.

Public Functions

- WcdmaCellInfo(int registered, [WcdmaCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00674.html#_CPPv4N5telux3tel17WcdmaCellIdentityE) id, [WcdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00686.html#_CPPv4N5telux3tel23WcdmaSignalStrengthInfoE) ssInfo)

    - [WcdmaCellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00685) constructor.

- Parameters:

    - - **registered** – **[in]** - Registration status of the cell.
- **id** – **[in]** - WCDMA cell identity.
- **ssInfo** – **[in]** - WCDMA cell signal strength.

- [WcdmaCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00674.html#_CPPv4N5telux3tel17WcdmaCellIdentityE) getCellIdentity()

    - Get WCDMA cell identity information.

- Returns:

    - [WcdmaCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00674).

- [WcdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00686.html#_CPPv4N5telux3tel23WcdmaSignalStrengthInfoE) getSignalStrengthInfo()

    - Get WCDMA cell signal strength information.

- Returns:

    - [WcdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00686).

Private Members

- [WcdmaCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00674.html#_CPPv4N5telux3tel17WcdmaCellIdentityE) id\_

    - 

- [WcdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00686.html#_CPPv4N5telux3tel23WcdmaSignalStrengthInfoE) ssInfo\_

    -

- class TdscdmaCellInfo : public [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[tel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3telE)::[CellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00678.html#_CPPv4N5telux3tel8CellInfoE)

    - \*TdscdmaCellInfo class provides methods to get cell type, cell registration status, cell \*identity and signal strength information.

Deprecated As of version 1.53.0 this API is no longer supported.

Public Functions

- TdscdmaCellInfo(int registered, [TdscdmaCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00675.html#_CPPv4N5telux3tel19TdscdmaCellIdentityE) id, [TdscdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00688.html#_CPPv4N5telux3tel25TdscdmaSignalStrengthInfoE) ssInfo)

    - [TdscdmaCellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00687) constructor.

- Parameters:

    - - **registered** – **[in]** - Registration status of the cell
- **id** – **[in]** - TDSCDMA cell identity.
- **ssInfo** – **[in]** - TDSCDMA cell signal strength.

- [TdscdmaCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00675.html#_CPPv4N5telux3tel19TdscdmaCellIdentityE) getCellIdentity()

    - Get TDSCDMA cell identity information.

- Returns:

    - [TdscdmaCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00675).

- [TdscdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00688.html#_CPPv4N5telux3tel25TdscdmaSignalStrengthInfoE) getSignalStrengthInfo()

    - Get TDSCDMA cell signal strength information.

- Returns:

    - [TdscdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00688).

Private Members

- [TdscdmaCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00675.html#_CPPv4N5telux3tel19TdscdmaCellIdentityE) id\_

    - 

- [TdscdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00688.html#_CPPv4N5telux3tel25TdscdmaSignalStrengthInfoE) ssInfo\_

    -

- class Nr5gCellInfo : public [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[tel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3telE)::[CellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00678.html#_CPPv4N5telux3tel8CellInfoE)

    - [Nr5gCellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00689) class provides methods to get cell type, cell registration status, cell identity and signal strength information corresponding to the Serving cell.

Public Functions

- Nr5gCellInfo(int registered, [Nr5gCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00676.html#_CPPv4N5telux3tel16Nr5gCellIdentityE) id, [Nr5gSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00690.html#_CPPv4N5telux3tel22Nr5gSignalStrengthInfoE) ssInfo)

    - 

- [Nr5gCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00676.html#_CPPv4N5telux3tel16Nr5gCellIdentityE) getCellIdentity()

    - Get NR5G cell identity information.

- Returns:

    - [Nr5gCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00676).

- [Nr5gSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00690.html#_CPPv4N5telux3tel22Nr5gSignalStrengthInfoE) getSignalStrengthInfo()

    - Get NR5G cell signal strength information.

- Returns:

    - [Nr5gSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00690).

Private Members

- [Nr5gCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00676.html#_CPPv4N5telux3tel16Nr5gCellIdentityE) id\_

    - 

- [Nr5gSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00690.html#_CPPv4N5telux3tel22Nr5gSignalStrengthInfoE) ssInfo\_

    -

- class Nb1NtnCellInfo : public [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[tel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3telE)::[CellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00678.html#_CPPv4N5telux3tel8CellInfoE)

    - [Nb1NtnCellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00691) class provides methods to get cell type, cell registration status, cell identity and signal strength information.

Public Functions

- Nb1NtnCellInfo(int registered, [Nb1NtnCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00677.html#_CPPv4N5telux3tel18Nb1NtnCellIdentityE) id, [Nb1NtnSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00692.html#_CPPv4N5telux3tel24Nb1NtnSignalStrengthInfoE) ssInfo)

    - [Nb1NtnCellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00691) constructor.

- Parameters:

    - - **registered** – **[in]** - Registration status of the cell.
- **id** – **[in]** - NB1 NTN cell identity class.
- **ssInfo** – **[in]** - NB1 NTN cell signal strength.

- [Nb1NtnCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00677.html#_CPPv4N5telux3tel18Nb1NtnCellIdentityE) getCellIdentity()

    - Get NB1 NTN cell identity information.

- Returns:

    - [Nb1NtnCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00677).

- [Nb1NtnSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00692.html#_CPPv4N5telux3tel24Nb1NtnSignalStrengthInfoE) getSignalStrengthInfo()

    - Get NB1 NTN cell signal strength information.

- Returns:

    - [Nb1NtnSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00692).

Private Members

- [Nb1NtnCellIdentity](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00677.html#_CPPv4N5telux3tel18Nb1NtnCellIdentityE) id\_

    - 

- [Nb1NtnSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00692.html#_CPPv4N5telux3tel24Nb1NtnSignalStrengthInfoE) ssInfo\_

    -

- struct ECallRedialInfo

    - Public Members

- bool willECallRedial

    - Indicates whether redial of eCall will be attempted by modem or not

- [ReasonType](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel10ReasonTypeE) reason

    - Indicates the reason for redial of eCall to be performed or not

- struct ECallMsdOptionals

    - Represents the availability of some optional parameters in MSD as per European eCall MSD standard EN 15722.

Public Functions

- inline ECallMsdOptionals()

    -

Public Members

- [ECallOptionalDataType](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel21ECallOptionalDataTypeE) optionalDataType

    - Type of optional data

- bool optionalDataPresent

    - Availability of Optional data: true - Present or false - Absent

- bool recentVehicleLocationN1Present

    - Availability of Recent Vehicle Location N1 data: true - Present or false - Absent. In MSD version-3 (as per EN 15722:2020), as recentVehicleLocationN1 is mandatory, this should be set to true by client

- bool recentVehicleLocationN2Present

    - Availability of Recent Vehicle Location N2 data: true - Present or false - Absent. In MSD version-3 (as per EN 15722:2020), as recentVehicleLocationN2 is mandatory, this should be set to true by client

- bool numberOfPassengersPresent

    - Availability of number of seat belts fastened data: true - Present or false - Absent

- struct ECallMsdControlBits

    - Represents [ECallMsdControlBits](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00694) structure as per European eCall MSD standard. i.e. EN 15722.

Public Functions

- inline ECallMsdControlBits()

    -

Public Members

- bool automaticActivation

    - auto / manual activation

- bool testCall

    - test / emergency call

- bool positionCanBeTrusted

    - false if coincidence &lt; 95% of reported pos within +/- 150m

- [ECallVehicleType](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel16ECallVehicleTypeE) vehicleType

    - Represents a vehicle class as per EN 15722

- struct ECallVehicleIdentificationNumber

    - Represents VehicleIdentificationNumber structure as per European eCall MSD standard. i.e. EN 15722. Vehicle Identification Number confirming ISO3779.

Public Functions

- inline ECallVehicleIdentificationNumber()

    -

Public Members

- std::string isowmi

    - World Manufacturer Index (WMI)

- std::string isovds

    - Vehicle Type Descriptor (VDS)

- std::string isovisModelyear

    - Model year from Vehicle Identifier Section (VIS)

- std::string isovisSeqPlant

    - Plant code + sequential number from VIS

- struct ECallVehiclePropulsionStorageType

    - Represents VehiclePropulsionStorageType structure as per European eCall MSD standard. i.e. EN 15722. Vehicle Propulsion type (energy storage): True- Present, False - Absent

Public Functions

- inline ECallVehiclePropulsionStorageType()

    -

Public Members

- bool gasolineTankPresent

    - Represents the presence of Gasoline Tank in the vehicle.

- bool dieselTankPresent

    - Represents the presence of Diesel Tank in the vehicle

- bool compressedNaturalGas

    - Represents the presence of CNG in the vehicle

- bool liquidPropaneGas

    - Represents the presence of Liquid Propane Gas in the vehicle

- bool electricEnergyStorage

    - Represents the presence of Electronic Storage in the vehicle

- bool hydrogenStorage

    - Represents the presence of Hydrogen Storage in the vehicle

- bool otherStorage

    - Represents the presence of Other types of storage in the vehicle

- struct ECallVehicleLocation

    - Represents VehicleLocation structure as per European eCall MSD standard. i.e. EN 15722.

Public Functions

- inline ECallVehicleLocation()

    -

Public Members

- int32\_t positionLatitude

    - latitude in milliarcsec, range is (-2147483648 to 2147483647)

- int32\_t positionLongitude

    - longitude in milliarcsec, range is (-2147483648 to 2147483647)

- struct ECallVehicleLocationDelta

    - Represents VehicleLocationDelta structure as per European eCall MSD standard. i.e. EN 15722. Delta with respect to Current Vehicle location.

Public Functions

- inline ECallVehicleLocationDelta()

    -

Public Members

- int16\_t latitudeDelta

    - ( 1 Unit = 100 milliarcseconds, range: -512 to 511)

- int16\_t longitudeDelta

    - ( 1 Unit = 100 milliarcseconds, range: -512 to 511)

- struct ECallDeltaV

    - Defines delta-v parameters as per Euro NCAP Technical Bulletin TB 040.

Public Members

- uint8\_t rangeLimit

    - Upper limit of the detection range for delta-v. The range is unsigned integer[100 to 255].

- int16\_t deltaVX

    - Difference in velocity just before and just after (start of the) triggering incident measured over the X-axis of the vehicle coordinate system. The range is signed integer[-255 to 255].

- int16\_t deltaVY

    - Difference in velocity just before and just after (start of the) triggering incident measured over the Y-axis of the vehicle coordinate system. The range is signed integer[-255 to 255].

- struct ECallOptionalEuroNcapData

    - Optional additional data information as per Euro NCAP Technical Bulletin TB 040.

Public Members

- [ECallLocationOfImpact](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel21ECallLocationOfImpactE) locationOfImpact

    - The impact location of the triggering incident.

- bool rollOverDetectedPresent = false

    - Availability of rollover detected: true - Present or false - Absent

- bool rollOverDetected = false

    - (Optional) Omitted if vehicle is not able to detect a rollover, else true or false.

- [ECallDeltaV](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00699.html#_CPPv4N5telux3tel11ECallDeltaVE) deltaV

    - Difference between velocity just after and just before impact (delta-v).

- struct ECallOptionalPdu

    - Optional additional data information for the emergency rescue service.

Public Members

- ECallDefaultOptions eCallDefaultOptions

    - Optional information. This field is unused and deprecated. Use the other fields below, instead.

- std::string oid

    - Relative object identifier(OID) as per European standard i.e. EN 15722

- std::vector&lt;uint8\_t&gt; data

    - Optional additional data content.

- struct ECallMsdData

    - Data structure to hold all details required to construct an MSD. Supports MSD version-2(as per EN 15722:2015) and MSD version-3(as per EN 15722:2020)

Public Members

- [ECallMsdOptionals](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00693.html#_CPPv4N5telux3tel17ECallMsdOptionalsE) optionals

    - Indicates presence of optional data fields in ECall MSD. In MSD version-2 (as per EN 15722:2015), the following data fields are optional: recentVehicleLocationN1, recentVehicleLocationN2, numberOfPassengers and optionalAdditionalData. However, in MSD version-3 (as per EN 15722:2020), the following data fields are optional: numberOfOccupants (replacing numberOfPassengers) and optionalAdditionalData.

- uint8\_t messageIdentifier = 1

    - Starts with 1 for each new eCall and to be incremented with every retransmission

- [ECallMsdControlBits](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00694.html#_CPPv4N5telux3tel19ECallMsdControlBitsE) control

    - [ECallMsdControlBits](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00694) structure as per European standard i.e. EN 15722

- [ECallVehicleIdentificationNumber](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00695.html#_CPPv4N5telux3tel32ECallVehicleIdentificationNumberE) vehicleIdentificationNumber

    - VIN (vehicle identification number) according to ISO3779

- [ECallVehiclePropulsionStorageType](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00696.html#_CPPv4N5telux3tel33ECallVehiclePropulsionStorageTypeE) vehiclePropulsionStorage

    - VehiclePropulsionStorageType structure as per European standard i.e. EN 15722

- uint32\_t timestamp = 0

    - Seconds elapsed since midnight 01.01.1970 UTC

- [ECallVehicleLocation](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00697.html#_CPPv4N5telux3tel20ECallVehicleLocationE) vehicleLocation

    - VehicleLocation structure as per European standard. i.e. EN 15722

- uint8\_t vehicleDirection = 0

    - Direction of travel in 2 degrees steps from magnetic north

- [ECallVehicleLocationDelta](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00698.html#_CPPv4N5telux3tel25ECallVehicleLocationDeltaE) recentVehicleLocationN1

    - Change in latitude and longitude compared to the last MSD transmission. Optional field for MSD version-2

- [ECallVehicleLocationDelta](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00698.html#_CPPv4N5telux3tel25ECallVehicleLocationDeltaE) recentVehicleLocationN2

    - Change in latitude and longitude compared to the last but one MSD transmission. Optional field for MSD version-2

- uint8\_t numberOfPassengers = 0

    - Number of occupants in the vehicle. Optional field for MSD version-2 and version-3

- [ECallOptionalPdu](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00700.html#_CPPv4N5telux3tel16ECallOptionalPduE) optionalPdu

    - Optional information for the emergency rescue service (103 bytes, ASN.1 encoded); may also point to an address, where this information is located Optional additional data information for the emergency rescue service.

- uint8\_t msdVersion = 2

    - MSD format version that is being used

- struct ECallModeInfo

    - Represents eCall operating mode information

Public Members

- [ECallMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel9ECallModeE) mode

    - Represents eCall operating mode

- [ECallModeReason](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel15ECallModeReasonE) reason

    - Represents eCall operating mode change reason

- struct ECallHlapTimerStatus

    - Represents status of various eCall High Level Application Protocol(HLAP) timers that are maintained by UE state machine. This does not retrieve status of timers maintained by the PSAP. The timers are represented according to EN 16062:2015 standard.

Public Members

- [HlapTimerStatus](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel15HlapTimerStatusE) t2

    - T2 Timer status

- [HlapTimerStatus](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel15HlapTimerStatusE) t5

    - T5 Timer status

- [HlapTimerStatus](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel15HlapTimerStatusE) t6

    - T6 Timer status

- [HlapTimerStatus](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel15HlapTimerStatusE) t7

    - T7 Timer status

- [HlapTimerStatus](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel15HlapTimerStatusE) t9

    - T9 Timer status

- [HlapTimerStatus](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel15HlapTimerStatusE) t10

    - T10 Timer status

- struct ECallHlapTimerEvents

    - Represents events that changes the status of various eCall High Level Application Protocol(HLAP) timers that are maintained by UE state machine. This does not retrieve events of timers maintained by the PSAP. The timers are represented according to EN 16062:2015 standard.

Public Members

- [HlapTimerEvent](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel14HlapTimerEventE) t2

    - T2 Timer event

- [HlapTimerEvent](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel14HlapTimerEventE) t5

    - T5 Timer event

- [HlapTimerEvent](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel14HlapTimerEventE) t6

    - T6 Timer event

- [HlapTimerEvent](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel14HlapTimerEventE) t7

    - T7 Timer event

- [HlapTimerEvent](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel14HlapTimerEventE) t9

    - T9 Timer event

- [HlapTimerEvent](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel14HlapTimerEventE) t10

    - T10 Timer event

- struct CustomSipHeader

    - Represents custom SIP headers for content type and accept info for a PSAP. This provides clients the ability to transfer custom SIP headers with the SIP INVITE that is sent as part of call connect on TPS eCall over IMS. The value corresponding to these data fields should be recognised by a PSAP otherwise no acknowledgement would be received by device.

Public Members

- std::string contentType

    - Type of data being transmitted and should be filled as per RFC 8147 i.e MSD. Max Length 128 bytes

- std::string acceptInfo

    - SIP Accept header. Max length 128 bytes

- struct EcallConfig

    - Represents various configuration parameters related to automotive emergency call

Public Members

- [EcallConfigValidity](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00016_1gada07b0eaf86eedf4ade614e865b0b535.html#_CPPv4N5telux3tel19EcallConfigValidityE) configValidityMask

    - Indicates the valid configuration parameters in the structure. A bit set to 1 denotes that the corresponding configuration parameter is valid

- bool muteRxAudio

    - Mute the local audio device(ex: speaker) during MSD transmission

- [ECallNumType](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel12ECallNumTypeE) numType

    - Represents the type of number to be dialed when eCall is initiated

- std::string overriddenNum

    - User configured/overridden number that will be dialed when ECallNumType configuration parameter is set to OVERRIDE

- bool useCannedMsd

    - Use the pre-defined MSD in modem for eCall

- uint32\_t gnssUpdateInterval

    - Time interval in milliseconds at which the modem updates the GNSS information, in its internally generated MSD

- uint32\_t t2Timer

    - T2 timer value in milliseconds, according to EN 16062:2015 standard

- uint32\_t t7Timer

    - T7 timer value in milliseconds, according to EN 16062:2015 standard

- uint32\_t t9Timer

    - T9 timer value in milliseconds, according to EN 16062:2015 standard. Minimum value should be 3600000

- uint8\_t msdVersion

    - MSD version to be used by modem when it internally generates MSD for transmission. Supported values are 1 and 2 only. This setting has no relevance when an eCall is initiated using [ICallManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00643) APIs, which expects a valid MSD from the application

- class IPhone

    - This class allows getting system information and registering for system events. Each Phone instance is associated with a single SIM. So on a dual SIM device you would have 2 Phone instances.

Public Functions

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) getPhoneId(int &phoneId) = 0

    - Get the Phone ID corresponding to phone.

- Parameters:

    - **phoneId** – **[out]** Unique identifier for the phone

- Returns:

    - Status of getPhoneId i.e. success or suitable error code.

- virtual [RadioState](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel10RadioStateE) getRadioState() = 0

    - Get Radio state of device.

Deprecated Use [IPhoneManager::requestOperatingMode()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00738_1afa7568a9805c13e5d99a0af09cc7566e) API instead

- Returns:

    - [RadioState](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00016_1gabf3ceab3b3b02bffb2effe9025dc9122.html#a00016_1gabf3ceab3b3b02bffb2effe9025dc9122)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) requestVoiceRadioTechnology([VoiceRadioTechResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00016_1ga18b72e9339fde38a9397602bff28af2e.html#_CPPv4N5telux3tel24VoiceRadioTechResponseCbE) callback) = 0

    - Request for Radio technology type (3GPP/3GPP2) used for voice.

Deprecated Use [requestVoiceServiceState()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00726_1af8a9c0e2115b85ca0945d5e2d786cdb2) API to get [VoiceServiceInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00768) which has API to get radio technology i.e [VoiceServiceInfo::getRadioTechnology()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00768_1acf3c49ab3c4a1bdc6c789d2db2a88388)

- Parameters:

    - **callback** – **[in]** callback pointer to get the response of radio power request [telux::tel::VoiceRadioTechResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00016_1ga18b72e9339fde38a9397602bff28af2e)

- Returns:

    - Status of requestVoiceRadioTechnology i.e. success or suitable error code [telux::common::Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga45eeeff7c2860e02ae447d588d3d6e4d.html#a00023_1ga45eeeff7c2860e02ae447d588d3d6e4d).

- virtual [ServiceState](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel12ServiceStateE) getServiceState() = 0

    - Get service state of the phone.

Deprecated Use [requestVoiceServiceState()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00726_1af8a9c0e2115b85ca0945d5e2d786cdb2) API

- Returns:

    - [ServiceState](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00016_1gaef0485a9814aad170da7a8af2c60ecf1.html#a00016_1gaef0485a9814aad170da7a8af2c60ecf1)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) requestVoiceServiceState(std::weak\_ptr&lt;[IVoiceServiceStateCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00728.html#_CPPv4N5telux3tel26IVoiceServiceStateCallbackE)&gt; callback) = 0

    - Request for voice service state to get the information of phone serving states

- Parameters:

    - **callback** – **[in]** callback pointer to get the response of voice service state [telux::tel::IVoiceServiceStateCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00728).

- Returns:

    - Status of requestVoiceServiceState i.e. success or suitable error code [telux::common::Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga45eeeff7c2860e02ae447d588d3d6e4d.html#a00023_1ga45eeeff7c2860e02ae447d588d3d6e4d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) setRadioPower(bool enable, std::shared\_ptr&lt;[telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ICommandResponseCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00280.html#_CPPv4N5telux6common24ICommandResponseCallbackE)&gt; callback = nullptr) = 0

    - Set the radio power on or off.

On platforms with Access control enabled, Caller needs to have TELUX\_TEL\_PHONE\_MGMT permission to invoke this API successfully.

Deprecated Use [IPhoneManager::setOperatingMode()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00738_1a1d8914350293fcd5df7adeb02bbaa743) API instead

- Parameters:

    - - **enable** – **[in]** Flag that determines whether to turn radio on or off
- **callback** – **[in]** Optional callback pointer to get the response of set radio power request

- Returns:

    - Status of setRadioPower i.e. success or suitable error code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) requestCellInfo([CellInfoCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00016_1ga0186fbcc023fd6ede02fdcf68f941cef.html#_CPPv4N5telux3tel16CellInfoCallbackE) callback) = 0

    - Get the cell information about current serving cell and neighboring cells.

On platforms with Access control enabled, Caller needs to have TELUX\_TEL\_PRIVATE\_INFO\_READ permission to invoke this API successfully.

- Parameters:

    - **callback** – **[in]** Callback to get the response of cell info request [telux::tel::CellInfoCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00016_1ga0186fbcc023fd6ede02fdcf68f941cef)

- Returns:

    - Status of requestCellInfo i.e. success or suitable error

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) setCellInfoListRate(uint32\_t timeInterval, [common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback) = 0

    - Set the minimum time in milliseconds between when the cell info list should be received.

On platforms with Access control enabled, Caller needs to have TELUX\_TEL\_PHONE\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **timeInterval** – **[in]** Value of 0 means receive cell info list when any info changes. Value of INT\_MAX means never receive cell info list even on change. Default value is 0
- **callback** – **[in]** Callback to get the response for set cell info list rate.

- Returns:

    - Status of setCellInfoListRate i.e. success or suitable error

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) requestSignalStrength(std::shared\_ptr&lt;[ISignalStrengthCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00727.html#_CPPv4N5telux3tel23ISignalStrengthCallbackE)&gt; callback = nullptr) = 0

    - Get current signal strength of the associated network.

- Parameters:

    - **callback** – **[in]** Optional callback pointer to get the response of signal strength request

- Returns:

    - Status of requestSignalStrength i.e. success or suitable error code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) setECallOperatingMode([ECallMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel9ECallModeE) eCallMode, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback) = 0

    - Sets the eCall operating mode

On platforms with Access control enabled, Caller needs to have TELUX\_TEL\_ECALL\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **eCallMode** – **[in]** - [ECallMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00016_1ga5b2d206db263b0c73c2f12ea3aa69ddc.html#a00016_1ga5b2d206db263b0c73c2f12ea3aa69ddc)
- **callback** – **[in]** - Callback function to get the response for set eCall operating mode request.

- Returns:

    - Status of setECallOperatingMode i.e. success or suitable error

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) requestECallOperatingMode([ECallGetOperatingModeCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00016_1ga55a16e81d76f1aeeeb2265f117ae0c95.html#_CPPv4N5telux3tel29ECallGetOperatingModeCallbackE) callback) = 0

    - Get the eCall operating mode

- Parameters:

    - **callback** – **[in]** - Callback function to get the response of eCall operating mode request

- Returns:

    - Status of requestECallOperatingMode i.e. success or suitable error

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) requestOperatorName([OperatorNameCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00016_1gaa4ec5976a39128e53cdb5d8bcb652de0.html#_CPPv4N5telux3tel20OperatorNameCallbackE) callback) = 0

    - Get current registered operator name. This API returns PLMN name if available. If not then it returns the SPN configured in the SIM card.

On platforms with Access control enabled, Caller needs to have TELUX\_TEL\_PRIVATE\_INFO\_READ permission to invoke this API successfully.

Deprecated Use [IPhone::requestOperatorInfo(OperatorInfoCallback callback)](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00726_1a97a50f971e1f41b85e413ae7c27c7972) API instead.

- Parameters:

    - **callback** – **[in]** - Callback function to get the response of operator name request

- Returns:

    - Status of requestOperatorName i.e. success or suitable error

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) requestOperatorInfo([OperatorInfoCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00016_1ga4513d181073811897232e53906dec695.html#_CPPv4N5telux3tel20OperatorInfoCallbackE) callback) = 0

    - Get current registered operator information. This API returns PLMN information about the network the device is currently camped on. If this information is not available then it returns the SPN in the SIM card.

On platforms with Access control enabled, Caller needs to have TELUX\_TEL\_PRIVATE\_INFO\_READ permission to invoke this API successfully.

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - **callback** – **[in]** - Callback function to get the response of operator information request

- Returns:

    - Status of requestOperatorInfo i.e. success or suitable error

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) configureSignalStrength(std::vector&lt;[SignalStrengthConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00732.html#_CPPv4N5telux3tel20SignalStrengthConfigE)&gt; signalStrengthConfig, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - Configures [SignalStrength](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00749) notification.

This API configures [SignalStrength](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00749) notifications based on the RAT(s) delta or threshold provided for [SignalStrength](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00749).

- Delta (unsigned 2 bytes): The value should be a non-zero positive integer, in units of 0.1dBm. For example to set a delta of 10dBm, the delta value should be 100. A notification is sent when the difference between the current value and the last reported value crosses the specified delta.

-Threshold (signed 4 bytes): For example to set threshold at -95dBm and -80dBm, the threshold list values are -950, -800, since the the list values are in units of 0.1 dBm. A notification is sent when the current signal strength crosses one of the registered thresholds.

The threshold range list is as follows. See SignalStrength.hpp for more details.

- GSM\_RSSI : -113 to -51 (in dBm)
- WCDMA\_RSSI: -113 to -51 (in dBm)
- LTE\_RSSI : -113 to -51 (in dBm)
- LTE\_SNR : -200 to 300 (in dB)
- LTE\_RSRQ : -20 to -3 (in dB)
- LTE\_RSRP : -140 to -44 (in dBm)
- NR5G\_SNR : -200 to 300 (in dB)
- NR5G\_RSRP : -140 to -44 (in dBm)
- NR5G\_RSRQ : -20 to -3 (in dB)

This configuration is a global setting. The signal strength setting does not persist through device reboot and needs to be configured again. Default signal strength configuration is set after a device reboot.

On platforms with access control enabled, the caller needs to have the TELUX\_TEL\_PHONE\_MGMT permission to successfully invoke this API.

Deprecated Use configureSignalStrength(std::vector&lt;SignalStrengthConfigEx&gt;).

- Parameters:

    - - **signalStrengthConfig** – **[in]** Signal strength configuration.
- **callback** – **[in]** Callback function to get the [SignalStrength](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00749) configuration response.

- Returns:

    - Status of configureSignalStrength, i.e., success or the suitable error code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) configureSignalStrength(std::vector&lt;[SignalStrengthConfigEx](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00735.html#_CPPv4N5telux3tel22SignalStrengthConfigExE)&gt; signalStrengthConfigEx, uint16\_t hysteresisMs = 0, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - Configures signal strength notifications based on the RAT(s) delta or threshold list. Additionally, the hysteresis dB can be applied on top of the threshold list. Furthermore, time hysteresis (hysteresis ms) can be applied either on top of the delta or on the threshold list, or even on top of both the threshold list and the hysteresis dB.

- Delta (unsigned 2 bytes): A notification is sent when the difference between the current signal strength value and the last reported signal strength value crosses the specified delta. The value should be a non-zero positive integer, in units of 0.1dBm. For example, to set a delta of 10dBm, the value should be 100.

- Threshold (signed 4 bytes): A notification is sent when the current signal strength crosses over or under any of the thresholds specified. For example, to set thresholds at -95 dBm and -80 dBm, the threshold list values are -950, -800, since the list values are in units of 0.1 dBm.

- Hysteresis dB (unsigned 2 bytes): Prevents the generation of multiple notifications when the signal strength is close to a threshold value and experiencing frequent small changes. With a non-zero hysteresis, the signal strength indicators should cross over or under by more than the hysteresis value for a notification to be sent. To apply hysteresis, the value should be a non-zero positive integer, in units of 0.1 dBm. For example, to set a hysteresis dB of 10 dBm, the value should be 100.

- Hysteresis ms (unsigned 2 bytes): Time hystersis can be applied to avoid multiple notifications even when all the other criteria for a notification are met. The time hystersis can be applied on top of any other criteria (delta, threshold, threshold and hysteresis).

If the hysteresis(dB or ms) value is set to 0, the signal strength notification criteria just considers the threshold or delta. Once configured, the hysteresis value for a signal strength type is retained, until explicitly reconfigured to 0 again or device reboot.

The threshold range list is as follows. See SignalStrength.hpp for more details.

- RAT Measurement type : value
- GSM RSSI : -113 to -51 (in dBm)
- WCDMA RSSI : -113 to -51 (in dBm)
- WCDMA ECIO : -24 to 0 (in dB)
- WCDMA RSCP : -120 to -24 (in dBm)
- LTE RSSI : -113 to -51 (in dBm)
- LTE SNR : -200 to 300 (in dB)
- LTE RSRQ : -20 to -3 (in dB)
- LTE RSRP : -140 to -44 (in dBm)
- NR5G SNR : -200 to 300 (in dB)
- NR5G RSRP : -140 to -44 (in dBm)
- NR5G RSRQ : -20 to -3 (in dB)

This configuration is a global setting. The signal strength setting does not persist through device reboot and needs to be configured again. On reboot, the default signal strength configuration is set to delta [telux::tel::SignalStrengthConfigExType](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00016_1gacc7a5e53492599225a0bc65122e96a3f.html#a00016_1gacc7a5e53492599225a0bc65122e96a3f) with default values for all signal measurement types.

On platforms with access control enabled, the caller needs to have the TELUX\_TEL\_PHONE\_MGMT permission to successfully invoke this API.

Note

This API is not supported for telux::tel::RadioTechnology::RADIO\_TECH\_NB1\_NTN

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - - **signalStrengthConfigEx** – **[in]** Signal strength configuration.
- **hysteresisMs** – **[in]** (Optional) Signal strength hysteresis timer in milliseconds.
- **callback** – **[in]** Callback function to get the [SignalStrength](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00749) configuration response.

- Returns:

    - Status of configureSignalStrength, i.e., success or the suitable error code.

- inline virtual ~IPhone()

    -

- class ISignalStrengthCallback : public [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ICommandCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00279.html#_CPPv4N5telux6common16ICommandCallbackE)

    - Interface for Signal strength callback object. Client needs to implement this interface to get single shot responses for commands like get signal strength.

The methods in callback can be invoked from multiple different threads. The implementation should be thread safe.

Public Functions

- inline virtual void signalStrengthResponse(std::shared\_ptr&lt;[SignalStrength](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00749.html#_CPPv4N5telux3tel14SignalStrengthE)&gt; signalStrength, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) error)

    - This function is called with the response to requestSignalStrength API.

- Parameters:

    - - **signalStrength** – **[in]** Pointer to signal strength object
- **error** – **[in]** Return code for whether the operation succeeded or failed [SUCCESS](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00022_1gaf127dec53d986b33814b643604e07465.html#a00022_1ggaf127dec53d986b33814b643604e07465ad0749aaba8b833466dfcbb0428e4f89c) telux::common::ErrorCode::RADIO\_NOT\_AVAILABLE

- inline virtual ~ISignalStrengthCallback()

    -

- class IVoiceServiceStateCallback : public [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ICommandCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00279.html#_CPPv4N5telux6common16ICommandCallbackE)

    - Interface for voice service state callback object. Client needs to implement this interface to get single shot responses for commands like request voice radio technology.

The methods in callback can be invoked from multiple different threads. The implementation should be thread safe.

Public Functions

- inline virtual void voiceServiceStateResponse(const std::shared\_ptr&lt;[VoiceServiceInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00768.html#_CPPv4N5telux3tel16VoiceServiceInfoE)&gt; &serviceInfo, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) error)

    - This function is called with the response to requestVoiceServiceState API.

- Parameters:

    - - **serviceInfo** – **[in]** Pointer to voice service info object [telux::tel::VoiceServiceInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00768)
- **error** – **[in]** Return code for whether the operation succeeded or failed

    - telux::common::ErrorCode::SUCCESS
    - telux::common::ErrorCode::RADIO\_NOT\_AVAILABLE
    - telux::common::ErrorCode::GENERIC\_FAILURE

- inline virtual ~IVoiceServiceStateCallback()

    -

- struct SimRatCapability

    - Structure contains slotID and RAT capabilities corresponding to slot.

Public Members

- int slotId

    - Number of slotid’s

- [RATCapabilitiesMask](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00016_1ga79eb624272a3fb6d0eeabeaf31583551.html#_CPPv4N5telux3tel19RATCapabilitiesMaskE) capabilities

    - This field indicates RATCapabilitiesMask

- struct CellularCapabilityInfo

    - Structure contains information about device capability.

Public Members

- [VoiceServiceTechnologiesMask](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00016_1gaa65b87d731bd46f2088f4411195d776e.html#_CPPv4N5telux3tel28VoiceServiceTechnologiesMaskE) voiceServiceTechs

    - Indicates voice support capabilities

- int simCount

    - The maximum number of SIMs that can be supported
    Copy to clipboard

 simultaneously

- int maxActiveSims

    - The maximum number of SIMs that can be simultaneously
    Copy to clipboard

 active. If this number is less than numberofSims, it implies that any combination of the SIMs can be active and the remaining can be in standby.

- std::vector&lt;[SimRatCapability](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00729.html#_CPPv4N5telux3tel16SimRatCapabilityE)&gt; simRatCapabilities

    - A Sim inserted in a slot allows for certain rat
    Copy to clipboard

 capabilities. And the UE’s HW allows for certain rat capabilities. This field lists the intersection of capabilities allowed by the Sim and the HW. The capabilities are indexed based on slotId.

- std::vector&lt;[DeviceRatCapability](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00016_1ga802dbe99950c7fa8249177de62ca97ef.html#_CPPv4N5telux3tel19DeviceRatCapabilityE)&gt; deviceRatCapability

    - This field lists the Rat capabilities supported
    Copy to clipboard

 by the HW on a given Sim slot. The capabilities are indexed based on slotId.

- struct SignalStrengthThreshold

    - Defines the [SignalStrength](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00749) threshold parameters. Deprecated Use the thresholdList field from [SignalStrengthConfigData](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00734).

Public Members

- int32\_t lowerRangeThreshold

    - Lower threshold for the selected radio
    Copy to clipboard

 technology.

- int32\_t upperRangeThreshold

    - Upper threshold for the selected radio
    Copy to clipboard

 technology.

- struct SignalStrengthConfig

    - Defines the [SignalStrength](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00749) notification configuration parameters and their corresponding values. Deprecated Use [SignalStrengthConfigEx](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00735).

Public Members

- [SignalStrengthConfigType](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel24SignalStrengthConfigTypeE) configType

    - Signal strength configuration type.

- [RadioSignalStrengthType](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel23RadioSignalStrengthTypeE) ratSigType

    - Radio signal strength type. Signal strength data.

- union [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[tel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3telE)::[SignalStrengthConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00732.html#_CPPv4N5telux3tel20SignalStrengthConfigE)::[anonymous] [anonymous]

    -

- struct PlmnInfo

    - Represents Operator information

Public Members

- std::string longName

    - Represents long Name for Network

- std::string shortName

    - Represents short Name for Network

- std::string plmn

    - Represents PLMN code for Network, consists of a MCC and MNC.

- [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[BoolValue](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9BoolValueE) isHome

    - Represents whether the network is the home network, default
    Copy to clipboard

 state is STATE\_UNKNOWN

- struct SignalStrengthConfigData

    - Defines the signal strength configuration data parameters.

Public Members

- [SignalStrengthMeasurementType](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel29SignalStrengthMeasurementTypeE) sigMeasType

    - Signal strength measurement type. Signal strength data.

- union [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[tel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3telE)::[SignalStrengthConfigData](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00734.html#_CPPv4N5telux3tel24SignalStrengthConfigDataE)::[anonymous] [anonymous]

    -

- struct SignalStrengthConfigEx

    - Defines the signal strength notification configuration parameters.

Public Members

- [SignalStrengthConfigMask](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00016_1ga9ba9a9e470330a695541ade4d900f6b2.html#_CPPv4N5telux3tel24SignalStrengthConfigMaskE) configTypeMask

    - Signal strength configuration mask. Both delta and
    Copy to clipboard

 threshold can’t be sent in single request. Hysteresis db is applicable only when threshold is configured.

- [RadioTechnology](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel15RadioTechnologyE) radioTech

    - Radio technology.

- std::vector&lt;[SignalStrengthConfigData](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00734.html#_CPPv4N5telux3tel24SignalStrengthConfigDataE)&gt; sigConfigData

    - Signal strength data.

- class PhoneFactory

    - [PhoneFactory](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00736) is the central factory to create all Telephony SDK Classes and services.

Public Functions

- virtual std::shared\_ptr&lt;[IPhoneManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00738.html#_CPPv4N5telux3tel13IPhoneManagerE)&gt; getPhoneManager([telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get Phone Manager instance. Phone Manager is the main entry point into the telephony subsystem.

- Parameters:

    - **callback** – **[in]** Optional callback pointer to get response of Phone Manager initialization. It will be invoked when initialization is either succeeded or failed. In case of failure response, the provided Phone Manager object will no more be a valid object.

- Returns:

    - Pointer of [IPhoneManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00738) object.

- virtual std::shared\_ptr&lt;[ISmsManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00758.html#_CPPv4N5telux3tel11ISmsManagerE)&gt; getSmsManager(int phoneId = DEFAULT\_PHONE\_ID, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get SMS Manager instance for Phone ID. SMSManager used to send and receive SMS messages.

- Parameters:

    - - **phoneId** – **[in]** Unique identifier for the phone
- **callback** – **[in]** Optional callback pointer to get response of SMS Manager initialization. It will be invoked when initialization is either succeeded or failed. In case of failure response, the provided SMS Manager object will no more be a valid object.

- Returns:

    - Pointer of [ISmsManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00758) object or nullptr in case of failure.

- virtual std::shared\_ptr&lt;[ICallManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00643.html#_CPPv4N5telux3tel12ICallManagerE)&gt; getCallManager([telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get Call Manager instance to determine state of active calls and perform other functions like dial, conference, swap call.

- Parameters:

    - **callback** – **[in]** Optional callback pointer to get response of CallManager initialization. It will be invoked when initialization is either succeeded or failed. In case of failure response, the provided Call Manager object will no more be a valid object.

- Returns:

    - Pointer of [ICallManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00643) object or nullptr in case of failure.

- virtual std::shared\_ptr&lt;[ICardManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00655.html#_CPPv4N5telux3tel12ICardManagerE)&gt; getCardManager([telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get Card Manager instance to handle services such as transmitting APDU, SIM IO and more.

- Parameters:

    - **callback** – **[in]** Optional callback pointer to get response of Card Manager initialization. It will be invoked when initialization is either succeeded or failed. In case of failure response, the provided Phone Manager object will no more be a valid object.

- Returns:

    - Pointer of [ICardManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00655) object.

- virtual std::shared\_ptr&lt;[ISapCardManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00744.html#_CPPv4N5telux3tel15ISapCardManagerE)&gt; getSapCardManager(int slotId = [DEFAULT\_SLOT\_ID](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N6SlotId15DEFAULT_SLOT_IDE), [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get Sap Card Manager instance associated with the provided slot id. This object will handle services in SAP mode such as APDU, SIM Power On/Off and SIM reset.

On platforms with access control enabled, caller needs to have TELUX\_TEL\_SAP permission to invoke this API successfully.

- Parameters:

    - - **slotId** – **[in]** Unique identifier for the SIM slot
- **callback** – **[in]** Optional callback pointer to get the response of the manager initialisation.

- Returns:

    - Pointer of [ISapCardManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00744) object.

- virtual std::shared\_ptr&lt;[ISubscriptionManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00763.html#_CPPv4N5telux3tel20ISubscriptionManagerE)&gt; getSubscriptionManager([telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get Subscription Manager instance to get device subscription details

- Parameters:

    - **callback** – **[in]** Optional callback pointer to get response of Phone Manager initialization. It will be invoked when initialization is either succeeded or failed. In case of failure response, the provided SubscriptionManager object will no more be a valid object.

- Returns:

    - Pointer of [ISubscriptionManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00763) object.

- virtual std::shared\_ptr&lt;[IServingSystemManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00499.html#_CPPv4N5telux3tel21IServingSystemManagerE)&gt; getServingSystemManager(int slotId = [DEFAULT\_SLOT\_ID](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N6SlotId15DEFAULT_SLOT_IDE), [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get Serving System Manager instance to get and set preferred network type.

- Parameters:

    - - **slotId** – **[in]** Unique identifier for the SIM slot
- **callback** – **[in]** Optional callback pointer to get the response of the manager initialisation.

- Returns:

    - Pointer of [IServingSystemManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00499) object.

- virtual std::shared\_ptr&lt;[INetworkSelectionManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00723.html#_CPPv4N5telux3tel24INetworkSelectionManagerE)&gt; getNetworkSelectionManager(int slotId = [DEFAULT\_SLOT\_ID](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N6SlotId15DEFAULT_SLOT_IDE), [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get Network Selection Manager instance to get and set selection mode, get and set preferred networks and scan available networks.

- Parameters:

    - - **slotId** – **[in]** Unique identifier for the SIM slot
- **callback** – **[in]** Optional callback pointer to get the response of the manager initialisation.

- Returns:

    - Pointer of [INetworkSelectionManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/net.html#a00723) object.

- virtual std::shared\_ptr&lt;[IRemoteSimManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00742.html#_CPPv4N5telux3tel17IRemoteSimManagerE)&gt; getRemoteSimManager(int slotId = [DEFAULT\_SLOT\_ID](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N6SlotId15DEFAULT_SLOT_IDE), [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get Remote SIM Manager instance to handle services like exchanging APDU, SIM Power On/Off, etc.

On platforms with access control enabled, caller needs to have TELUX\_TEL\_REMOTE\_SIM permission to invoke this API successfully.

- Parameters:

    - - **slotId** – **[in]** Unique identifier for the SIM slot
- **callback** – **[in]** Optional callback pointer to get response of RemoteSim Manager initialization. It will be invoked when initialization is either succeeded or failed. In case of failure response, the provided Phone Manager object will no more be a valid object.

- Returns:

    - Pointer of [IRemoteSimManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00742) object.

- virtual std::shared\_ptr&lt;[IMultiSimManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00714.html#_CPPv4N5telux3tel16IMultiSimManagerE)&gt; getMultiSimManager([telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get Multi SIM Manager instance to handle operations like high capabilty switch.

- Parameters:

    - **callback** – **[in]** Optional callback pointer to get response of MultiSimManager initialization. It will be invoked when initialization is either succeeded or failed. In case of failure response, the provided MultiSimManager object will no more be a valid object.

- Returns:

    - Pointer of [IMultiSimManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00714) object.

- virtual std::shared\_ptr&lt;[ICellBroadcastManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00669.html#_CPPv4N5telux3tel21ICellBroadcastManagerE)&gt; getCellBroadcastManager([SlotId](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv46SlotId) slotId = [DEFAULT\_SLOT\_ID](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N6SlotId15DEFAULT_SLOT_IDE), [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get CellBroadcast Manager instance for Slot ID. CellBroadcast manager used to receive broacast messages and configure broadcast messages.

- Parameters:

    - - **slotId** – **[in]** [telux::common::SlotId](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga04bc541ec544188a3bc649001a8a0111.html#a00023_1ga04bc541ec544188a3bc649001a8a0111)
- **callback** – **[in]** Optional callback pointer to get response of CellBroadcast Manager initialization. It will be invoked when initialization is either succeeded or failed. In case of failure response, the provided Phone Manager object will no more be a valid object.

- Returns:

    - Pointer of [ICellBroadcastManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00669) object or nullptr in case of failure.

- virtual std::shared\_ptr&lt;[ISimProfileManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00752.html#_CPPv4N5telux3tel18ISimProfileManagerE)&gt; getSimProfileManager([telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get SimProfileManager. SimProfileManager is a primary interface for remote eUICC(eSIM) provisioning and local profile assistance.

- Parameters:

    - **callback** – **[in]** Optional callback pointer to get response of [SimProfile](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00750) Manager initialization. It will be invoked when initialization is either succeeded or failed. In case of failure response, the provided Phone Manager object will no more be a valid object.

- Returns:

    - Pointer of [ISimProfileManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00752) object or nullptr in case of failure.

- virtual std::shared\_ptr&lt;[IImsSettingsManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00711.html#_CPPv4N5telux3tel19IImsSettingsManagerE)&gt; getImsSettingsManager([telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get Ims Settings Manager instance to handle IMS service enable configuation parameters like enable/disable voIMS.

- Parameters:

    - **callback** – **[in]** Optional callback pointer to get the response of the manager initialisation.

- Returns:

    - Pointer of [IImsSettingsManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00711) object.

- virtual std::shared\_ptr&lt;[IEcallManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00702.html#_CPPv4N5telux3tel13IEcallManagerE)&gt; getEcallManager([telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - 

- virtual std::shared\_ptr&lt;[IHttpTransactionManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00706.html#_CPPv4N5telux3tel23IHttpTransactionManagerE)&gt; getHttpTransactionManager([telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get HttpTransactionManager instance to handle HTTP related requests from the modem for SIM profile update related operations.

- Parameters:

    - **callback** – **[in]** Optional callback pointer to get the response of the manager initialisation.

- Returns:

    - Pointer of [IHttpTransactionManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00706) object or nullptr in case of failure.

- virtual std::shared\_ptr&lt;[IImsServingSystemManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00038.html#_CPPv4N5telux3tel24IImsServingSystemManagerE)&gt; getImsServingSystemManager([SlotId](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv46SlotId) slotId, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get IMS Serving System Manager instance to query IMS registration status

- Returns:

    - Pointer of [IImsServingSystemManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00038) object or nullptr in case of failure.

- virtual std::shared\_ptr&lt;[ISuppServicesManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00767.html#_CPPv4N5telux3tel20ISuppServicesManagerE)&gt; getSuppServicesManager([SlotId](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv46SlotId) slotId = [DEFAULT\_SLOT\_ID](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N6SlotId15DEFAULT_SLOT_IDE), [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Get Supplementary service manager instance to set/get preference for supplementary services like call waiting, call forwarding etc.

- Parameters:

    - - **SlotId** – **[in]** [telux::common::SlotId](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga04bc541ec544188a3bc649001a8a0111.html#a00023_1ga04bc541ec544188a3bc649001a8a0111)
- **callback** – **[in]** Optional callback pointer to get the response of the manager initialisation.

- Returns:

    - Pointer of [ISuppServicesManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00767) object.

- virtual std::shared\_ptr&lt;[IApSimProfileManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00637.html#_CPPv4N5telux3tel20IApSimProfileManagerE)&gt; getApSimProfileManager([telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) callback = nullptr) = 0

    - Gets ApSimProfileManager. ApSimProfileManager is the primary interface to allow the modem software to interact with an LPA running on the Application process.

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - **callback** – **[in]** Optional callback pointer to get response of ApSimProfile Manager initialization. It will be invoked when initialization is either succeeded or failed. In case of failure response, the provided ApSimProfile Manager object will no more be a valid object.

- Returns:

    - Pointer of [IApSimProfileManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00637) object or nullptr in case of failure.

Public Static Functions

- static [PhoneFactory](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00736.html#_CPPv4N5telux3tel12PhoneFactoryE) &getInstance()

    - Get Phone Factory instance.

Private Functions

- PhoneFactory(const [PhoneFactory](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00736.html#_CPPv4N5telux3tel12PhoneFactory12PhoneFactoryERK12PhoneFactory)&) = delete

    - 

- [PhoneFactory](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00736.html#_CPPv4N5telux3tel12PhoneFactoryE) &operator=(const [PhoneFactory](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00736.html#_CPPv4N5telux3tel12PhoneFactoryE)&) = delete

    -

- class IPhoneListener : public [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[IServiceStatusListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00049.html#_CPPv4N5telux6common22IServiceStatusListenerE)

    - A listener class for monitoring changes in specific telephony states on the device, including service state and signal strength. 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 Functions

- inline virtual void onServiceStateChanged(int phoneId, [ServiceState](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel12ServiceStateE) state)

    - This function is called when device service state changes.

Deprecated Use [onVoiceServiceStateChanged()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00737_1a962679139c942505abfbeb2d77f3e70e) listener

- Parameters:

    - - **phoneId** – **[in]** Unique id of the phone on which service state changed.
- **state** – **[in]** Service state of the phone [ServiceState](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00016_1gaef0485a9814aad170da7a8af2c60ecf1.html#a00016_1gaef0485a9814aad170da7a8af2c60ecf1)

- inline virtual void onSignalStrengthChanged(int phoneId, std::shared\_ptr&lt;[SignalStrength](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00749.html#_CPPv4N5telux3tel14SignalStrengthE)&gt; signalStrength)

    - This function is called when network signal strength changes.

- Parameters:

    - - **phoneId** – **[in]** Unique id of the phone on which signal strength state changed.
- **signalStrength** – **[in]** Pointer to signal strength object

- inline virtual void onCellInfoListChanged(int phoneId, std::vector&lt;std::shared\_ptr&lt;[CellInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00678.html#_CPPv4N5telux3tel8CellInfoE)&gt;&gt; cellInfoList)

    - This function is called when info pertaining to current or neighboring cells change.

On platforms with Access control enabled, Caller needs to have TELUX\_TEL\_PRIVATE\_INFO\_READ permission to receive this notification.

- Parameters:

    - - **phoneId** – **[in]** Unique id of the phone on which cell info changed.
- **cellInfoList** – **[in]** vector of shared pointers to cell info object

- inline virtual void onRadioStateChanged(int phoneId, [RadioState](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel10RadioStateE) radioState)

    - This function is called when radio state changes on phone

Deprecated Use [onOperatingModeChanged()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00737_1a3989c7835fb130f3fd73f7920e9b0956) API instead

- Parameters:

    - - **phoneId** – **[in]** Unique id of the phone on which radio state changed
- **radioState** – **[in]** Radio state of the phone [RadioState](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00016_1gabf3ceab3b3b02bffb2effe9025dc9122.html#a00016_1gabf3ceab3b3b02bffb2effe9025dc9122)

- inline virtual void onVoiceRadioTechnologyChanged(int phoneId, [RadioTechnology](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel15RadioTechnologyE) radioTech)

    - This function is called when the radio technology for voice service changes

Deprecated Use [onVoiceServiceStateChanged()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00737_1a962679139c942505abfbeb2d77f3e70e) API instead

- Parameters:

    - - **phoneId** – **[in]** Unique id of the phone on which radio technology changed
- **radioTech** – **[in]** Radio state of the phone [telux::tel::RadioTechnology](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00016_1gabd7d7fc7f6ad3a4717bcd782922e480e.html#a00016_1gabd7d7fc7f6ad3a4717bcd782922e480e)

- inline virtual void onVoiceServiceStateChanged(int phoneId, const std::shared\_ptr&lt;[VoiceServiceInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00768.html#_CPPv4N5telux3tel16VoiceServiceInfoE)&gt; &serviceInfo)

    - This function is called when the service state for voice service changes

- Parameters:

    - - **phoneId** – **[in]** Unique id of the phone on which radio technology changed
- **serviceInfo** – **[in]** pointer of voice service state info object [telux::tel::VoiceServiceInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00768)

- inline virtual void onOperatingModeChanged([OperatingMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel13OperatingModeE) mode)

    - This function is called when the operating mode changes

- Parameters:

    - **mode** – **[in]** Operating mode [OperatingMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00016_1gad8b7c4058b96718b1f4d5d2797ec3ba4.html#a00016_1gad8b7c4058b96718b1f4d5d2797ec3ba4).

- inline virtual void onECallOperatingModeChange(int phoneId, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[tel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3telE)::[ECallModeInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00701.html#_CPPv4N5telux3tel13ECallModeInfoE) info)

    - This function is called when eCall operating mode changes.

- Parameters:

    - - **phoneId** – **[in]** - Unique Id of phone for which eCall operating mode changed
- **info** – **[in]** - Indicates eCall operating mode change reason [ECallModeInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00701)

- inline virtual void onOperatorInfoChange(int phoneId, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[tel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3telE)::[PlmnInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00733.html#_CPPv4N5telux3tel8PlmnInfoE) info)

    - This function is called when operator information of the device currently camped on network changes

On platforms with Access control enabled, Caller needs to have TELUX\_TEL\_PRIVATE\_INFO\_READ permission to receive this notification.

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - - **phoneId** – **[in]** - Unique Id of phone for which operator information changed
- **info** – **[in]** - Indicates plmn information change reason [OperatorInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/net.html#a00724)

- inline virtual ~IPhoneListener()

    -

- class IPhoneManager

    - Phone Manager creates one or more phones based on SIM slot count, it allows clients to register for notification of system events. Clients should check if the subsystem is ready before invoking any of the APIs.

Public Functions

- virtual bool isSubsystemReady() = 0

    - Checks the status of telephony subsystems and returns the result.

- Returns:

    - If true PhoneManager is ready for service (i.e Phone, Sms and Card). Deprecated Use [IPhoneManager::getServiceStatus()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00738_1a0a67d7d03bf33b196a580634e5d14dac) API.

- virtual std::future&lt;bool&gt; onSubsystemReady() = 0

    - Wait for telephony subsystem to be ready.

- Returns:

    - A future that caller can wait on to be notified when telephony subsystem is ready. Deprecated Use InitResponseCb in [PhoneFactory::getPhoneManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00736_1af85e4027550fc6d9223e79994682a9a7) instead, to get notified about subsystem readiness.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ServiceStatus](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common13ServiceStatusE) getServiceStatus() = 0

    - This status indicates whether the [IPhoneManager](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00738) object is in a usable state.

- Returns:

    - SERVICE\_AVAILABLE - If Phone manager is ready for service. SERVICE\_UNAVAILABLE - If Phone manager is temporarily unavailable. SERVICE\_FAILED - If Phone manager encountered an irrecoverable failure.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) getPhoneIds(std::vector&lt;int&gt; &phoneIds) = 0

    - Retrieves a list of Phone Ids. Each id is unique per phone. For example: on a dual SIM device, there would be 2 Phones.

- Parameters:

    - **phoneIds** – **[out]** List of phone ids

- Returns:

    - Status of getPhoneIds i.e. success or suitable error code.

- virtual int getPhoneIdFromSlotId(int slotId) = 0

    - Get the Phone Id for a given Slot Id.

- Parameters:

    - **slotId** – **[in]** SIM Card Slot Id

- Returns:

    - Phone Id corresponding to the Slot Id.

- virtual int getSlotIdFromPhoneId(int phoneId) = 0

    - Get the SIM Slot Id for a given Phone Id.

- Parameters:

    - **phoneId** – **[in]** Phone Id of the phone

- Returns:

    - Slot Id corresponding to the Phone Id.

- virtual std::shared\_ptr&lt;[IPhone](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00726.html#_CPPv4N5telux3tel6IPhoneE)&gt; getPhone(int phoneId = DEFAULT\_PHONE\_ID) = 0

    - Get the phone instance for a given phone identifier.

- Parameters:

    - **phoneId** – **[in]** Identifier for phone instance, retrieved from getPhoneIds API

- Returns:

    - Pointer to Phone object corresponding to phoneId.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) requestCellularCapabilityInfo(std::shared\_ptr&lt;[ICellularCapabilityCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00739.html#_CPPv4N5telux3tel27ICellularCapabilityCallbackE)&gt; callback = nullptr) = 0

    - Get the information about cellular capability.

- Parameters:

    - **callback** – **[in]** Optional callback pointer to get the response of cellular capability.

- Returns:

    - Status of requestCellularCapabilityInfo i.e. success or suitable error code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) requestOperatingMode(std::shared\_ptr&lt;[IOperatingModeCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00740.html#_CPPv4N5telux3tel22IOperatingModeCallbackE)&gt; callback = nullptr) = 0

    - Get current operating mode of the device.

- Parameters:

    - **callback** – **[in]** Optional callback pointer to get the response of operating mode request

- Returns:

    - Status of requestOperatingMode i.e. success or suitable error code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) setOperatingMode([OperatingMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel13OperatingModeE) operatingMode, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - Set the operating mode of the device. Only valid transitions allowed from one mode to another.

On platforms with Access control enabled, Caller needs to have TELUX\_TEL\_PHONE\_MGMT permission to invoke this API successfully.

- Parameters:

    - - **operatingMode** – **[in]** Operating Mode to be set
- **callback** – **[in]** Optional callback pointer to get the response of set operatingmode request. In callback following error is returned.

    - telux::common::ErrorCode::INVALID\_TRANSITION
    - telux::common::ErrorCode::INVALID\_ARGUMENTS
    - telux::common::ErrorCode::DEVICE\_IN\_USE
    - telux::common::ErrorCode::NO\_MEMORY

- Returns:

    - Status of setOperatingMode i.e. success or suitable error code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) resetWwan([telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ResponseCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00236_1a8f614f0a0eeca90c94dad1967ca93bcd.html#_CPPv4N5telux6common16ResponseCallbackE) callback = nullptr) = 0

    - Reset the WWAN stack on the modem without impacting the CV2x stack. This does a soft-reset of some of the subsystems on the modem. Some subsystems like data services is not impacted by this trigger, so it is recommended to stop any WWAN data calls using [telux::data::IDataConnectionManager::stopDataCall](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00404_1a700af058c510742b76824a3035d73e0e) before invoking this API. This API will be rejected when under the scenarios of voice call, emergency call, emergency SMS, and emergency call back mode.

On platforms with Access control enabled, Caller needs to have TELUX\_TEL\_PHONE\_MGMT permission to invoke this API successfully.

- Parameters:

    - **callback** – **[in]** Optional callback pointer to get the response of WWAN reset request.

- Returns:

    - Status of resetWwan i.e. success or suitable error code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) registerListener(std::weak\_ptr&lt;[IPhoneListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00737.html#_CPPv4N5telux3tel14IPhoneListenerE)&gt; listener) = 0

    - Register a listener for specific events in the telephony subsystem.

- Parameters:

    - **listener** – **[in]** Pointer to Phone Listener object that processes the notification

- Returns:

    - Status of registerListener i.e. success or suitable error code.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[Status](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common6StatusE) removeListener(std::weak\_ptr&lt;[IPhoneListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00737.html#_CPPv4N5telux3tel14IPhoneListenerE)&gt; listener) = 0

    - Remove a previously added listener.

- Parameters:

    - **listener** – **[in]** Pointer to Phone Listener object that needs to be removed

- Returns:

    - Status of removeListener i.e. success or suitable error code.

- inline virtual ~IPhoneManager()

    -

- class ICellularCapabilityCallback : public [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ICommandCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00279.html#_CPPv4N5telux6common16ICommandCallbackE)

    - Interface for callback corresponding to cellular capability request. Client needs to implement this interface to get single shot responses for commands like get cellular capability.

The methods in callback can be invoked from multiple different threads. The implementation should be thread safe.

Public Functions

- inline virtual void cellularCapabilityResponse([CellularCapabilityInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00730.html#_CPPv4N5telux3tel22CellularCapabilityInfoE) capabilityInfo, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) error)

    - This function is called with the response to requestCellularCapabilityInfo API.

- Parameters:

    - - **capabilityInfo** – **[in]** Cellular capability information.
- **error** – **[in]** Return code for whether the operation succeeded or failed

    - telux::common::ErrorCode::SUCCESS
    - telux::common::ErrorCode::INTERNAL
    - telux::common::ErrorCode::NO\_MEMORY

- inline virtual ~ICellularCapabilityCallback()

    -

- class IOperatingModeCallback : public [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ICommandCallback](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00279.html#_CPPv4N5telux6common16ICommandCallbackE)

    - Interface for operating mode callback object. Client needs to implement this interface to get single shot responses for commands like request current operating mode.

The methods in callback can be invoked from multiple different threads. The implementation should be thread safe.

Public Functions

- inline virtual void operatingModeResponse([OperatingMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel13OperatingModeE) operatingMode, [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) error)

    - This function is called with the response to requestOperatingMode API.

- Parameters:

    - - **operatingMode** – **[in]** [OperatingMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00016_1gad8b7c4058b96718b1f4d5d2797ec3ba4.html#a00016_1gad8b7c4058b96718b1f4d5d2797ec3ba4)
- **error** – **[in]** Return code for whether the operation succeeded or failed

    - telux::common::ErrorCode::SUCCESS
    - telux::common::ErrorCode::INTERNAL\_ERR
    - telux::common::ErrorCode::NO\_MEMORY

- inline virtual ~IOperatingModeCallback()

    -

- class SignalStrength

    - [SignalStrength](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00749) class provides access to LTE, GSM, CDMA, WCDMA, TDSCDMA, NR5G and NB-IoT(NB1) NTN signal strengths.

Public Functions

- SignalStrength(std::shared\_ptr&lt;[LteSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00684.html#_CPPv4N5telux3tel21LteSignalStrengthInfoE)&gt; lteSignalStrengthInfo, std::shared\_ptr&lt;[GsmSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00680.html#_CPPv4N5telux3tel21GsmSignalStrengthInfoE)&gt; gsmSignalStrengthInfo, std::shared\_ptr&lt;[CdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00682.html#_CPPv4N5telux3tel22CdmaSignalStrengthInfoE)&gt; cdmaSignalStrengthInfo, std::shared\_ptr&lt;[WcdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00686.html#_CPPv4N5telux3tel23WcdmaSignalStrengthInfoE)&gt; wcdmaSignalStrengthInfo, std::shared\_ptr&lt;[TdscdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00688.html#_CPPv4N5telux3tel25TdscdmaSignalStrengthInfoE)&gt; tdscdmaSignalStrengthInfo, std::shared\_ptr&lt;[Nr5gSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00690.html#_CPPv4N5telux3tel22Nr5gSignalStrengthInfoE)&gt; nr5gSignalStrengthInfo, std::shared\_ptr&lt;[Nb1NtnSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00692.html#_CPPv4N5telux3tel24Nb1NtnSignalStrengthInfoE)&gt; nb1NtnSignalStrengthInfo)

    - 

- std::shared\_ptr&lt;[LteSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00684.html#_CPPv4N5telux3tel21LteSignalStrengthInfoE)&gt; getLteSignalStrength()

    - Gives LTE signal strength instance.

- Returns:

    - Pointer to LTE signal strength instance that can be used to get lte dbm, signal level values.

- std::shared\_ptr&lt;[GsmSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00680.html#_CPPv4N5telux3tel21GsmSignalStrengthInfoE)&gt; getGsmSignalStrength()

    - Gives GSM signal strength instance.

- Returns:

    - Pointer to GSM signal strength instance that can be used to get GSM dbm, signal level values.

- std::shared\_ptr&lt;[CdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00682.html#_CPPv4N5telux3tel22CdmaSignalStrengthInfoE)&gt; getCdmaSignalStrength()

    - Gives CDMA signal strength instance.

Deprecated As of version 1.53.0 this API is no longer supported.

- Returns:

    - Pointer to CDMA signal strength instance that can be used to get cdma/evdo dbm, signal level values.

- std::shared\_ptr&lt;[WcdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00686.html#_CPPv4N5telux3tel23WcdmaSignalStrengthInfoE)&gt; getWcdmaSignalStrength()

    - Gives WCDMA signal strength instance.

- Returns:

    - Pointer to WCDMA signal strength instance that can be used to get WCDMA dbm, signal level values.

- std::shared\_ptr&lt;[TdscdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00688.html#_CPPv4N5telux3tel25TdscdmaSignalStrengthInfoE)&gt; getTdscdmaSignalStrength()

    - Gives TDSWCDMA signal strength instance.

Deprecated As of version 1.53.0 this API is no longer supported.

- Returns:

    - Pointer to TDSWCDMA signal strength instance that can be used to get TDSCDMA RSCP value.

- std::shared\_ptr&lt;[Nr5gSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00690.html#_CPPv4N5telux3tel22Nr5gSignalStrengthInfoE)&gt; getNr5gSignalStrength()

    - Gives 5G NR signal strength instance.

- Returns:

    - Pointer to 5G NR signal strength instance that can be used to get 5G NR dbm and snr values.

- std::shared\_ptr&lt;[Nb1NtnSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00692.html#_CPPv4N5telux3tel24Nb1NtnSignalStrengthInfoE)&gt; getNb1NtnSignalStrength()

    - Gives NB-IoT(NB1) NTN signal strength instance.

- Returns:

    - Pointer to NB-IoT(NB1) NTN signal strength instance that can be used to get NB-IoT(NB1) NTN dbm, signal level values.

Private Members

- std::shared\_ptr&lt;[LteSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00684.html#_CPPv4N5telux3tel21LteSignalStrengthInfoE)&gt; lteSS\_

    - 

- std::shared\_ptr&lt;[GsmSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00680.html#_CPPv4N5telux3tel21GsmSignalStrengthInfoE)&gt; gsmSS\_

    - 

- std::shared\_ptr&lt;[CdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00682.html#_CPPv4N5telux3tel22CdmaSignalStrengthInfoE)&gt; cdmaSS\_

    - 

- std::shared\_ptr&lt;[WcdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00686.html#_CPPv4N5telux3tel23WcdmaSignalStrengthInfoE)&gt; wcdmaSS\_

    - 

- std::shared\_ptr&lt;[TdscdmaSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00688.html#_CPPv4N5telux3tel25TdscdmaSignalStrengthInfoE)&gt; tdscdmaSS\_

    - 

- std::shared\_ptr&lt;[Nr5gSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00690.html#_CPPv4N5telux3tel22Nr5gSignalStrengthInfoE)&gt; nr5gSS\_

    - 

- std::shared\_ptr&lt;[Nb1NtnSignalStrengthInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00692.html#_CPPv4N5telux3tel24Nb1NtnSignalStrengthInfoE)&gt; nb1NtnSS\_

    -

- class LteSignalStrengthInfo

    - LTE signal strength class provides methods to get details of lte signals like dbm, signal level, reference signal-to-noise ratio, channel quality indicator and signal strength.

Public Functions

- LteSignalStrengthInfo(int lteSignalStrength, int lteRsrp, int lteRsrq, int lteRssnr, int lteCqi, int timingAdvance, int lteRssi = INVALID\_SIGNAL\_STRENGTH\_VALUE)

    - 

- const [SignalStrengthLevel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel19SignalStrengthLevelE) getLevel() const

    - Get signal level in the range.

- Returns:

    - Signal levels indicates the quality of signal being received by the device.

- const int getDbm() const

    - Get the signal strength in dBm. (Valid value range [-140, -43] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

- Returns:

    - LTE dBm value.

- const int getLteSignalStrength() const

    - Get the LTE signal strength which is calculated based on RSRP. (Valid value range [0, 97] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

- Returns:

    - LTE signal strength.

- const int getRssi() const

    - Get the Received Signal Strength Indicator(RSSI) in dBm (Valid value range [-100, -25] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

- Returns:

    - LTE RSSI in dBm.

- const int getLteReferenceSignalReceiveQuality() const

    - Get LTE reference signal receive quality in dB. (Valid value range [-34, 3] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

- Returns:

    - LteRsrq.

- const int getLteReferenceSignalSnr() const

    - Get LTE reference signal signal-to-noise ratio, multiply by 0.1 to get SNR in dB. (Valid value range [-200, +300] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable). (-200 = -20.0 dB, +300 = 30dB).

- Returns:

    - LteSnr.

- const int getLteChannelQualityIndicator() const

    - Get LTE channel quality indicator. (Valid value range [0, 15] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

Deprecated This API not being supported

Deprecated As of version 1.54.0 this API is no longer supported.

- Returns:

    - LteCqI.

- const int getTimingAdvance() const

    - Get the timing advance in micro seconds. (Valid value range [0, 0x7FFFFFFE] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

Deprecated This API not being supported

- Returns:

    - Timing advance value.

Private Members

- int lteSignalStrength\_

    - 

- int lteRssi\_

    - 

- int lteRsrp\_

    - 

- int lteAsu\_

    - 

- int lteRsrq\_

    - 

- int lteRssnr\_

    - 

- int lteCqi\_

    - 

- int timingAdvance\_

    -

- class GsmSignalStrengthInfo

    - GSM signal strength provides methods to get GSM signal strength in dBm and GSM signal level.

Public Functions

- GsmSignalStrengthInfo(int gsmSignalStrength, int gsmBitErrorRate, int timingAdvance, int gsmRssi = INVALID\_SIGNAL\_STRENGTH\_VALUE)

    - 

- const [SignalStrengthLevel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel19SignalStrengthLevelE) getLevel() const

    - Get signal level in the range.

- Returns:

    - Signal levels indicates the quality of signal being received by the device.

- const int getDbm() const

    - Get the signal strength in dBm. (Valid value range [-113, -51] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

- Returns:

    - GSM signal strength in dBm.

- const int getRssi() const

    - Get the Received Signal Strength Indicator(RSSI) in dBm. (Valid value range [-100, -25] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

- Returns:

    - GSM RSSI in dBm.

- const int getGsmSignalStrength() const

    - Get the GSM signal strength. (Valid value range [0, 31] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

- Returns:

    - GSM signal strength.

- const int getGsmBitErrorRate() const

    - Get the GSM bit error rate. (Valid value range [0, 7] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

Deprecated This API not being supported

- Returns:

    - GSM bit error rate.

- const int getTimingAdvance()

    - Get the timing advance in bit periods . 1 bit period = 48/13 us (Valid value range [0, 219] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

Deprecated This API not being supported

- Returns:

    - timing advance.

Private Members

- int gsmSignalStrength\_

    - 

- int rssi\_

    - 

- int gsmBitErrorRate\_

    - 

- int timingAdvance\_

    -

- class CdmaSignalStrengthInfo

    - CDMA signal strength provides methods to get details of CDMA and EVDO like signal strength in dBm and signal level.

Deprecated As of version 1.53.0 this API is no longer supported.

Public Functions

- CdmaSignalStrengthInfo(int cdmaDbm, int cdmaEcio, int evdoDbm, int evdoEcio, int evdoSignalNoiseRatio)

    - 

- const [SignalStrengthLevel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel19SignalStrengthLevelE) getLevel() const

    - Get signal level in the range.

- Returns:

    - Signal levels indicates the quality of signal being received by the device.

- const int getDbm() const

    - Get the signal strength in dBm.

- Returns:

    - Minimum value of Evdo dBm and Cdma dBm.

- const int getCdmaEcio() const

    - Get the CDMA Ec/Io in dB.

- Returns:

    - CDMA Ec/Io.

- const int getEvdoEcio() const

    - Get the EVDO Ec/Io in dB.

- Returns:

    - EVDO Ec/Io.

- const int getEvdoSignalNoiseRatio() const

    - Get the EVDO signal noise ratio. (Valid value range [0, 8] and 8 is the highest signal to noise ratio.

- Returns:

    - EVDO SNR.

Private Functions

- const int getEvdoDbm() const

    - 

- const [SignalStrengthLevel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel19SignalStrengthLevelE) getEvdoLevel() const

    - 

- const int getCdmaDbm() const

    - 

- const [SignalStrengthLevel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel19SignalStrengthLevelE) getCdmaLevel() const

    -

Private Members

- int cdmaDbm\_

    - 

- int cdmaEcio\_

    - 

- int evdoDbm\_

    - 

- int evdoEcio\_

    - 

- int evdoSignalNoiseRatio\_

    -

- class WcdmaSignalStrengthInfo

    - WCDMA signal strength provides methods to get WCDMA signal strength in dBm and WCDMA signal level.

Public Functions

- WcdmaSignalStrengthInfo(int signalStrength, int bitErrorRate)

    - 

- WcdmaSignalStrengthInfo(int signalStrength, int bitErrorRate, int wcdmaEcio, int wcdmaRscp, int wcdmaRssi = INVALID\_SIGNAL\_STRENGTH\_VALUE)

    - 

- const [SignalStrengthLevel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel19SignalStrengthLevelE) getLevel() const

    - Get signal level in the range.

- Returns:

    - Signal levels indicates the quality of signal being received by the device.

- const int getDbm() const

    - Get the signal strength in dBm. (Valid value range: RSCP [-120, 24] or RSSI [-113, -51] if RSCP is unavailable. INVALID\_SIGNAL\_STRENGTH\_VALUE indicates the signal strength is unavailable.)

- Returns:

    - WCDMA signal strength in dBm.

- const int getRssi() const

    - Get the Received Signal Strength Indicator(RSSI) in dBm. (Valid value range [-100, -25] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

- Returns:

    - WCDMA RSSI in dBm.

- const int getSignalStrength() const

    - Get the WCDMA signal strength based on Received Signal Code Power(RSCP). (Valid value range [0, 96] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

- Returns:

    - WCDMA signal strength.

- const int getBitErrorRate() const

    - Get the WCDMA bit error rate. (Valid value range [0, 7] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

Deprecated This API not being supported

- Returns:

    - WCDMA bit error rate.

- const int getEcio() const

    - Gets the WCDMA energy per chip to interference power ratio in dB.

- Returns:

    - The WCDMA energy per chip to interference power ratio. The valid range is [-20, 0] and INVALID\_SIGNAL\_STRENGTH\_VALUE, i.e., unavailable.

- const int getRscp() const

    - Gets the WCDMA received signal code power in dBm.

- Returns:

    - The WCDMA received signal code power. The valid range is [-120,-24] and INVALID\_SIGNAL\_STRENGTH\_VALUE, i.e., unavailable.

Private Members

- int signalStrength\_

    - 

- int bitErrorRate\_

    - 

- int ecio\_

    - 

- int rscp\_

    - 

- int rssi\_

    -

- class TdscdmaSignalStrengthInfo

    - Tdscdma signal strength provides methods to get received signal code power.

Deprecated As of version 1.53.0 this API is no longer supported.

Public Functions

- TdscdmaSignalStrengthInfo(int rscp)

    - 

- const int getRscp() const

    - Get TdScdma received signal code power in dBm. (Valid Range [-120,-25], and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

- Returns:

    - TdScdma signal code power.

Private Members

- int rscp\_

    -

- class Nr5gSignalStrengthInfo

    - 5G NR signal strength provides methods to get signal strength and signal-to-noise ratio.

Public Functions

- Nr5gSignalStrengthInfo(int rsrp, int rsrq, int rssnr)

    - 

- const [SignalStrengthLevel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel19SignalStrengthLevelE) getLevel() const

    - Get signal level in the range.

- Returns:

    - Signal levels indicates the quality of signal being received by the device.

- const int getNr5gSignalStrength() const

    - Get the NR signal strength which is calculated based on RSRP. (Valid value range [0, 97] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

- Returns:

    - 5G NR signal strength.

- const int getDbm() const

    - Get the signal strength in dBm. (Valid value range [-156, -31] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable). INVALID\_SIGNAL\_STRENGTH\_VALUE indicates that modem is not in ENDC connected mode.

- Returns:

    - 5G NR dBm value.

- const int getReferenceSignalReceiveQuality() const

    - Get 5G NR reference signal receive quality in dB. (Valid value range [-43, 20] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable). INVALID\_SIGNAL\_STRENGTH\_VALUE indicates that modem is not in ENDC connected mode.

- Returns:

    - 5G NR rsrq.

- const int getReferenceSignalSnr() const

    - Get 5G NR reference signal signal-to-noise ratio, multiply by 0.1 to get SNR in dB. (Valid value range [-230, +400] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable). (-230 = -23.0 dB, +400 = 40dB). INVALID\_SIGNAL\_STRENGTH\_VALUE indicates that modem is not in ENDC connected mode.

- Returns:

    - 5G NR signal-to-noise.

Private Members

- int nr5gAsu\_

    - 

- int rsrp\_

    - 

- int rsrq\_

    - 

- int rssnr\_

    -

- class Nb1NtnSignalStrengthInfo

    - NB-IoT(NB1) NTN signal strength class provides methods to get details of NB-IoT(NB1) NTN signals like dbm, signal level, reference signal receive quality and reference signal-to-noise ratio and signal strength.

Public Functions

- Nb1NtnSignalStrengthInfo(int signalStrength, int rsrp, int rsrq, int rssnr, int rssi = INVALID\_SIGNAL\_STRENGTH\_VALUE)

    - 

- const [SignalStrengthLevel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel19SignalStrengthLevelE) getLevel() const

    - Get signal level in the range.

- Returns:

    - Signal levels indicates the quality of signal being received by the device.

- const int getDbm() const

    - Get the signal strength in dBm. (Valid value range [-140, -44] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

- Returns:

    - NB1 NTN dBm value.

- const int getRssi() const

    - Get the Received Signal Strength Indicator(RSSI) in dBm (Valid value range [-100, -25] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

- Returns:

    - NB1 NTN RSSI in dBm.

- const int getSignalStrength() const

    - Get the NB1 NTN signal strength. (Valid value range [0, 31] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

- Returns:

    - NB1 NTN signal strength.

- const int getRsrq() const

    - Get NB1 NTN reference signal receive quality in dB. (Valid value range [-20, -3] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable).

- Returns:

    - NB1 NTN reference signal receive quality.

- const int getRssnr() const

    - Get NB1 NTN reference signal signal-to-noise ratio, multiply by 0.1 to get SNR in dB. (Valid value range [-200, +300] and INVALID\_SIGNAL\_STRENGTH\_VALUE i.e. unavailable). (-200 = -20.0 dB, +300 = 30dB).

- Returns:

    - NB1 NTN signal-to-noise ratio.

Private Members

- int signalStrength\_

    - 

- int rsrp\_

    - 

- int rsrq\_

    - 

- int rssnr\_

    - 

- int rssi\_

    -

- class VoiceServiceInfo

    - [VoiceServiceInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00768) is a container class for obtaining serving state details like phone is registered to home network, roaming, in service, out of service or only emergency calls allowed.

Public Functions

- VoiceServiceInfo([VoiceServiceState](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel17VoiceServiceStateE) voiceServiceState, [VoiceServiceDenialCause](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel23VoiceServiceDenialCauseE) denialCause, [RadioTechnology](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel15RadioTechnologyE) radioTech)

    - 

- [VoiceServiceState](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel17VoiceServiceStateE) getVoiceServiceState()

    - Get voice service state.

- Returns:

    - [VoiceServiceState](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00016_1ga3eba21d727380c2c4067b02e3179a9f4.html#a00016_1ga3eba21d727380c2c4067b02e3179a9f4)

- [VoiceServiceDenialCause](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel23VoiceServiceDenialCauseE) getVoiceServiceDenialCause()

    - Get Voice service denial cause

- Returns:

    - [VoiceServiceDenialCause](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00016_1ga64016ec3de0b66614f622e5715c888b3.html#a00016_1ga64016ec3de0b66614f622e5715c888b3)

- bool isEmergency()

    - Check if phone service is in emergency mode (i.e Only emergency numbers are allowed)

- bool isInService()

    - Check if phone is registered to home network or roaming network, phone is in service mode

- bool isOutOfService()

    - check if phone not registered, phone is in out of service mode

- [RadioTechnology](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel15RadioTechnologyE) getRadioTechnology()

    - Get voice radio technology

- Returns:

    - [RadioTechnology](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00016_1gabd7d7fc7f6ad3a4717bcd782922e480e.html#a00016_1gabd7d7fc7f6ad3a4717bcd782922e480e)

Private Members

- [VoiceServiceState](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel17VoiceServiceStateE) voiceServiceState\_

    - 

- [VoiceServiceDenialCause](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel23VoiceServiceDenialCauseE) denialCause\_

    - 

- [RadioTechnology](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3tel15RadioTechnologyE) radioTech\_

    -

- telux::tel::SignalStrengthConfig.\_\_unnamed\_\_

    - Public Members

- uint16\_t delta

    - Signal strength delta.

- SignalStrengthThreshold threshold

    - Signal strength threshold.

- telux::tel::SignalStrengthConfigData.\_\_unnamed\_\_

    - Public Members

- uint16\_t delta

    - Signal strength delta.

- struct [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[tel](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux3telE)::[SignalStrengthConfigData](https://docs.qualcomm.com/doc/80-PF458-2/topic/struct_a00734.html#_CPPv4N5telux3tel24SignalStrengthConfigDataE)::[anonymous]::[anonymous] [anonymous]

    -

- telux::tel::SignalStrengthConfigData.\_\_unnamed\_\_.\_\_unnamed\_\_

    - Public Members

- std::array&lt;int32\_t, THRESHOLD\_LIST\_MAX&gt; thresholdList

    - Signal strength threshold list.

- uint16\_t hysteresisDb = 0

    - (Optional) Signal strength hysteresis delta; note hysteresis db is not mandatory but hystersis db requires that the threshold list is specified.

Last Published: Apr 14, 2026

[Previous Topic
Telephony](https://docs.qualcomm.com/bundle/publicresource/80-PF458-2/topics/telephony.md) [Next Topic
Call](https://docs.qualcomm.com/bundle/publicresource/80-PF458-2/topics/call.md)