Telematics SDK - Interface Specification  v1.10.0
 All Data Structures Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
Data Services

Data Structures

class  telux::data::IDataConnectionManager
 IDataConnectionManager is a primary interface for cellular connectivity This interface provides APIs for start and stop data call connections, get data call information and listener for monitoring data calls. More...
 
class  telux::data::IDataCall
 Represents single established data call on the device. More...
 
class  telux::data::IDataConnectionListener
 
struct  telux::data::ProfileParams
 
struct  telux::data::DataCallStats
 
struct  telux::data::DataChannelRate
 
struct  telux::data::IpAddrInfo
 
struct  telux::data::DataCallEndReason
 
class  telux::data::DataFactory
 DataFactory is the central factory to create all data classes. More...
 
class  telux::data::DataProfile
 DataProfile class represents single data profile on the modem. More...
 
class  telux::data::IDataProfileManager
 
class  telux::data::IDataCreateProfileCallback
 
class  telux::data::IDataProfileListCallback
 Interface for getting list of DataProfile using callback. Client needs to implement this interface to get single shot responses for commands like get profile list and query profile. More...
 
class  telux::data::IDataProfileCallback
 
union  telux::data::DataCallEndReason.__unnamed__
 

Enumerations

enum  telux::data::IpFamilyType { telux::data::IpFamilyType::UNKNOWN = -1, telux::data::IpFamilyType::IPV4 = 0x04, telux::data::IpFamilyType::IPV6 = 0x06, telux::data::IpFamilyType::IPV4V6 = 0x0A }
 
enum  telux::data::TechPreference { telux::data::TechPreference::UNKNOWN = -1, telux::data::TechPreference::TP_3GPP, telux::data::TechPreference::TP_3GPP2, telux::data::TechPreference::TP_ANY }
 
enum  telux::data::AuthProtocolType { telux::data::AuthProtocolType::AUTH_NONE = 0, telux::data::AuthProtocolType::AUTH_PAP = 1, telux::data::AuthProtocolType::AUTH_CHAP = 2, telux::data::AuthProtocolType::AUTH_PAP_CHAP = 3 }
 
enum  telux::data::DataCallStatus {
  telux::data::DataCallStatus::INVALID = 0x00, telux::data::DataCallStatus::NET_CONNECTED, telux::data::DataCallStatus::NET_NO_NET, telux::data::DataCallStatus::NET_IDLE,
  telux::data::DataCallStatus::NET_CONNECTING, telux::data::DataCallStatus::NET_DISCONNECTING, telux::data::DataCallStatus::NET_RECONFIGURED, telux::data::DataCallStatus::NET_NEWADDR,
  telux::data::DataCallStatus::NET_DELADDR
}
 
enum  telux::data::DataBearerTechnology {
  telux::data::DataBearerTechnology::UNKNOWN, telux::data::DataBearerTechnology::CDMA_1X, telux::data::DataBearerTechnology::EVDO_REV0, telux::data::DataBearerTechnology::EVDO_REVA,
  telux::data::DataBearerTechnology::EVDO_REVB, telux::data::DataBearerTechnology::EHRPD, telux::data::DataBearerTechnology::FMC, telux::data::DataBearerTechnology::HRPD,
  telux::data::DataBearerTechnology::BEARER_TECH_3GPP2_WLAN, telux::data::DataBearerTechnology::WCDMA, telux::data::DataBearerTechnology::GPRS, telux::data::DataBearerTechnology::HSDPA,
  telux::data::DataBearerTechnology::HSUPA, telux::data::DataBearerTechnology::EDGE, telux::data::DataBearerTechnology::LTE, telux::data::DataBearerTechnology::HSDPA_PLUS,
  telux::data::DataBearerTechnology::DC_HSDPA_PLUS, telux::data::DataBearerTechnology::HSPA, telux::data::DataBearerTechnology::BEARER_TECH_64_QAM, telux::data::DataBearerTechnology::TDSCDMA,
  telux::data::DataBearerTechnology::GSM, telux::data::DataBearerTechnology::BEARER_TECH_3GPP_WLAN
}
 
enum  telux::data::EndReasonType {
  telux::data::EndReasonType::CE_UNKNOWN = 0xFF, telux::data::EndReasonType::CE_MOBILE_IP = 0x01, telux::data::EndReasonType::CE_INTERNAL = 0x02, telux::data::EndReasonType::CE_CALL_MANAGER_DEFINED = 0x03,
  telux::data::EndReasonType::CE_3GPP_SPEC_DEFINED = 0x06, telux::data::EndReasonType::CE_PPP = 0x07, telux::data::EndReasonType::CE_EHRPD = 0x08, telux::data::EndReasonType::CE_IPV6 = 0x09
}
 
enum  telux::data::MobileIpReasonCode {
  telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_REASON_UNSPECIFIED = 64, telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_ADMINISTRATIVELY_PROHIBITED = 65, telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_INSUFFICIENT_RESOURCES = 66, telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_MOBILE_NODE_AUTHENTICATION_FAILURE = 67,
  telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_HA_AUTHENTICATION_FAILURE = 68, telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_REQUESTED_LIFETIME_TOO_LONG = 69, telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_MALFORMED_REQUEST = 70, telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_MALFORMED_REPLY = 71,
  telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_ENCAPSULATION_UNAVAILABLE = 72, telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_VJHC_UNAVAILABLE = 73, telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_REVERSE_TUNNEL_UNAVAILABLE = 74, telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_REVERSE_TUNNEL_IS_MANDATORY_AND_T_BIT_NOT_SET = 75,
  telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_DELIVERY_STYLE_NOT_SUPPORTED = 79, telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_MISSING_NAI = 97, telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_MISSING_HA = 98, telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_MISSING_HOME_ADDR = 99,
  telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_UNKNOWN_CHALLENGE = 104, telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_MISSING_CHALLENGE = 105, telux::data::MobileIpReasonCode::CE_MIP_FA_ERR_STALE_CHALLENGE = 106, telux::data::MobileIpReasonCode::CE_MIP_HA_ERR_REASON_UNSPECIFIED = 128,
  telux::data::MobileIpReasonCode::CE_MIP_HA_ERR_ADMINISTRATIVELY_PROHIBITED = 129, telux::data::MobileIpReasonCode::CE_MIP_HA_ERR_INSUFFICIENT_RESOURCES = 130, telux::data::MobileIpReasonCode::CE_MIP_HA_ERR_MOBILE_NODE_AUTHENTICATION_FAILURE = 131, telux::data::MobileIpReasonCode::CE_MIP_HA_ERR_FA_AUTHENTICATION_FAILURE = 132,
  telux::data::MobileIpReasonCode::CE_MIP_HA_ERR_REGISTRATION_ID_MISMATCH = 133, telux::data::MobileIpReasonCode::CE_MIP_HA_ERR_MALFORMED_REQUEST = 134, telux::data::MobileIpReasonCode::CE_MIP_HA_ERR_UNKNOWN_HA_ADDR = 136, telux::data::MobileIpReasonCode::CE_MIP_HA_ERR_REVERSE_TUNNEL_UNAVAILABLE = 137,
  telux::data::MobileIpReasonCode::CE_MIP_HA_ERR_REVERSE_TUNNEL_IS_MANDATORY_AND_T_BIT_NOT_SET = 138, telux::data::MobileIpReasonCode::CE_MIP_HA_ERR_ENCAPSULATION_UNAVAILABLE = 139, telux::data::MobileIpReasonCode::CE_MIP_ERR_REASON_UNKNOWN = 65535
}
 
