Telematics SDK - Interface Specification
v1.38.37
|
Namespaces | |
telux | |
DeviceConfig provides utility functions to get device configuration details such as multi SIM support. | |
telux::common | |
Data Structures | |
class | telux::common::ICommandCallback |
class | telux::common::ICommandResponseCallback |
General command response callback for most of the requests, client needs to implement this interface to get single shot response. More... | |
class | telux::common::DeviceConfig |
class | telux::common::Log |
struct | telux::common::SdkVersion |
class | telux::common::Version |
Provides version of SDK. More... | |
Macros | |
#define | LINE_NO_STR(x) #x |
#define | LINE_NO(x) LINE_NO_STR(x) |
#define | INFO telux::common::LogLevel::LEVEL_INFO |
#define | DEBUG telux::common::LogLevel::LEVEL_DEBUG |
#define | WARNING telux::common::LogLevel::LEVEL_WARNING |
#define | ERROR telux::common::LogLevel::LEVEL_ERROR |
#define | PERF telux::common::LogLevel::LEVEL_PERF |
#define | LOG(logLevel, args...) telux::common::Log::logMessage(logLevel, __FILE__, LINE_NO(__LINE__), args) |
This section contains APIs related to Logger, Command Callbacks, Error Codes and Version information. Also contains Macros to print message at different log level.
class telux::common::ICommandCallback |
Base command callback class is responsible for single shot asynchronous callback. This callback will be invoked only once when the operation succeeds or fails.
Public Member Functions | |
virtual | ~ICommandCallback () |
|
virtual |
class telux::common::ICommandResponseCallback |
General command response callback for most of the requests, client needs to implement this interface to get single shot response.
The methods in callback can be invoked from multiple different threads. The implementation should be thread safe.
Public Member Functions | |
virtual void | commandResponse (ErrorCode error)=0 |
virtual | ~ICommandResponseCallback () |
![]() | |
virtual | ~ICommandCallback () |
|
virtual |
class telux::common::DeviceConfig |
Static Public Member Functions | |
static bool | isMultiSimSupported () |
|
static |
Check whether multi SIM support available.
class telux::common::Log |
Static Public Member Functions | |
template<typename... MessageArgs> | |
static void | logMessage (LogLevel logLevel, const std::string &fileName, const std::string &lineNo, MessageArgs...params) |
|
static |
struct telux::common::SdkVersion |
Structure of major, minor and patch version
Data Fields | ||
---|---|---|
int | major |
Major Version: This number will be incremented whenever significant changes or features are introduced |
int | minor |
Minor Version: This number will be incremented when smaller features with some new APIs are introduced. |
int | patch |
Patch Version: If the release only contains bug fixes, but no API change then the patch version would be incremented. |
class telux::common::Version |
Provides version of SDK.
Static Public Member Functions | |
static std::string | getReleaseName () |
static SdkVersion | getSdkVersion () |
|
static |
Get the release name.
|
static |
Get the Telematics SDK version, for example: 01.00.00
#define LINE_NO_STR | ( | x | ) | #x |
Double-Macro-Stringy Technique This technique is being used as FILE,LINE are predefined Macros So we need to expand them twice to get the value in desired format
#define LINE_NO | ( | x | ) | LINE_NO_STR(x) |
#define LOG | ( | logLevel, | |
args... | |||
) | telux::common::Log::logMessage(logLevel, __FILE__, LINE_NO(__LINE__), args) |
Public utility macro for logging at different log level(i.e INFO, DEBUG) with variable argument list. More information like file name, line number are automatically added to each logs. Example for using Macro: LOG(DEBUG, "Message").
|
strong |
Defines all the status codes that all Telematics SDK APIs can return
|
strong |
Generic Error code for each API responses
Enumerator | |
---|---|
SUCCESS |
No error |
RADIO_NOT_AVAILABLE |
If radio did not start or is resetting |
GENERIC_FAILURE |
Generic Failure |
PASSWORD_INCORRECT |
For PIN/PIN2 methods only |
SIM_PIN2 |
Operation requires SIM PIN2 to be entered |
SIM_PUK2 |
Operation requires SIM PIN2 to be entered |
REQUEST_NOT_SUPPORTED |
Not Supported request |
CANCELLED |
Cancelled |
OP_NOT_ALLOWED_DURING_VOICE_CALL |
Data operation are not allowed during voice call on a Class C GPRS device |
OP_NOT_ALLOWED_BEFORE_REG_TO_NW |
Data operation are not allowed before device registers in network |
SMS_SEND_FAIL_RETRY |
Fail to send SMS and need retry |
SIM_ABSENT |
Fail to set the location where CDMA subscription shall be retrieved because of SIM or RUIM are absent |
SUBSCRIPTION_NOT_AVAILABLE |
Fail to find CDMA subscription from specified location |
MODE_NOT_SUPPORTED |
Hardware does not support preferred network type |
FDN_CHECK_FAILURE |
Command failed because recipient is not on FDN list |
ILLEGAL_SIM_OR_ME |
Network selection failed due to illegal SIM or ME |
MISSING_RESOURCE |
No logical channel available |
NO_SUCH_ELEMENT |
Application not found on SIM |
DIAL_MODIFIED_TO_USSD |
DIAL request modified to USSD |
DIAL_MODIFIED_TO_SS |
DIAL request modified to SS |
DIAL_MODIFIED_TO_DIAL |
DIAL request modified to DIAL with different data |
USSD_MODIFIED_TO_DIAL |
USSD request modified to DIAL |
USSD_MODIFIED_TO_SS |
USSD request modified to SS |
USSD_MODIFIED_TO_USSD |
USSD request modified to different USSD request |
SS_MODIFIED_TO_DIAL |
SS request modified to DIAL |
SS_MODIFIED_TO_USSD |
SS request modified to USSD |
SUBSCRIPTION_NOT_SUPPORTED |
Subscription not supported |
SS_MODIFIED_TO_SS |
SS request modified to different SS request |
LCE_NOT_SUPPORTED |
LCE service not supported |
NO_MEMORY |
Not sufficient memory to process the request |
INTERNAL_ERR |
Hit unexpected vendor internal error scenario |
SYSTEM_ERR |
Hit platform or system error |
MODEM_ERR |
Hit unexpected modem error |
INVALID_STATE |
Unexpected request for the current state |
NO_RESOURCES |
Not sufficient resource to process the request |
SIM_ERR |
Received error from SIM card |
INVALID_ARGUMENTS |
Received invalid arguments in request |
INVALID_SIM_STATE |
Cannot process the request in current SIM state |
INVALID_MODEM_STATE |
Cannot process the request in current Modem state |
INVALID_CALL_ID |
Received invalid call id in request |
NO_SMS_TO_ACK |
ACK received when there is no SMS to ack |
NETWORK_ERR |
Received error from network |
REQUEST_RATE_LIMITED |
Operation denied due to overly-frequent requests |
SIM_BUSY |
SIM is busy |
SIM_FULL |
The target EF is full |
NETWORK_REJECT |
Request is rejected by network |
OPERATION_NOT_ALLOWED |
Not allowed the request now |
EMPTY_RECORD |
The request record is empty |
INVALID_SMS_FORMAT |
Invalid SMS format |
ENCODING_ERR |
Message not encoded properly |
INVALID_SMSC_ADDRESS |
SMSC address specified is invalid |
NO_SUCH_ENTRY |
No such entry present to perform the request |
NETWORK_NOT_READY |
Network is not ready to perform the request |
NOT_PROVISIONED |
Device does not have this value provisioned |
NO_SUBSCRIPTION |
Device does not have subscription |
NO_NETWORK_FOUND |
Network cannot be found |
DEVICE_IN_USE |
Operation cannot be performed because the device is currently in use |
ABORTED |
Operation aborted |
INCOMPATIBLE_STATE |
Operation cannot be performed because the device is in incompatible state |
NO_EFFECT |
Given request had to no effect |
DEVICE_NOT_READY |
Device not ready |
MISSING_ARGUMENTS |
Missing one or more arguments |
MALFORMED_MSG |
Message was not formulated correctly by the control point or the message was corrupted during transmission |
INTERNAL |
Internal error |
CLIENT_IDS_EXHAUSTED |
Client IDs exhausted |
UNABORTABLE_TRANSACTION |
The specified transaction could not be aborted |
INVALID_CLIENT_ID |
Could not find client's request |
NO_THRESHOLDS |
No thresholds specified in enable signal strength |
INVALID_HANDLE |
Invalid client handle was received |
INVALID_PROFILE |
Invalid profile index specified |
INVALID_PINID |
PIN in the request is invalid. |
INCORRECT_PIN |
PIN in the request is incorrect. |
CALL_FAILED |
Call origination failed in the lower layers |
OUT_OF_CALL |
Request issued when packet data session disconnected |
MISSING_ARG |
TLV was missing in the request. |
ARG_TOO_LONG |
Path in the request was too long. |
INVALID_TX_ID |
The transaction ID supplied in the request does not match any pending transaction i.e. either the transaction was not received or it is already executed by the device |
OP_NETWORK_UNSUPPORTED |
Selected operation is not supported by the network |
OP_DEVICE_UNSUPPORTED |
Operation is not supported by device or SIM card |
NO_FREE_PROFILE |
Maximum number of profiles are stored in the device and there is no more storage available to create a new profile |
INVALID_PDP_TYPE |
PDP type specified is not supported |
INVALID_TECH_PREF |
Invalid technology preference |
INVALID_PROFILE_TYPE |
Invalid profile type is specified |
INVALID_SERVICE_TYPE |
Invalid service type |
INVALID_REGISTER_ACTION |
Invalid register action value specified in request |
INVALID_PS_ATTACH_ACTION |
Invalid PS attach action value specified in request |
AUTHENTICATION_FAILED |
Authentication error. |
PIN_BLOCKED |
PIN is blocked. Unblock operation must be issued. |
PIN_PERM_BLOCKED |
PIN is permanently blocked. The SIM is unusable. |
SIM_NOT_INITIALIZED |
PIN is not yet initialized because the SIM initialization has not finished. Try the PIN operation later. |
MAX_QOS_REQUESTS_IN_USE |
Maximum QoS requests in use |
INCORRECT_FLOW_FILTER |
Incorrect flow filter |
NETWORK_QOS_UNAWARE |
Network QoS unaware |
INVALID_ID |
Invalid call ID was sent in the request |
REQUESTED_NUM_UNSUPPORTED |
Requested message ID is not supported by the currently running software |
INTERFACE_NOT_FOUND |
Cannot retrieve the FMC interface |
FLOW_SUSPENDED |
Flow suspended |
INVALID_DATA_FORMAT |
Invalid data format |
GENERAL |
General error |
UNKNOWN |
Unknown error |
INVALID_ARG |
Parameters passed as input were invalid |
INVALID_INDEX |
MIP profile index is not within the valid range |
NO_ENTRY |
No message exists at the specified memory storage designation |
DEVICE_STORAGE_FULL |
Memory storage specified in the request is full |
CAUSE_CODE |
There was an error in the request |
MESSAGE_NOT_SENT |
Message could not be sent |
MESSAGE_DELIVERY_FAILURE |
Message could not be delivered |
INVALID_MESSAGE_ID |
Message ID specified for the message is invalid |
ENCODING |
Message is not encoded properly |
AUTHENTICATION_LOCK |
Maximum number of authentication failures has been reached |
INVALID_TRANSITION |
Selected operating mode transition from the current operating mode is invalid |
NOT_A_MCAST_IFACE |
Not a MCAST interface |
MAX_MCAST_REQUESTS_IN_USE |
MCAST request in use |
INVALID_MCAST_HANDLE |
An invalid MCAST handle |
INVALID_IP_FAMILY_PREF |
IP family preference is invalid |
SESSION_INACTIVE |
Session inactive |
SESSION_INVALID |
Session not valid |
SESSION_OWNERSHIP |
Session ownership error |
INSUFFICIENT_RESOURCES |
Response is longer than the maximum supported size |
DISABLED |
Disabled |
INVALID_OPERATION |
Device is not expecting the request. |
INVALID_QMI_CMD |
Invalid QMI command |
TPDU_TYPE |
Message in memory contains a TPDU type that cannot be read |
SMSC_ADDR |
SMSC address specified is invalid |
INFO_UNAVAILABLE |
Information is not available |
SEGMENT_TOO_LONG |
PRL segment size is too large |
SEGMENT_ORDER |
PRL segment order is incorrect |
BUNDLING_NOT_SUPPORTED |
Bundling not supported |
OP_PARTIAL_FAILURE |
Some personalization codes were set but an error prevented |
POLICY_MISMATCH |
Network policy does not match a valid NAT |
SIM_FILE_NOT_FOUND |
File is not present on the card. |
EXTENDED_INTERNAL |
Error from the the DS profile module, the extended error |
ACCESS_DENIED |
Access to the requested file is denied. This can occur when there is an attempt to access a PIN-protected file. |
HARDWARE_RESTRICTED |
Selected operating mode is invalid with the current wireless disable setting |
ACK_NOT_SENT |
ACK could not be sent |
INJECT_TIMEOUT |
Inject timeout |
FDN_RESTRICT |
FDN restriction |
SUPS_FAILURE_CAUSE |
Indicates supplementary services failure information; |
NO_RADIO |
Radio is not available |
NOT_SUPPORTED |
Operation is not supported |
CARD_CALL_CONTROL_FAILED |
SIM/R-UIM call control failed |
NETWORK_ABORTED |
Operation was released abruptly by the network |
MSG_BLOCKED |
Message blocked |
INVALID_SESSION_TYPE |
Invalid session type |
INVALID_PB_TYPE |
Invalid Phone Book type |
NO_SIM |
Action is being performed on a SIM that is not initialized. |
PB_NOT_READY |
Phone Book not ready |
PIN_RESTRICTION |
PIN restriction |
PIN2_RESTRICTION |
PIN2 restriction |
PUK_RESTRICTION |
PUK restriction |
PUK2_RESTRICTION |
PUK2 restriction |
PB_ACCESS_RESTRICTED |
Phone Book access restricted |
PB_DELETE_IN_PROG |
Phone Book delete in progress |
PB_TEXT_TOO_LONG |
Phone Book text too long |
PB_NUMBER_TOO_LONG |
Phone Book number too long |
PB_HIDDEN_KEY_RESTRICTION |
Phone Book hidden key restriction |
PB_NOT_AVAILABLE |
Phone Book not available |
DEVICE_MEMORY_ERROR |
Device memory error |
NO_PERMISSION |
No permission |
TOO_SOON |
Too soon |
TIME_NOT_ACQUIRED |
Time not acquired |
OP_IN_PROGRESS |
Operation is in progress |
DS_PROFILE_REG_RESULT_FAIL |
General failure |
DS_PROFILE_REG_RESULT_ERR_INVAL_HNDL |
Request contains an invalid profile handle |
DS_PROFILE_REG_RESULT_ERR_INVAL_OP |
Invalid operation was requested |
DS_PROFILE_REG_RESULT_ERR_INVAL_PROFILE_TYPE |
Request contains an invalid technology type |
DS_PROFILE_REG_RESULT_ERR_INVAL_PROFILE_NUM |
Request contains an invalid profile number |
DS_PROFILE_REG_RESULT_ERR_INVAL_IDENT |
Request contains an invalid profile identifier |
DS_PROFILE_REG_RESULT_ERR_INVAL |
Request contains an invalid argument other than profile number and profile identifier received |
DS_PROFILE_REG_RESULT_ERR_LIB_NOT_INITED |
Profile registry has not been initialized yet |
DS_PROFILE_REG_RESULT_ERR_LEN_INVALID |
Request contains a parameter with invalid length |
DS_PROFILE_REG_RESULT_LIST_END |
End of the profile list was reached while searching for the requested profile |
DS_PROFILE_REG_RESULT_ERR_INVAL_SUBS_ID |
Request contains an invalid subscription identifier |
DS_PROFILE_REG_INVAL_PROFILE_FAMILY |
Request contains an invalid profile family |
DS_PROFILE_REG_PROFILE_VERSION_MISMATCH |
Version mismatch |
REG_RESULT_ERR_OUT_OF_MEMORY |
Out of memory |
DS_PROFILE_REG_RESULT_ERR_FILE_ACCESS |
File access error |
DS_PROFILE_REG_RESULT_ERR_EOF |
End of field |
REG_RESULT_ERR_VALID_FLAG_NOT_SET |
A valid flag is not set |
REG_RESULT_ERR_OUT_OF_PROFILES |
Out of profiles |
REG_RESULT_NO_EMERGENCY_PDN_SUPPORT |
No emergency PDN support |
DS_PROFILE_3GPP_INVAL_PROFILE_FAMILY |
Request contains an invalid 3GPP profile family |
DS_PROFILE_3GPP_ACCESS_ERR |
Error was encountered while accessing the 3GPP profiles |
DS_PROFILE_3GPP_CONTEXT_NOT_DEFINED |
Specified 3GPP profile does not have a valid context |
DS_PROFILE_3GPP_VALID_FLAG_NOT_SET |
Specified 3GPP profile is marked invalid |
DS_PROFILE_3GPP_READ_ONLY_FLAG_SET |
Specified 3GPP profile is marked read-only |
DS_PROFILE_3GPP_ERR_OUT_OF_PROFILES |
Creation of a new 3GPP profile failed because the limit of 16 profiles has already been reached |
DS_PROFILE_3GPP2_ERR_INVALID_IDENT_FOR_PROFILE |
Invalid profile identifier was received as part of the 3GPP2 profile modification request |
DS_PROFILE_3GPP2_ERR_OUT_OF_PROFILE |
Creation of a new 3GPP2 profile failed because the limit has already been reached |
INTERNAL_ERROR |
Internal error |
SERVICE_ERROR |
Service error |
TIMEOUT_ERROR |
Timeout error |
EXTENDED_ERROR |
Extended error |
PORT_NOT_OPEN_ERROR |
Port not open |
MEMCOPY_ERROR |
Memory copy error |
INVALID_TRANSACTION |
Invalid transaction |
ALLOCATION_FAILURE |
Allocation failure |
TRANSPORT_ERROR |
Transport error |
PARAM_ERROR |
Parameter error |
INVALID_CLIENT |
Invalid client |
FRAMEWORK_NOT_READY |
Framework not ready |
INVALID_SIGNAL |
Invalid signal |
TRANSPORT_BUSY_ERROR |
Transport busy error |
SUBSYSTEM_UNAVAILABLE |
Underlying service currently unavailable |
|
strong |
Indicates supported logging levels.