enum tcore_call_silent_redial_reason{
TCORE_CALL_SILENT_REDIAL_REASON_NONE,
TCORE_CALL_SILENT_REDIAL_REASON_MULTIRAT_EMERGENCY,
- TCORE_CALL_SILENT_REDIAL_REASON_CS_FALLBACK //VoLTE call Fail with some reason which is pre-defined by network operator. Need to silent-redial to CS bearer
+ TCORE_CALL_SILENT_REDIAL_REASON_CS_FALLBACK, //VoLTE call Fail with some reason which is pre-defined by network operator. Need to silent-redial to CS bearer
+ TCORE_CALL_SILENT_REDIAL_REASON_381_IMS_ONLY, //error 381. transform call to ECC and redial to IMS only
+ TCORE_CALL_SILENT_REDIAL_REASON_382_CS_ONLY //error 382, transform call to ECC and redial to CS only
};
+enum tcore_call_routing_policy {
+ TCORE_CALL_ROUTING_POLICY_CS_ALWAYS,
+ TCORE_CALL_ROUTING_POLICY_IMS_ALWAYS,
+ TCORE_CALL_ROUTING_POLICY_IMS_CS
+};
+
+enum tcore_call_ecc_rat {
+ TCORE_CALL_ECC_RAT_NONE = 0x0,
+ TCORE_CALL_ECC_RAT_CS = 0x01,
+ TCORE_CALL_ECC_RAT_VOLTE = 0x02,
+ TCORE_CALL_ECC_RAT_VOWIFI = 0x04
+};
+
+
typedef struct call_object CallObject;
struct tcore_call_operations {
CONTEXT_RS_WAITING,
};
+typedef struct {
+ guint size;
+ guint *retry_timer_array;
+} retry_timer_info;
+
CoreObject *tcore_context_new(TcorePlugin *p, const char *name, TcoreHal *hal);
void tcore_context_free(CoreObject *o);
__BEGIN_DECLS
-#define PS_MAX_CID 4
+#define PS_MAX_CID 5
/*
* DNET connection status property
#include <core_object.h>
+#define SAT_ENVELOPE_RESP_LEN 256
+
enum tcore_sat_result{
TCORE_SAT_SUCCESS,
TCORE_SAT_SUCCESS_PARTIAL_COMPREHENSION,
TCORE_SAT_ERROR_FATAL
};
+struct tcore_sat_envelope_resp {
+ char sw1;
+ char sw2;
+ char len_envelope_resp;
+ char envelope_resp[SAT_ENVELOPE_RESP_LEN];
+};
+
struct tcore_sat_proactive_command {
int cmd_num;
enum tel_sat_proactive_cmd_type cmd_type;
__BEGIN_DECLS
-
typedef enum tcore_hook_return (*TcoreServerRequestHook)(Server *s,
UserRequest *ur, void *user_data);
typedef enum tcore_hook_return (*TcoreServerNotificationHook)(Server *s,
CALL_END_CAUSE_PROTOCOL_ERROR_UNSPECIFIED, /**< Protocol error unspecified */
CALL_END_CAUSE_INTERWORKING_UNSPECIFIED, /**< Interworking unspecified */
CALL_END_CAUSE_REORDER, /**< Reorder */
+ CALL_END_CAUSE_ACCEPTED_EXTERNALLY = 54, /**< Call accepted other device */
+ CALL_END_CAUSE_REJECTED_EXTERNALLY, /**< Call rejected other device */
+ CALL_END_CAUSE_ALREADY_IN_USE, /**< Call rejected - secondary device already in use */
CALL_END_CAUSE_END = 128,
CALL_VOLTE_CONNECTION_STATUS_CONNECTED =1,
};
+enum telephony_call_voice_preference {
+ CALL_VOICE_PREFERENCE_DEFAULT =0,
+ CALL_VOICE_PREFERENCE_CS_ONLY = CALL_VOICE_PREFERENCE_DEFAULT,
+ CALL_VOICE_PREFERENCE_IMS_ONLY = 1,
+ CALL_VOICE_PREFERENCE_CS_TO_IMS = 2,
+ CALL_VOICE_PREFERENCE_IMS_TO_CS = 3,
+};
+
/**********
Struct
**********/
#define MAX_CALL_CLI_NUM_LEN MAX_CALL_NUMBER_LEN
#define MAX_CALL_CNA_NAME_LEN 97
+#define MAX_ECC_LIST_LEN 10
#define MAX_CALL_DISPLAY_INFORMATION 182
-/*IMS specific*/
#define MAX_CALL_CONFERENCE_PARTICIPANT_NUM_LEN 6
+
+#define MAX_CALL_MCC_LEN 3
+#define MAX_CALL_MNC_LEN 3
+#define MAX_CALL_ECCNUM_LIST 10
+
struct telephony_call_line_ctrl_info {
unsigned char polarity_included;
unsigned char toggle_mode;
} data;
};
+struct telephony_eccnum_record{
+ enum telephony_call_emergency_category ecc_category;
+ char num_len;
+ char num[MAX_CALL_DIAL_NUM_LEN];
+} ;
+
+
+struct telephony_eccnum_list_type {
+ char mcc[MAX_CALL_MCC_LEN + 1];
+ char mnc[MAX_CALL_MNC_LEN + 1];
+ int num_rec;
+ struct telephony_eccnum_record record[MAX_CALL_ECCNUM_LIST];
+} ;
+
struct treq_call_dial {
enum telephony_call_type type;
enum telephony_call_emergency_category ecc;
struct treq_call_set_sound_path {
enum telephony_call_sound_path path;
gboolean extra_volume_on;
+ gboolean bt_call_forward;
};
struct treq_call_set_sound_volume_level {
struct treq_call_get_preferred_voice_subscription {
};
-/* IMS specific */
struct treq_call_upgrade {
unsigned int handle;
enum telephony_call_config_type config_type;
unsigned int num_participants;
GSList* participants_list;
};
-/* end of IMS specific */
struct treq_call_set_ecc_status {
enum telephony_call_ecc_status status;
unsigned int video_time;
};
+struct treq_call_set_voice_preference {
+ enum telephony_call_voice_preference pref;
+};
// Response
enum telephony_call_error err;
};
+struct tresp_call_get_eccnum_list {
+ struct telephony_eccnum_list_type list;
+};
+
+struct tresp_call_set_voice_preference {
+ enum telephony_call_error err;
+};
+
+
// Notification
struct tnoti_call_status_idle {
unsigned int handle;
};
+struct tnoti_call_ecc_list {
+ int count;
+ struct emergency_list{
+ enum telephony_call_emergency_category ecc;
+ char ecc_number[MAX_CALL_NUMBER_LEN];
+ } ecc_list[MAX_ECC_LIST_LEN];
+};
+
struct tnoti_call_sound_path {
enum telephony_call_sound_path path;
};
gboolean remote_held_tone;
};
-/* IMS specific */
struct tnoti_call_upgrade_requested {
unsigned int handle;
enum telephony_call_config_type config_type;
enum telephony_call_config_type config_type;
};
+struct tnoti_call_converted {
+ unsigned int handle;
+ enum telephony_call_type call_type;
+ enum telephony_call_emergency_category ecc;
+};
+
struct tnoti_call_fallback{
unsigned int handle;
enum telephony_call_fallback_type fallback_to;
unsigned int handle;
gboolean modifiable;
};
+struct tnoti_call_eccnum_list {
+ struct telephony_eccnum_list_type list;
+};
__END_DECLS
TCORE_RETURN_PS_ALREADY_ACTIVATED,
TCORE_RETURN_PS_DEACTIVATING,
TCORE_RETURN_PS_DEACTIVATED,
+ TCORE_RETURN_PS_REQUEST_PENDING,
TCORE_RETURN_HOOK_STOP = TCORE_RETURN | TCORE_TYPE_HOOK,
#define NETWORK_MAX_MNC_LEN 3
#define NETWORK_MAX_PLMN_LEN 6
+#define NETWORK_MAX_LIST_COUNT 48
+
#define NETWORK_MAX_COUNTRY_CODE_LEN 3
#define NETWORK_MAX_NETWORK_NAME_LEN 40
#define NETWORK_MAX_SHORT_NAME_LEN 16
unsigned int rac;
unsigned int cell_id;
unsigned int tac;
- } list[20];
+ } list[NETWORK_MAX_LIST_COUNT];
};
struct tresp_network_set_plmn_selection_mode {
TNOTI_CALL_SRVCC_HANDOVER,
TNOTI_CALL_UPGRADE_REQUESTED,
TNOTI_CALL_DOWNGRADED,
+ TNOTI_CALL_ECC_LIST,
+ TNOTI_CALL_CONVERTED,
+ TNOTI_CALL_ECC_NUMBER_LIST,
+
TNOTI_SS = TCORE_NOTIFICATION | TCORE_TYPE_SS,
TNOTI_SS_INFO,
TNOTI_PS_ALL_PDP_DISCONNECTED,
TNOTI_PS_GPRS_BACKOFF_TIMER,
TNOTI_PS_GPRS_NAS_TIMER,
+ TNOTI_PS_ATTACH_REQUEST,
TNOTI_SMS = TCORE_NOTIFICATION | TCORE_TYPE_SMS,
TNOTI_SMS_INCOM_MSG, /* This is an unsolicited Incoming SMS Event*/
int timer_value;
};
+struct tnoti_ps_attach_request {
+ int result;
+};
+
struct tnoti_ps_pdp_ipconfiguration {
int context_id;
int secondary_context_id;
TREQ_CALL_SET_CALL_LIST,
TREQ_CALL_SET_VOLTE_CALL_CONNECTION_STATUS,
TREQ_CALL_SET_SSAC_STATUS,
+ TREQ_CALL_SET_LAST_CALL,
+ TREQ_CALL_SET_VOICE_PREFERENCE,
TREQ_SS = TCORE_REQUEST | TCORE_TYPE_SS,
TREQ_SS_BARRING_ACTIVATE,
TRESP_CALL_SET_CALL_LIST,
TRESP_CALL_SET_VOLTE_CALL_CONNECTION_STATUS,
TRESP_CALL_SET_SSAC_STATUS,
+ TRESP_CALL_SET_LAST_CALL,
+ TRESP_CALL_SET_VOICE_PREFERENCE,
TRESP_SS = TCORE_RESPONSE | TCORE_TYPE_SS,
TRESP_SS_BARRING_ACTIVATE,
TRESP_SIM_GET_PNN,
TRESP_SIM_GET_CPHS_NETNAME,
TRESP_SIM_GET_OPLMNWACT,
+ TRESP_SIM_GET_PSISMSC,
TRESP_SIM_REQ_AUTHENTICATION,
TRESP_SIM_GET_LOCK_INFO,
TRESP_SIM_SET_POWERSTATE,
SAP_RESULT_CODE_NOT_SUPPORT /**< SAP operation result - not support*/
};
+enum tel_sap_remote_command {
+ SAP_REMOTE_CONNECT = 0x00,
+ SAP_REMOTE_DISCONNECT,
+ SAP_REMOTE_SENDAPDU,
+ SAP_REMOTE_NOTSUPPORTED
+};
+
struct treq_sap_req_connect {
unsigned short max_msg_size;
};
struct treq_sap_transfer_apdu {
unsigned int apdu_length;
- unsigned char apdu_data[256+2];
+ unsigned char apdu_data[1024];
};
struct treq_sap_set_protocol {
struct tresp_sap_transfer_apdu {
enum tel_sap_result_code result;
unsigned int resp_apdu_length;
- unsigned char resp_adpdu[256+2];
+ /*for bt sap*/
+ unsigned char resp_adpdu[1024];
};
struct tresp_sap_set_protocol {
enum tel_sap_disconnect_type type;
};
+struct tnoti_sap_remote_request {
+ enum tel_sap_remote_command type;
+ unsigned int apdu_length; /** Parameter can be accessed only if command type is SAP_REMOTE_SENDAPDU */
+ unsigned char adpu[1024+2]; /** Parameter can be accessed only if command type is SAP_REMOTE_SENDAPDU */
+};
+
__END_DECLS
#endif
SIM_EF_SST = 0x6F38, /**< the SIM Service Table file. EF UST has same address */
SIM_EF_EST = 0x6F56, /**< the Enabled Service Table file */
SIM_EF_OPLMN_ACT = 0x6F61, /**< the OPLMN List file*/
+ SIM_EF_PSISMSC = 0x6FE5, /**< the Public Service Identity of the SM-SC file*/
SIM_EF_GID1 = 0x6F3E, /**< the Group Identifier Level 1 */
SIM_EF_GID2 = 0x6F3F, /**< the Group Identifier Level 2 */
SIM_EF_EPSLOCI = 0x6FE3,
SIM_EF_PSLOCI = 0x6F73,
SIM_EF_LOCI = 0x6F7E,
+ SIM_EF_FDN = 0x6F3B,
SIM_EF_USIM_LI = 0x6A05, /**< USIM: Language Indication */
SIM_EF_USIM_PL = 0x2A05, /**< the Language Preference file of USIM */
};
enum tel_sim_refresh_stage {
- SIM_REFRESH_WAIT_FOR_OK = 0, /** Waiting for OK to init. */
- SIM_REFRESH_START = 1, /**Refresh Start.*/
- SIM_RFRESH_END_SUCCESS = 2, /**Refresh End with Success.*/
- SIM_REFRESH_END_FAILURE = 3 /**Refresh End with Failure.*/
+ SIM_REFRESH_WAIT_FOR_OK = 0, /** Waiting for OK to init. */
+ SIM_REFRESH_START = 1, /**Refresh Start.*/
+ SIM_RFRESH_END_SUCCESS = 2, /**Refresh End with Success.*/
+ SIM_REFRESH_END_FAILURE = 3 /**Refresh End with Failure.*/
};
struct tel_sim_sst {
struct tel_sim_oplmnwact opwa[SIM_OPLMNWACT_LEN_MAX];
};
+struct tel_sim_psismsc {
+ char *uridata;
+};
+
struct tel_sim_file_list{
int file_count;
enum tel_sim_file_id file_id[SIM_FILE_ID_LIST_MAX_COUNT];
struct tel_sim_pnn_list pnn;
struct tel_sim_cphs_netname cphs_net;
struct tel_sim_oplmnwact_list opwa;
+ struct tel_sim_psismsc psismsc;
struct tel_sim_img img;
struct tel_sim_gid gid;
struct tel_sim_impi impi;
#define SMS_CB_SIZE_MAX 1252 /** Maximum CB Message Size */
#define SMS_ETWS_SIZE_MAX 1252 /** Maximum ETWS Message Size */
+#define SMS_PDU_LENGTH_GSM 88 /** Maximum GSM Message Size */
+#define SMS_PDU_LENGTH_ETWS_PRIMARY 56 /** Maximum length of ETWS primary message */
+#define PDU_HEADER_LENGTH 6 /** PDU Header Length */
+
#define SMS_ADDRESS_LEN_MAX 20 /* Nettext Address Length */
#define SMS_SCADDRESS_LEN_MAX 18 /* SC Address Length */
#define SMS_CB_PAGE_SIZE_MAX 9 /**< CB maximum page size*/
#define SMS_GSM_SMS_MSG_NUM_MAX 255 /**< Maximum GSM SMS message number*/
-#define SMS_GSM_SMS_CBMI_LIST_SIZE_MAX 50 /**< Maximum GSM SMS CBMI list size*/
+#define SMS_GSM_SMS_CBMI_LIST_SIZE_MAX 100 /**< Maximum GSM SMS CBMI list size*/
#define SMS_SMDATA_SIZE_MAX 255 /**< Maximum SMS data size that can be stored*/
#define SMS_MAX_SMS_SERVICE_CENTER_ADDR 12 /**<Maximum SMS service center address*/
#define SMS_MAX_INDEX 255 /**< Maximum index value for SMS */
#define SMS_SMSP_PARAMS_MAX_LEN 28
+#define SMS_ID_ETWS_TYPE_MASK 0xFFF8
+#define SMS_ID_ETWS_TYPE 0x1100 // 4352
+
/*==================================================================================================
ENUMS
==================================================================================================*/
SMS_NO_PREFERRED_BEARER /**<SMS is sent based on default preferred bearer set at OEM based on vendor/operator preference*/
};
+/**
+* @enum telephony_sms_CbCommonMsgFormat
+* This enumeration defines the different message types.
+*/
+enum telephony_sms_CbCommonMsgFormat {
+ SMS_FORMAT_GSM = 1, /**< GSM Cell broadcast message */
+ SMS_FORMAT_UMTS, /**< UMTS Cell broadcast message */
+ SMS_FORMAT_ETWS_PRIMARY
+};
/**
* @enum telephony_sms_CbMsgType_t
* This enumeration defines the different CB message types.
*/
enum telephony_sms_CbMsgType {
- SMS_CB_MSG_GSM = 1, /**< GSM Cell broadcast message */
- SMS_CB_MSG_UMTS, /**< UMTS Cell broadcast message */
- SMS_CB_MSG_CDMA
+ SMS_CB_MSG_GSM = 1, /**< GSM Cell broadcast message */
+ SMS_CB_MSG_UMTS, /**< UMTS Cell broadcast message */
+ SMS_CB_MSG_CDMA
};
/**
* This enumeration defines the different ETWS message types.
*/
enum telephony_sms_etws_type {
- SMS_ETWS_MSG_PRIMARY = 0, /**< PRIMARY ETWS Message */
- SMS_ETWS_MSG_SECONDARY_GSM, /**< SECONDARY GSM ETWS Message */
- SMS_ETWS_MSG_SECONDARY_UMTS /**< SECONDARY UMTS ETWS Message */
+ SMS_ETWS_MSG_PRIMARY = 0, /**< PRIMARY ETWS Message */
+ SMS_ETWS_MSG_SECONDARY_GSM, /**< SECONDARY GSM ETWS Message */
+ SMS_ETWS_MSG_SECONDARY_UMTS /**< SECONDARY UMTS ETWS Message */
};
/**
};
/**
+ * @enum telephony_sms_delivery_report_path
+ * This defines where to send delivery report
+ */
+ enum telephony_sms_delivery_report_path {
+ SMS_DELIVERY_REPORT_DEFAULT,
+ SMS_DELIVERY_REPORT_TO_CP,
+ SMS_DELIVERY_REPORT_TO_IMS,
+ SMS_DELIVERY_REPORT_MAX,
+};
+
+/**
* This structure defines the fields related to an Sms like SIM index, TPDU and length
*/
struct telephony_sms_DataPackageInfo {
};
/**
+ * This structure defines the fields related to an metainfo like RP-OA information which can be used SMS PP-Download
+ */
+
+struct telephony_sms_metainfo {
+ int rp_oa_len; /*SMS PP download - RP-OA address comes if present & it's not same with SCA*/
+ unsigned char rp_oa[SMS_SMSP_ADDRESS_LEN];
+};
+
+/**
*This structure defines the data Related to SimIndex,MessageStatus and SMS Data Stored.
*/
struct telephony_sms_Data {
SS_CF_MODE_CFNRc, /* 0x04 : Call Forwarding Not Reachable */
SS_CF_MODE_CF_ALL, /* 0x05 : All Call Forwarding */
SS_CF_MODE_CFC, /* 0x06 : All Conditional Call Forwarding */
- SS_CF_MODE_MAX /* 0x07 : Max */
+ SS_CF_MODE_CFNL, /**< 0x07 : Call Forwarding Not Logged-In*/
+ SS_CF_MODE_MAX /* 0x08 : Max */
};
enum telephony_ss_forwarding_no_reply_time {
%define major 0
%define minor 3
-%define patchlevel 28
+%define patchlevel 29
Name: libtcore
Version: %{major}.%{minor}.%{patchlevel}