enum  telux::data::InternalReasonCode {
  telux::data::InternalReasonCode::CE_INTERNAL_ERROR = 201, telux::data::InternalReasonCode::CE_CALL_ENDED = 202, telux::data::InternalReasonCode::CE_INTERNAL_UNKNOWN_CAUSE_CODE = 203, telux::data::InternalReasonCode::CE_UNKNOWN_CAUSE_CODE = 204,
  telux::data::InternalReasonCode::CE_CLOSE_IN_PROGRESS = 205, telux::data::InternalReasonCode::CE_NW_INITIATED_TERMINATION = 206, telux::data::InternalReasonCode::CE_APP_PREEMPTED = 207, telux::data::InternalReasonCode::CE_ERR_PDN_IPV4_CALL_DISALLOWED = 208,
  telux::data::InternalReasonCode::CE_ERR_PDN_IPV4_CALL_THROTTLED = 209, telux::data::InternalReasonCode::CE_ERR_PDN_IPV6_CALL_DISALLOWED = 210, telux::data::InternalReasonCode::CE_ERR_PDN_IPV6_CALL_THROTTLED = 211, telux::data::InternalReasonCode::CE_UNPREFERRED_RAT = 214,
  telux::data::InternalReasonCode::CE_APN_DISABLED = 220, telux::data::InternalReasonCode::CE_MAX_V4_CONNECTIONS = 228, telux::data::InternalReasonCode::CE_MAX_V6_CONNECTIONS = 229, telux::data::InternalReasonCode::CE_APN_MISMATCH = 230,
  telux::data::InternalReasonCode::CE_IP_VERSION_MISMATCH = 231, telux::data::InternalReasonCode::CE_DUN_CALL_DISALLOWED = 232, telux::data::InternalReasonCode::CE_INVALID_PROFILE = 233, telux::data::InternalReasonCode::CE_INTERNAL_EPC_NONEPC_TRANSITION = 234
}
 
enum  telux::data::CallManagerReasonCode {
  telux::data::CallManagerReasonCode::CE_CDMA_LOCK = 500, telux::data::CallManagerReasonCode::CE_INTERCEPT = 501, telux::data::CallManagerReasonCode::CE_REORDER = 502, telux::data::CallManagerReasonCode::CE_REL_SO_REJ = 503,
  telux::data::CallManagerReasonCode::CE_INCOM_CALL = 504, telux::data::CallManagerReasonCode::CE_ALERT_STOP = 505, telux::data::CallManagerReasonCode::CE_ACTIVATION = 506, telux::data::CallManagerReasonCode::CE_MAX_ACCESS_PROBE = 507,
  telux::data::CallManagerReasonCode::CE_CCS_NOT_SUPPORTED_BY_BS = 508, telux::data::CallManagerReasonCode::CE_NO_RESPONSE_FROM_BS = 509, telux::data::CallManagerReasonCode::CE_REJECTED_BY_BS = 510, telux::data::CallManagerReasonCode::CE_INCOMPATIBLE = 511,
  telux::data::CallManagerReasonCode::CE_ALREADY_IN_TC = 512, telux::data::CallManagerReasonCode::CE_USER_CALL_ORIG_DURING_GPS = 513, telux::data::CallManagerReasonCode::CE_USER_CALL_ORIG_DURING_SMS = 514, telux::data::CallManagerReasonCode::CE_NO_CDMA_SRV = 515,
  telux::data::CallManagerReasonCode::CE_CONF_FAILED = 1000, telux::data::CallManagerReasonCode::CE_INCOM_REJ = 1001, telux::data::CallManagerReasonCode::CE_NO_GW_SRV = 1002, telux::data::CallManagerReasonCode::CE_NO_GPRS_CONTEXT = 1003,
  telux::data::CallManagerReasonCode::CE_ILLEGAL_MS = 1004, telux::data::CallManagerReasonCode::CE_ILLEGAL_ME = 1005, telux::data::CallManagerReasonCode::CE_GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 1006, telux::data::CallManagerReasonCode::CE_GPRS_SERVICES_NOT_ALLOWED = 1007,
  telux::data::CallManagerReasonCode::CE_MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK = 1008, telux::data::CallManagerReasonCode::CE_IMPLICITLY_DETACHED = 1009, telux::data::CallManagerReasonCode::CE_PLMN_NOT_ALLOWED = 1010, telux::data::CallManagerReasonCode::CE_LA_NOT_ALLOWED = 1011,
  telux::data::CallManagerReasonCode::CE_GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN = 1012, telux::data::CallManagerReasonCode::CE_PDP_DUPLICATE = 1013, telux::data::CallManagerReasonCode::CE_UE_RAT_CHANGE = 1014, telux::data::CallManagerReasonCode::CE_CONGESTION = 1015,
  telux::data::CallManagerReasonCode::CE_NO_PDP_CONTEXT_ACTIVATED = 1016, telux::data::CallManagerReasonCode::CE_ACCESS_CLASS_DSAC_REJECTION = 1017, telux::data::CallManagerReasonCode::CE_CD_GEN_OR_BUSY = 1500, telux::data::CallManagerReasonCode::CE_CD_BILL_OR_AUTH = 1501,
  telux::data::CallManagerReasonCode::CE_CHG_HDR = 1502, telux::data::CallManagerReasonCode::CE_EXIT_HDR = 1503, telux::data::CallManagerReasonCode::CE_HDR_NO_SESSION = 1504, telux::data::CallManagerReasonCode::CE_HDR_ORIG_DURING_GPS_FIX = 1505,
  telux::data::CallManagerReasonCode::CE_HDR_CS_TIMEOUT = 1506, telux::data::CallManagerReasonCode::CE_HDR_RELEASED_BY_CM = 1507, telux::data::CallManagerReasonCode::CE_CLIENT_END = 2000, telux::data::CallManagerReasonCode::CE_NO_SRV = 2001,
  telux::data::CallManagerReasonCode::CE_FADE = 2002, telux::data::CallManagerReasonCode::CE_REL_NORMAL = 2003, telux::data::CallManagerReasonCode::CE_ACC_IN_PROG = 2004, telux::data::CallManagerReasonCode::CE_ACC_FAIL = 2005,
  telux::data::CallManagerReasonCode::CE_REDIR_OR_HANDOFF = 2006, telux::data::CallManagerReasonCode::CE_UNKNOWN = -1
}
 
enum  telux::data::SpecReasonCode {
  telux::data::SpecReasonCode::CE_OPERATOR_DETERMINED_BARRING = 8, telux::data::SpecReasonCode::CE_LLC_SNDCP_FAILURE = 25, telux::data::SpecReasonCode::CE_INSUFFICIENT_RESOURCES = 26, telux::data::SpecReasonCode::CE_UNKNOWN_APN = 27,
  telux::data::SpecReasonCode::CE_UNKNOWN_PDP = 28, telux::data::SpecReasonCode::CE_AUTH_FAILED = 29, telux::data::SpecReasonCode::CE_GGSN_REJECT = 30, telux::data::SpecReasonCode::CE_ACTIVATION_REJECT = 31,
  telux::data::SpecReasonCode::CE_OPTION_NOT_SUPPORTED = 32, telux::data::SpecReasonCode::CE_OPTION_UNSUBSCRIBED = 33, telux::data::SpecReasonCode::CE_OPTION_TEMP_OOO = 34, telux::data::SpecReasonCode::CE_NSAPI_ALREADY_USED = 35,
  telux::data::SpecReasonCode::CE_REGULAR_DEACTIVATION = 36, telux::data::SpecReasonCode::CE_QOS_NOT_ACCEPTED = 37, telux::data::SpecReasonCode::CE_NETWORK_FAILURE = 38, telux::data::SpecReasonCode::CE_UMTS_REACTIVATION_REQ = 39,
  telux::data::SpecReasonCode::CE_FEATURE_NOT_SUPPORTED = 40, telux::data::SpecReasonCode::CE_TFT_SEMANTIC_ERROR = 41, telux::data::SpecReasonCode::CE_TFT_SYNTAX_ERROR = 42, telux::data::SpecReasonCode::CE_UNKNOWN_PDP_CONTEXT = 43,
  telux::data::SpecReasonCode::CE_FILTER_SEMANTIC_ERROR = 44, telux::data::SpecReasonCode::CE_FILTER_SYNTAX_ERROR = 45, telux::data::SpecReasonCode::CE_PDP_WITHOUT_ACTIVE_TFT = 46, telux::data::SpecReasonCode::CE_IP_V4_ONLY_ALLOWED = 50,
  telux::data::SpecReasonCode::CE_IP_V6_ONLY_ALLOWED = 51, telux::data::SpecReasonCode::CE_SINGLE_ADDR_BEARER_ONLY = 52, telux::data::SpecReasonCode::CE_INVALID_TRANSACTION_ID = 81, telux::data::SpecReasonCode::CE_MESSAGE_INCORRECT_SEMANTIC = 95,
  telux::data::SpecReasonCode::CE_INVALID_MANDATORY_INFO = 96, telux::data::SpecReasonCode::CE_MESSAGE_TYPE_UNSUPPORTED = 97, telux::data::SpecReasonCode::CE_MSG_TYPE_NONCOMPATIBLE_STATE = 98, telux::data::SpecReasonCode::CE_UNKNOWN_INFO_ELEMENT = 99,
  telux::data::SpecReasonCode::CE_CONDITIONAL_IE_ERROR = 100, telux::data::SpecReasonCode::CE_MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE = 101, telux::data::SpecReasonCode::CE_PROTOCOL_ERROR = 111, telux::data::SpecReasonCode::CE_APN_TYPE_CONFLICT = 112,
  telux::data::SpecReasonCode::CE_UNKNOWN = -1
}
 
enum  telux::data::PPPReasonCode {
  telux::data::PPPReasonCode::CE_PPP_TIMEOUT = 1, telux::data::PPPReasonCode::CE_PPP_AUTH_FAILURE = 2, telux::data::PPPReasonCode::CE_PPP_OPTION_MISMATCH = 3, telux::data::PPPReasonCode::CE_PPP_PAP_FAILURE = 31,
  telux::data::PPPReasonCode::CE_PPP_CHAP_FAILURE = 32, telux::data::PPPReasonCode::CE_PPP_UNKNOWN = -1
}
 
enum  telux::data::EHRPDReasonCode {
  telux::data::EHRPDReasonCode::CE_EHRPD_SUBS_LIMITED_TO_V4 = 1, telux::data::EHRPDReasonCode::CE_EHRPD_SUBS_LIMITED_TO_V6 = 2, telux::data::EHRPDReasonCode::CE_EHRPD_VSNCP_TIMEOUT = 4, telux::data::EHRPDReasonCode::CE_EHRPD_VSNCP_FAILURE = 5,
  telux::data::EHRPDReasonCode::CE_EHRPD_VSNCP_3GPP2I_GEN_ERROR = 6, telux::data::EHRPDReasonCode::CE_EHRPD_VSNCP_3GPP2I_UNAUTH_APN = 7, telux::data::EHRPDReasonCode::CE_EHRPD_VSNCP_3GPP2I_PDN_LIMIT_EXCEED = 8, telux::data::EHRPDReasonCode::CE_EHRPD_VSNCP_3GPP2I_NO_PDN_GW = 9,
  telux::data::EHRPDReasonCode::CE_EHRPD_VSNCP_3GPP2I_PDN_GW_UNREACH = 10, telux::data::EHRPDReasonCode::CE_EHRPD_VSNCP_3GPP2I_PDN_GW_REJ = 11, telux::data::EHRPDReasonCode::CE_EHRPD_VSNCP_3GPP2I_INSUFF_PARAM = 12, telux::data::EHRPDReasonCode::CE_EHRPD_VSNCP_3GPP2I_RESOURCE_UNAVAIL = 13,
  telux::data::EHRPDReasonCode::CE_EHRPD_VSNCP_3GPP2I_ADMIN_PROHIBIT = 14, telux::data::EHRPDReasonCode::CE_EHRPD_VSNCP_3GPP2I_PDN_ID_IN_USE = 15, telux::data::EHRPDReasonCode::CE_EHRPD_VSNCP_3GPP2I_SUBSCR_LIMITATION = 16, telux::data::EHRPDReasonCode::CE_EHRPD_VSNCP_3GPP2I_PDN_EXISTS_FOR_THIS_APN = 17,
  telux::data::EHRPDReasonCode::CE_EHRPD_UNKNOWN = -1
}
 
enum  telux::data::Ipv6ReasonCode { telux::data::Ipv6ReasonCode::CE_PREFIX_UNAVAILABLE = 1, telux::data::Ipv6ReasonCode::CE_IPV6_ERR_HRPD_IPV6_DISABLED = 2, telux::data::Ipv6ReasonCode::CE_IPV6_DISABLED = 3 }
 

Detailed Description

This section contains APIs related to Cellular Data Services.


Data Structure Documentation

class telux::data::IDataConnectionManager

IDataConnectionManager is a primary interface for cellular connectivity This interface provides APIs for start and stop data call connections, get data call information and listener for monitoring data calls.

Public Member Functions

virtual bool isSubsystemReady ()=0
 
virtual std::future< bool > onSubsystemReady ()=0
 
virtual telux::common::Status startDataCall (int profileId, IpFamilyType ipFamilyType=IpFamilyType::IPV4V6, DataCallResponseCb callback=nullptr)=0
 
virtual telux::common::Status stopDataCall (int profileId, IpFamilyType ipFamilyType=IpFamilyType::IPV4V6, DataCallResponseCb callback=nullptr)=0
 
virtual telux::common::Status requestDataCallStatistics (int profileId, StatisticsResponseCb callback=nullptr)=0
 
virtual telux::common::Status resetDataCallStatistics (int profileId)=0
 
virtual telux::common::Status requestDataRate (int profileId, RateResponseCallback callback=nullptr)=0
 
virtual telux::common::Status registerListener (std::weak_ptr< IDataConnectionListener > listener)=0
 
virtual telux::common::Status deregisterListener (std::weak_ptr< IDataConnectionListener > listener)=0
 
virtual int getSlotId ()=0
 
virtual ~IDataConnectionManager ()
 

Constructor & Destructor Documentation

virtual telux::data::IDataConnectionManager::~IDataConnectionManager ( )
virtual

Destructor for IDataConnectionManager

Member Function Documentation

virtual bool telux::data::IDataConnectionManager::isSubsystemReady ( )
pure virtual

Checks if the data subsystem is ready.

Returns
True if Data Connection Manager is ready for service, otherwise returns false.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual std::future<bool> telux::data::IDataConnectionManager::onSubsystemReady ( )
pure virtual

Wait for data subsystem to be ready.

Returns
A future that caller can wait on to be notified when card manager is ready.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataConnectionManager::startDataCall ( int  profileId,
IpFamilyType  ipFamilyType = IpFamilyType::IPV4V6,
DataCallResponseCb  callback = nullptr 
)
pure virtual

Starts a data call corresponding to default or specified profile identifier.

This will bring up data call connection based on specified profile identifier. This is an asynchronous API, client receives notification indicating the data call establishment or failure in callback.

Parameters
[in]profileIdProfile identifier corresponding to which data call bring up will be done. Use IDataProfileManager::requestProfileList to get list of available profiles.
[in]ipFamilyTypeIdentifies IP family type
[out]callbackOptional callback to get the response of start data call.
Returns
Immediate status of startDataCall() request sent i.e. success or suitable status code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataConnectionManager::stopDataCall ( int  profileId,
IpFamilyType  ipFamilyType = IpFamilyType::IPV4V6,
DataCallResponseCb  callback = nullptr 
)
pure virtual

Stops a data call corresponding to default or specified profile identifier.

This will tear down specific data call connection based on profile identifier.

Parameters
[in]profileIdProfile identifier corresponding to which data call tear down will be done. Use data profile manager to get the list of available profiles.
[in]ipFamilyTypeIdentifies IP family type
[out]callbackOptional callback to get the response of stop data call
Returns
Immediate status of stopDataCall() request sent i.e. success or suitable status code. The client receives asynchronous notifications indicating the data call tear-down.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataConnectionManager::requestDataCallStatistics ( int  profileId,
StatisticsResponseCb  callback = nullptr 
)
pure virtual

Request the data transfer statistics for data call corresponding to specified profile identifier.

Parameters
[in]profileIdProfile identifier
[in]callbackOptional callback to get the response of request Data Call Statistics
Returns
Status of getDataCallStatistics i.e. success or suitable status code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataConnectionManager::resetDataCallStatistics ( int  profileId)
pure virtual

Reset data transfer statistics for data call corresponding to specified profile identifier.

Parameters
[in]profileIdReset statistics corresponding to profile identifier
Returns
Status of resetDataCallStatistics i.e. success or suitable status code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataConnectionManager::requestDataRate ( int  profileId,
RateResponseCallback  callback = nullptr 
)
pure virtual

Request the current/maximum transmit and receive data channel rate for specified profile identifier.

Parameters
[in]profileIdProfile identifier.
[in]callbackOptional callback to get the response of request Data channel rate
Returns
Status of getDataRate i.e. success or suitable status code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataConnectionManager::registerListener ( std::weak_ptr< IDataConnectionListener listener)
pure virtual

Register a listener for specific events in the Connection Manager like establishment of new data call, data call info change and call failure.

Parameters
[in]listenerpointer of IDataConnectionListener object that processes the notification
Returns
Status of registerListener success or suitable status code
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataConnectionManager::deregisterListener ( std::weak_ptr< IDataConnectionListener listener)
pure virtual

Removes a previously added listener.

Parameters
[in]listenerpointer of IDataConnectionListener object that needs to be removed
Returns
Status of deregisterListener success or suitable status code
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual int telux::data::IDataConnectionManager::getSlotId ( )
pure virtual

Get associated slot id for the Data Connection Manager.

Returns
SlotId
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
class telux::data::IDataCall

Represents single established data call on the device.

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

Public Member Functions

virtual const std::string & getInterfaceName ()=0
 
virtual DataBearerTechnology getCurrentBearerTech ()=0
 
virtual DataCallEndReason getDataCallEndReason ()=0
 
virtual DataCallStatus getDataCallStatus ()=0
 
virtual TechPreference getTechPreference ()=0
 
virtual std::list< IpAddrInfogetIpAddressInfo ()=0
 
virtual const std::string & getApnName ()=0
 
virtual IpFamilyType getIpFamilyType ()=0
 
virtual int getProfileId ()=0
 

Member Function Documentation

virtual const std::string& telux::data::IDataCall::getInterfaceName ( )
pure virtual

Get interface name for the data call associated.

Returns
Interface Name.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual DataBearerTechnology telux::data::IDataCall::getCurrentBearerTech ( )
pure virtual

Get the bearer technology on which earlier data call was brought up like LTE, WCDMA and etc. This is synchronous API called by client to get bearer technology corresponding to data call.

Returns
DataBearerTechnology
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual DataCallEndReason telux::data::IDataCall::getDataCallEndReason ( )
pure virtual

Get failure reason for the data call.

Returns
DataCallFailReason.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual DataCallStatus telux::data::IDataCall::getDataCallStatus ( )
pure virtual

Get data call status like connected, disconnected and IP address changes.

Returns
DataCallStatus.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual TechPreference telux::data::IDataCall::getTechPreference ( )
pure virtual

Get the technology on which the call was brought up.

Returns
TechPreference.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual std::list<IpAddrInfo> telux::data::IDataCall::getIpAddressInfo ( )
pure virtual

Get list of IP address information.

Returns
List of IP address details.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual const std::string& telux::data::IDataCall::getApnName ( )
pure virtual

Get Access Point Name (APN) name

Returns
APN name.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual IpFamilyType telux::data::IDataCall::getIpFamilyType ( )
pure virtual

Get IP Family Type i.e. IPv4, IPv6 or Both

Returns
IpFamilyType.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual int telux::data::IDataCall::getProfileId ( )
pure virtual

Get Profile Id

Returns
Profile Identifier.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
class telux::data::IDataConnectionListener

Interface for Data call listener object. Client needs to implement this interface to get access to data services notifications like onNewDataCall, onDataCallStatusChanged and onDataCallFailure.

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

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

Public Member Functions

virtual void onDataCallInfoChanged (const std::shared_ptr< IDataCall > &dataCall)
 

Member Function Documentation

virtual void telux::data::IDataConnectionListener::onDataCallInfoChanged ( const std::shared_ptr< IDataCall > &  dataCall)
virtual

This function is called when there is a change in the data call.

Parameters
[in]statusData Call Status
[in]dataCallPointer to IDataCall
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
struct telux::data::ProfileParams

Profile Parameters used for profile creation, query and modify

Data Fields
string profileName

Profile Name

string apn

APN name

string userName

APN user name (if any)

string password

APN password (if any)

TechPreference techPref

Technology preference, default is TechPreference::UNKNOWN

AuthProtocolType authType

Authentication protocol type, default is AuthProtocolType::AUTH_NONE

IpFamilyType ipFamilyType

Preferred IP family for the call, default is IpFamilyType::UNKNOWN

struct telux::data::DataCallStats

Data transfer statistics structure.

Data Fields
unsigned long packetsTx

Number of packets transmitted

unsigned long packetsRx

Number of packets received

long long bytesTx

Number of bytes transmitted

long long bytesRx

Number of bytes received

unsigned long packetsDroppedTx

Number of transmit packets dropped

unsigned long packetsDroppedRx

Number of receive packets dropped

struct telux::data::DataChannelRate

Data bit rate in kbps

Data Fields
int txRate

Current transfer rate

int rxRate

Current receiver rate

int maxTxRate

Max transfer rate

int maxRxRate

Max receiver rate

struct telux::data::IpAddrInfo

IP address information structure

Data Fields
string ifAddress

Interface IP address.

unsigned int ifMask

Subnet mask.

string gwAddress

Gateway IP address.

unsigned int gwMask

Subnet mask.

string primaryDnsAddress

Primary DNS address.

string secondaryDnsAddress

Secondary DNS address.

struct telux::data::DataCallEndReason
Data Fields
EndReasonType type

Data call terminated due to reason type, default is CE_UNKNOWN

union DataCallEndReason __unnamed__

Reason Code corresponding to reason type

class telux::data::DataFactory

DataFactory is the central factory to create all data classes.

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

Public Member Functions

std::shared_ptr
< IDataConnectionManager
getDataConnectionManager (int slotId=DEFAULT_SLOT_ID)
 
std::shared_ptr
< IDataProfileManager
getDataProfileManager (int slotId=DEFAULT_SLOT_ID)
 

Static Public Member Functions

static DataFactorygetInstance ()
 

Member Function Documentation

static DataFactory& telux::data::DataFactory::getInstance ( )
static

Get Data Factory instance.

std::shared_ptr<IDataConnectionManager> telux::data::DataFactory::getDataConnectionManager ( int  slotId = DEFAULT_SLOT_ID)

Get Data Connection Manager

Parameters
[in]slotIdUnique identifier for the SIM slot
Returns
instance of IDataConnectionManager
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
std::shared_ptr<IDataProfileManager> telux::data::DataFactory::getDataProfileManager ( int  slotId = DEFAULT_SLOT_ID)

Get Data Profile Manager

Parameters
[in]slotIdUnique identifier for the SIM slot
Returns
instance of IDataProfileManager
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
class telux::data::DataProfile

DataProfile class represents single data profile on the modem.

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

Public Member Functions

 DataProfile (int id, const std::string &name, const std::string &apn, const std::string &username, const std::string &password, IpFamilyType ipFamilyType, TechPreference techPref, AuthProtocolType authType)
 
int getId ()
 
std::string getName ()
 
std::string getApn ()
 
std::string getUserName ()
 
std::string getPassword ()
 
TechPreference getTechPreference ()
 
AuthProtocolType getAuthProtocolType ()
 
IpFamilyType getIpFamilyType ()
 
std::string toString ()
 

Constructor & Destructor Documentation

telux::data::DataProfile::DataProfile ( int  id,
const std::string &  name,
const std::string &  apn,
const std::string &  username,
const std::string &  password,
IpFamilyType  ipFamilyType,
TechPreference  techPref,
AuthProtocolType  authType 
)

Member Function Documentation

int telux::data::DataProfile::getId ( )

Get profile identifier.

Returns
profile id
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
std::string telux::data::DataProfile::getName ( )

Get profile name.

Returns
profile name
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
std::string telux::data::DataProfile::getApn ( )

Get Access Point Name (APN) name.

Returns
APN name
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
std::string telux::data::DataProfile::getUserName ( )

Get profile user name.

Returns
user name
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
std::string telux::data::DataProfile::getPassword ( )

Get profile password.

Returns
profile password
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
TechPreference telux::data::DataProfile::getTechPreference ( )

Get technology preference.

Returns
TechPreference TechPreference
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
AuthProtocolType telux::data::DataProfile::getAuthProtocolType ( )

Get authentication preference.

Returns
AuthProtocolType AuthProtocolType
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
IpFamilyType telux::data::DataProfile::getIpFamilyType ( )

Get IP Family type.

Returns
IpFamilyType IpFamilyType
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
std::string telux::data::DataProfile::toString ( )

Get the text related informative representation of this object.

Returns
String containing informative string.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
class telux::data::IDataProfileManager

IDataProfileManager is a primary interface for profile management.

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

Public Member Functions

virtual telux::common::Status requestProfileList (std::shared_ptr< IDataProfileListCallback > callback=nullptr)=0
 
virtual telux::common::Status createProfile (const ProfileParams &profileParams, std::shared_ptr< IDataCreateProfileCallback > callback=nullptr)=0
 
virtual telux::common::Status deleteProfile (uint8_t profileId, TechPreference techPreference, std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0
 
virtual telux::common::Status modifyProfile (uint8_t profileId, const ProfileParams &profileParams, std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0
 
virtual telux::common::Status queryProfile (const ProfileParams &profileParams, std::shared_ptr< IDataProfileListCallback > callback=nullptr)=0
 
virtual telux::common::Status requestProfile (uint8_t profileId, TechPreference techPreference, std::shared_ptr< IDataProfileCallback > callback=nullptr)=0
 
virtual int getSlotId ()=0
 

Member Function Documentation

virtual telux::common::Status telux::data::IDataProfileManager::requestProfileList ( std::shared_ptr< IDataProfileListCallback callback = nullptr)
pure virtual

Request list of profiles supported by the device.

Parameters
[in,out]callbackCallback pointer to get the response.
Returns
Status of request profile i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataProfileManager::createProfile ( const ProfileParams profileParams,
std::shared_ptr< IDataCreateProfileCallback callback = nullptr 
)
pure virtual

Create profile based on data profile params.

Parameters
[in]profileParamsprofileParams configuration to be passed for creating profile either for 3GPP or 3GPP2
[in,out]callbackCallback pointer to get the result of create profile
Returns
Status of create profile i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataProfileManager::deleteProfile ( uint8_t  profileId,
TechPreference  techPreference,
std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr 
)
pure virtual

Delete profile corresponding to profile identifier.

The deletion of a profile does not affect profile index assignments.

Parameters
[in]profileIdProfile identifier
[in]techPreferenceTechnology Preference like 3GPP / 3GPP2
[in]callbackCallback pointer to get the result of delete profile
Returns
Status of delete profile i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataProfileManager::modifyProfile ( uint8_t  profileId,
const ProfileParams profileParams,
std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr 
)
pure virtual

Modify existing profile with new profile params.

Parameters
[in]profileIdProfile identifier of profile to be modified
[in]profileParamsNew profileParams configuration passed for updating existing profile
[in]callbackCallback pointer to get the result of modify profile
Returns
Status of modify profile i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataProfileManager::queryProfile ( const ProfileParams profileParams,
std::shared_ptr< IDataProfileListCallback callback = nullptr 
)
pure virtual

Lookup modem profile/s based on given profile params.

Parameters
[in]profileParamsProfileParams configuration to be passed
[in]callbackCallback pointer to get the result of query profile
Returns
Status of query profile i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataProfileManager::requestProfile ( uint8_t  profileId,
TechPreference  techPreference,
std::shared_ptr< IDataProfileCallback callback = nullptr 
)
pure virtual

Get data profile corresponding to profile identifier.

Parameters
[in]profileIdProfile identifier
[in]techPreferenceTechnology preference
[in]callbackCallback pointer to get the result of get profile by ID
Returns
Status of requestProfile i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual int telux::data::IDataProfileManager::getSlotId ( )
pure virtual

Get associated slot id for the Data Profile Manager.

Returns
SlotId
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
class telux::data::IDataCreateProfileCallback

Interface for create profile callback object. Client needs to implement this interface to get single shot responses for command like create profile.

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

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

Public Member Functions

virtual void onResponse (int profileId, telux::common::ErrorCode error)
 
- Public Member Functions inherited from telux::common::ICommandCallback
virtual ~ICommandCallback ()
 

Member Function Documentation

virtual void telux::data::IDataCreateProfileCallback::onResponse ( int  profileId,
telux::common::ErrorCode  error 
)
virtual

This function is called with the response to IDataProfileManager::createProfile API.

Parameters
[in]profileIdcreated profile Id for the response. Use IDataProfileManager::requestProfile to get the data profile
[in]errortelux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
class telux::data::IDataProfileListCallback

Interface for getting list of DataProfile using callback. Client needs to implement this interface to get single shot responses for commands like get profile list and query profile.

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

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

Public Member Functions

virtual void onProfileListResponse (const std::vector< std::shared_ptr< DataProfile >> &profiles, telux::common::ErrorCode error)
 
- Public Member Functions inherited from telux::common::ICommandCallback
virtual ~ICommandCallback ()
 

Member Function Documentation

virtual void telux::data::IDataProfileListCallback::onProfileListResponse ( const std::vector< std::shared_ptr< DataProfile >> &  profiles,
telux::common::ErrorCode  error 
)
virtual

This function is called with the response to requestProfileList API or queryProfile API.

Parameters
[in]profilesList of profiles supported by the device
[in]errortelux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
class telux::data::IDataProfileCallback

Interface for getting DataProfile using callback. Client needs to implement this interface to get single shot responses for command like create profile.

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

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

Public Member Functions

virtual void onResponse (const std::shared_ptr< DataProfile > &profile, telux::common::ErrorCode error)
 
- Public Member Functions inherited from telux::common::ICommandCallback
virtual ~ICommandCallback ()
 

Member Function Documentation

virtual void telux::data::IDataProfileCallback::onResponse ( const std::shared_ptr< DataProfile > &  profile,
telux::common::ErrorCode  error 
)
virtual

This function is called with the response to IDataProfileManager::requestProfile API.

Parameters
[in]profileResponse of data profile
[in]errortelux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
union telux::data::DataCallEndReason.__unnamed__
Data Fields
MobileIpReasonCode IpCode
InternalReasonCode internalCode
CallManagerReasonCode cmCode
SpecReasonCode specCode
PPPReasonCode pppCode
EHRPDReasonCode ehrpdCode
Ipv6ReasonCode ipv6Code

Enumeration Type Documentation

Preferred IP family for the call

Enumerator
UNKNOWN 
IPV4 
IPV6 
IPV4V6 

Technology Preference

Enumerator
UNKNOWN 
TP_3GPP 

UMTS, LTE

TP_3GPP2 

CDMA

TP_ANY 

ANY (3GPP or 3GPP2)

Authentication protocol type to be used for PDP context.

Enumerator
AUTH_NONE 
AUTH_PAP 

Password Authentication Protocol

AUTH_CHAP 

Challenge Handshake Authentication Protocol

AUTH_PAP_CHAP 

DATA event status

Enumerator
INVALID 

Invalid

NET_CONNECTED 

Call is connected

NET_NO_NET 

Call is disconnected

NET_IDLE 

Call is in idle state

NET_CONNECTING 

Call is in connecting state

NET_DISCONNECTING 

Call is in disconnecting state

NET_RECONFIGURED 

Interface is reconfigured, IP Address got changed

NET_NEWADDR 

A new IP address was added on an existing call

NET_DELADDR 

An IP address was removed from the existing interface

Bearer technology types (returned with getCurrentBearerTech).

Enumerator
UNKNOWN 

Unknown bearer.

CDMA_1X 

1X technology.

EVDO_REV0 

CDMA Rev 0.

EVDO_REVA 

CDMA Rev A.

EVDO_REVB 

CDMA Rev B.

EHRPD 

EHRPD.

FMC 

Fixed mobile convergence.

HRPD 

HRPD

BEARER_TECH_3GPP2_WLAN 

IWLAN

WCDMA 

WCDMA.

GPRS 

GPRS.

HSDPA 

HSDPA.

HSUPA 

HSUPA.

EDGE 

EDGE.

LTE 

LTE.

HSDPA_PLUS 

HSDPA+.

DC_HSDPA_PLUS 

DC HSDPA+.

HSPA 

HSPA

BEARER_TECH_64_QAM 

64 QAM.

TDSCDMA 

TD-SCDMA.

GSM 

GSM

BEARER_TECH_3GPP_WLAN 

IWLAN

Data call terminated due to reason type.

Enumerator
CE_UNKNOWN 
CE_MOBILE_IP 
CE_INTERNAL 
CE_CALL_MANAGER_DEFINED 
CE_3GPP_SPEC_DEFINED 
CE_PPP 
CE_EHRPD 
CE_IPV6 
Enumerator
CE_MIP_FA_ERR_REASON_UNSPECIFIED 
CE_MIP_FA_ERR_ADMINISTRATIVELY_PROHIBITED 
CE_MIP_FA_ERR_INSUFFICIENT_RESOURCES 
CE_MIP_FA_ERR_MOBILE_NODE_AUTHENTICATION_FAILURE 
CE_MIP_FA_ERR_HA_AUTHENTICATION_FAILURE 
CE_MIP_FA_ERR_REQUESTED_LIFETIME_TOO_LONG 
CE_MIP_FA_ERR_MALFORMED_REQUEST 
CE_MIP_FA_ERR_MALFORMED_REPLY 
CE_MIP_FA_ERR_ENCAPSULATION_UNAVAILABLE 
CE_MIP_FA_ERR_VJHC_UNAVAILABLE 
CE_MIP_FA_ERR_REVERSE_TUNNEL_UNAVAILABLE 
CE_MIP_FA_ERR_REVERSE_TUNNEL_IS_MANDATORY_AND_T_BIT_NOT_SET 
CE_MIP_FA_ERR_DELIVERY_STYLE_NOT_SUPPORTED 
CE_MIP_FA_ERR_MISSING_NAI 
CE_MIP_FA_ERR_MISSING_HA 
CE_MIP_FA_ERR_MISSING_HOME_ADDR 
CE_MIP_FA_ERR_UNKNOWN_CHALLENGE 
CE_MIP_FA_ERR_MISSING_CHALLENGE 
CE_MIP_FA_ERR_STALE_CHALLENGE 
CE_MIP_HA_ERR_REASON_UNSPECIFIED 
CE_MIP_HA_ERR_ADMINISTRATIVELY_PROHIBITED 
CE_MIP_HA_ERR_INSUFFICIENT_RESOURCES 
CE_MIP_HA_ERR_MOBILE_NODE_AUTHENTICATION_FAILURE 
CE_MIP_HA_ERR_FA_AUTHENTICATION_FAILURE 
CE_MIP_HA_ERR_REGISTRATION_ID_MISMATCH 
CE_MIP_HA_ERR_MALFORMED_REQUEST 
CE_MIP_HA_ERR_UNKNOWN_HA_ADDR 
CE_MIP_HA_ERR_REVERSE_TUNNEL_UNAVAILABLE 
CE_MIP_HA_ERR_REVERSE_TUNNEL_IS_MANDATORY_AND_T_BIT_NOT_SET 
CE_MIP_HA_ERR_ENCAPSULATION_UNAVAILABLE 
CE_MIP_ERR_REASON_UNKNOWN 
Enumerator
CE_INTERNAL_ERROR 
CE_CALL_ENDED 
CE_INTERNAL_UNKNOWN_CAUSE_CODE 
CE_UNKNOWN_CAUSE_CODE 
CE_CLOSE_IN_PROGRESS 
CE_NW_INITIATED_TERMINATION 
CE_APP_PREEMPTED 
CE_ERR_PDN_IPV4_CALL_DISALLOWED 
CE_ERR_PDN_IPV4_CALL_THROTTLED 
CE_ERR_PDN_IPV6_CALL_DISALLOWED 
CE_ERR_PDN_IPV6_CALL_THROTTLED 
CE_UNPREFERRED_RAT 
CE_APN_DISABLED 
CE_MAX_V4_CONNECTIONS 
CE_MAX_V6_CONNECTIONS 
CE_APN_MISMATCH 
CE_IP_VERSION_MISMATCH 
CE_DUN_CALL_DISALLOWED 
CE_INVALID_PROFILE 
CE_INTERNAL_EPC_NONEPC_TRANSITION 
Enumerator
CE_CDMA_LOCK 
CE_INTERCEPT 
CE_REORDER 
CE_REL_SO_REJ 
CE_INCOM_CALL 
CE_ALERT_STOP 
CE_ACTIVATION 
CE_MAX_ACCESS_PROBE 
CE_CCS_NOT_SUPPORTED_BY_BS 
CE_NO_RESPONSE_FROM_BS 
CE_REJECTED_BY_BS 
CE_INCOMPATIBLE 
CE_ALREADY_IN_TC 
CE_USER_CALL_ORIG_DURING_GPS 
CE_USER_CALL_ORIG_DURING_SMS 
CE_NO_CDMA_SRV 
CE_CONF_FAILED 
CE_INCOM_REJ 
CE_NO_GW_SRV 
CE_NO_GPRS_CONTEXT 
CE_ILLEGAL_MS 
CE_ILLEGAL_ME 
CE_GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED 
CE_GPRS_SERVICES_NOT_ALLOWED 
CE_MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK 
CE_IMPLICITLY_DETACHED 
CE_PLMN_NOT_ALLOWED 
CE_LA_NOT_ALLOWED 
CE_GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN 
CE_PDP_DUPLICATE 
CE_UE_RAT_CHANGE 
CE_CONGESTION 
CE_NO_PDP_CONTEXT_ACTIVATED 
CE_ACCESS_CLASS_DSAC_REJECTION 
CE_CD_GEN_OR_BUSY 
CE_CD_BILL_OR_AUTH 
CE_CHG_HDR 
CE_EXIT_HDR 
CE_HDR_NO_SESSION 
CE_HDR_ORIG_DURING_GPS_FIX 
CE_HDR_CS_TIMEOUT 
CE_HDR_RELEASED_BY_CM 
CE_CLIENT_END 
CE_NO_SRV 
CE_FADE 
CE_REL_NORMAL 
CE_ACC_IN_PROG 
CE_ACC_FAIL 
CE_REDIR_OR_HANDOFF 
CE_UNKNOWN 
Enumerator
CE_OPERATOR_DETERMINED_BARRING 
CE_LLC_SNDCP_FAILURE 
CE_INSUFFICIENT_RESOURCES 
CE_UNKNOWN_APN 
CE_UNKNOWN_PDP 
CE_AUTH_FAILED 
CE_GGSN_REJECT 
CE_ACTIVATION_REJECT 
CE_OPTION_NOT_SUPPORTED 
CE_OPTION_UNSUBSCRIBED 
CE_OPTION_TEMP_OOO 
CE_NSAPI_ALREADY_USED 
CE_REGULAR_DEACTIVATION 
CE_QOS_NOT_ACCEPTED 
CE_NETWORK_FAILURE 
CE_UMTS_REACTIVATION_REQ 
CE_FEATURE_NOT_SUPPORTED 
CE_TFT_SEMANTIC_ERROR 
CE_TFT_SYNTAX_ERROR 
CE_UNKNOWN_PDP_CONTEXT 
CE_FILTER_SEMANTIC_ERROR 
CE_FILTER_SYNTAX_ERROR 
CE_PDP_WITHOUT_ACTIVE_TFT 
CE_IP_V4_ONLY_ALLOWED 
CE_IP_V6_ONLY_ALLOWED 
CE_SINGLE_ADDR_BEARER_ONLY 
CE_INVALID_TRANSACTION_ID 
CE_MESSAGE_INCORRECT_SEMANTIC 
CE_INVALID_MANDATORY_INFO 
CE_MESSAGE_TYPE_UNSUPPORTED 
CE_MSG_TYPE_NONCOMPATIBLE_STATE 
CE_UNKNOWN_INFO_ELEMENT 
CE_CONDITIONAL_IE_ERROR 
CE_MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE 
CE_PROTOCOL_ERROR 
CE_APN_TYPE_CONFLICT 
CE_UNKNOWN 
Enumerator
CE_PPP_TIMEOUT 
CE_PPP_AUTH_FAILURE 
CE_PPP_OPTION_MISMATCH 
CE_PPP_PAP_FAILURE 
CE_PPP_CHAP_FAILURE 
CE_PPP_UNKNOWN 
Enumerator
CE_EHRPD_SUBS_LIMITED_TO_V4 
CE_EHRPD_SUBS_LIMITED_TO_V6 
CE_EHRPD_VSNCP_TIMEOUT 
CE_EHRPD_VSNCP_FAILURE 
CE_EHRPD_VSNCP_3GPP2I_GEN_ERROR 
CE_EHRPD_VSNCP_3GPP2I_UNAUTH_APN 
CE_EHRPD_VSNCP_3GPP2I_PDN_LIMIT_EXCEED 
CE_EHRPD_VSNCP_3GPP2I_NO_PDN_GW 
CE_EHRPD_VSNCP_3GPP2I_PDN_GW_UNREACH 
CE_EHRPD_VSNCP_3GPP2I_PDN_GW_REJ 
CE_EHRPD_VSNCP_3GPP2I_INSUFF_PARAM 
CE_EHRPD_VSNCP_3GPP2I_RESOURCE_UNAVAIL 
CE_EHRPD_VSNCP_3GPP2I_ADMIN_PROHIBIT 
CE_EHRPD_VSNCP_3GPP2I_PDN_ID_IN_USE 
CE_EHRPD_VSNCP_3GPP2I_SUBSCR_LIMITATION 
CE_EHRPD_VSNCP_3GPP2I_PDN_EXISTS_FOR_THIS_APN 
CE_EHRPD_UNKNOWN 
Enumerator
CE_PREFIX_UNAVAILABLE 
CE_IPV6_ERR_HRPD_IPV6_DISABLED 
CE_IPV6_DISABLED