TAPI_CAUSE_BUSY, /**< (Network/Server) busy */
TAPI_CAUSE_CALLMETER_EXPIRED, /**< Call meter expired */
TAPI_CAUSE_CALLNO_ERROR, /**< Call number error */
- TAPI_CAUSE_CKTUNAVAIL, /**< Circuit channel unavailable */ /* 10 */
+ TAPI_CAUSE_CKTUNAVAIL, /**< Circuit channel unavailable */ /* 10 */
TAPI_CAUSE_CONGESTION, /**< Congestion occurred */
TAPI_CAUSE_NO_CIRCUIT_AVAIL, /**< Circuit not available */
TAPI_CAUSE_DESTIN_INCOMPAT, /**< Destination incompatibility */
TAPI_CAUSE_FACILITY_NOTSUBSCRIBED, /**< Facility not subscribed */
TAPI_CAUSE_INCOMINGCUGCALLS_BARRED, /**< Incoming CUG Calls barred */
TAPI_CAUSE_INVALNUM, /**< Invalid number */
- TAPI_CAUSE_MPTY_ERROR, /**< Multiparty error */ /* 20 */
+ TAPI_CAUSE_MPTY_ERROR, /**< Multiparty error */ /* 20 */
TAPI_CAUSE_NOANSWER, /**< No answer */
TAPI_CAUSE_NONCUGMEMBER, /**< Non CUG member */
TAPI_CAUSE_NUMBERCHANGED, /**< Number changed */
TAPI_CAUSE_OUTOFORDER, /**< Out of order */
TAPI_CAUSE_PROTOCOL_ERROR, /**< Protocol error */
TAPI_CAUSE_QOSUNAVAIL, /**< QOS unavailable */
- TAPI_CAUSE_REJECT, /**< Rejected */ /* 30 */
+ TAPI_CAUSE_REJECT, /**< Rejected */ /* 30 */
TAPI_CAUSE_REJ_FAIL, /**< Rejection failed */
TAPI_CAUSE_REJ_SRVC_NOT_AVL, /**< Rejection service not available */
TAPI_CAUSE_REJ_SAT_CALL_CTRL, /**< Rejection SAT Call Control */
TAPI_CAUSE_SERVICE_NOTIMPL, /**< Service not implemented */
TAPI_CAUSE_SERVICE_UNAVAIL, /**< Service not available */
TAPI_CAUSE_MODIFY_SAME_BEARER, /**< Modify same bearer */
- TAPI_CAUSE_MODIFY_NOT_PERMITTED, /**< Modification not permitted */
- TAPI_CAUSE_HOLD_FAIL, /**< Call hold failure */ /* 40 */
+ TAPI_CAUSE_MODIFY_NOT_PERMITTED, /**< Modification not permitted */ /* 40 */
+ TAPI_CAUSE_HOLD_FAIL, /**< Call hold failure */
TAPI_CAUSE_TEMPFAILURE, /**< Temporary failure */
TAPI_CAUSE_WRONGNUM, /**< Wrong number */
TAPI_CAUSE_NORMAL_UNSPECIFIED, /**< Normal but unspecified */
TAPI_CAUSE_SSINCOMPATIBLESTATE, /**< SS incompatible state */
TAPI_CAUSE_SSERRSYNTAXERROR, /**< SS syntax error */
TAPI_CAUSE_SSPROTOCOLERROR, /**< Protocol error */
- TAPI_CAUSE_SSNEGATIVEPASSWORDCHECK, /**< Negative password check */
- TAPI_CAUSE_SSSENTASPHASE1, /**< SS sent as phase1 message */ /* 50 */
+ TAPI_CAUSE_SSNEGATIVEPASSWORDCHECK, /**< Negative password check */ /* 50 */
+ TAPI_CAUSE_SSSENTASPHASE1, /**< SS sent as phase1 message */
TAPI_CAUSE_SSERROR, /**< Supplementary service error */
TAPI_CAUSE_SS_USSD_BUSY, /**< Second USSD request will be rejected when a USSD transaction is already in progess */
TAPI_CAUSE_IDLE, /**< Idle */
TAPI_CAUSE_UNKNOWN, /**< Unknown and no details available */
TAPI_CAUSE_INCOM_CALL, /**< Terminated by an incoming call */
TAPI_CAUSE_ALERT_STOP, /**< Terminated by an alert stop */
- TAPI_CAUSE_INTERCEPT, /**< Voice call is dropped by interception */
- TAPI_CAUSE_REORDER, /**< Voice call is dropped by reordering */ /* 60 */
+ TAPI_CAUSE_INTERCEPT, /**< Voice call is dropped by interception */ /* 60 */
+ TAPI_CAUSE_REORDER, /**< Voice call is dropped by reordering */
TAPI_CAUSE_CLIENT_END, /**< Client ended the call */
TAPI_CAUSE_ACCESS_CLASS_BLOCKED, /**< Access class blocked */
TAPI_CAUSE_MEMCAPEXCEEDED, /**< Memory capacity exceeded */
TAPI_CAUSE_PROTOCOLID_ERROR, /**< Protocol ID error */
TAPI_CAUSE_CLASSNOTSUPPORTED, /**< Class not supported */
TAPI_CAUSE_DATACODING_ERROR, /**< Data coding error */
- TAPI_CAUSE_INVAL_MSG, /**< Invalid message */
- TAPI_CAUSE_CALL_BARRED, /**< Call barred */ /* 70 */
+ TAPI_CAUSE_INVAL_MSG, /**< Invalid message */ /* 70 */
+ TAPI_CAUSE_CALL_BARRED, /**< Call barred */
TAPI_CAUSE_SIM_CALL_CONTROL_CHANGED_TO_SS, /**< Sim call control changed to SS */
TAPI_CAUSE_SIM_CALL_CONTROL_CHANGED_TO_CALL, /**< SIM Call control changed to call */
TAPI_CAUSE_SIM_ERROR, /**< SIM error */
TAPI_CAUSE_LOWER_LAYER_FAILURE, /**< Lower layer error */
TAPI_CAUSE_ACCESS_REJECTED, /**< Access rejected */
TAPI_CAUSE_RESET_NOT_ALLOWED, /**< Reset not allowed */
- TAPI_CAUSE_EMERGENCY_CALL_NOT_ALLOWED, /**< Emergency call not allowed */
- TAPI_CAUSE_ACCESS_NOT_ALLOWED, /**< Access not allowed */ /* 80 */
+ TAPI_CAUSE_EMERGENCY_CALL_NOT_ALLOWED, /**< Emergency call not allowed */ /* 80 */
+ TAPI_CAUSE_ACCESS_NOT_ALLOWED, /**< Access not allowed */
TAPI_CAUSE_RADIO_LINK_FAILURE, /**< Radio link failure */
TAPI_CAUSE_INVALID_IDENTITY, /**< Invalid identity */
TAPI_CAUSE_UNKNOWN_IDENTITY, /**< Unknown identity */
TAPI_CAUSE_SERVICE_NOT_ALLOWED, /**< Service not allowed */
TAPI_CAUSE_SERVICE_NOT_AVAIL, /**< Service not available */
TAPI_CAUSE_SERVICE_NOT_WORKING, /**< Service not working */
- TAPI_CAUSE_CANNOT_IDENTIFY_CALL, /**< Cannot identify the call */
- TAPI_CAUSE_DEACTIVATION, /**< Deactivation */ /* 90 */
+ TAPI_CAUSE_CANNOT_IDENTIFY_CALL, /**< Cannot identify the call */ /* 90 */
+ TAPI_CAUSE_DEACTIVATION, /**< Deactivation */
TAPI_CAUSE_FATAL_ERROR, /**< Fatal error */
TAPI_CAUSE_SEND_DTMF_SUCCESS, /**< Sending DTMF succeeded */
TAPI_CAUSE_SEND_DTMF_FAIL, /**< Sending DTMF failed */
TAPI_CAUSE_FIXED_DIALING_NUMBER_ONLY, /**< Fixed Dialing Number Only */
TAPI_CAUSE_TIMER_EXPIRED, /**< Call Timer Expired */
+ TAPI_CAUSE_MAX_CONFERENCE_PARTICIPANTS_REACHED, /**< Max Conference Partcipants Reached(VoLTE specific) */
} TelCallCause_t;
/**
TAPI_CALL_TYPE_E911 /**< Emergency call type */
} TelCallType_t;
+/**
+ * @brief Enumeration for call type to be used by applications while using the setup call API. Like the requested call is a voice call or video call.
+ * @since_tizen 2.3
+ */
+typedef enum {
+ TAPI_CALL_ACCEPT_TYPE_VOICE, /**< Accept as Voice call */
+ TAPI_CALL_ACCEPT_TYPE_VIDEO, /**< Accept as Video call */
+} TelCallAcceptType_t;
+
/**
* @brief Enumeration for the call name mode.
* @since_tizen 2.3
typedef enum {
TAPI_CALL_REC_INFO_TYPE_NAME, /**< Name Type */
TAPI_CALL_REC_INFO_TYPE_NUMBER, /**< Number Type */
+ TAPI_CALL_REC_INFO_TYPE_LINE_CTRL,
} TelCallRecordInfoType_t;
/**
TelCallDtmfInterDigitInterval_t inter_digit_interval; /**< DTMF Inter Digit Interval */
} TelCallBurstDtmf_t;
+/**
+ * @brief Structure type for the information about records in CDMA.
+ * @since_tizen 2.4
+ */
+
+typedef struct {
+ unsigned char polarity_included;
+ unsigned char toggle_mode;
+ unsigned char reverse_polarity;
+ unsigned char power_denial_time;
+}TelCallRecordLineCtrlInfo_t;
+
/**
* @brief Structure type for the information about records in CDMA.
* @since_tizen 2.3
union {
char name[TAPI_CALLING_NAME_SIZE_MAX + 1]; /**< name record */
char number[TAPI_CALL_DIAL_NUMBER_LEN_MAX + 1]; /**< number record */
+ TelCallRecordLineCtrlInfo_t line_ctrl_info;
} data;
} TelCallRecordInfo_t;
* @since_tizen 2.3
*/
typedef enum {
- TAPI_SOUND_PATH_HANDSET = 0x01, /**< Audio path is handset */
- TAPI_SOUND_PATH_HEADSET = 0x02, /**< Audio path is handset */
- TAPI_SOUND_PATH_HANDSFREE = 0x03, /**< Audio path is Handsfree */
- TAPI_SOUND_PATH_BLUETOOTH = 0x04, /**< Audio path is bluetooth */
- TAPI_SOUND_PATH_STEREO_BLUETOOTH = 0x05, /**< Audio path is stereo bluetooth */
- TAPI_SOUND_PATH_SPK_PHONE = 0x06, /**< Audio path is speaker phone */
- TAPI_SOUND_PATH_HEADSET_3_5PI = 0x07, /**< Audio path is headset_3_5PI */
- TAPI_SOUND_PATH_BT_NSEC_OFF = 0x08, /**< Audio path Bluetooth NSEC is off */
- TAPI_SOUND_PATH_MIC1 = 0x09, /**< Audio path Mic one */
- TAPI_SOUND_PATH_MIC2 = 0x0A, /**< Audio path Bluetooth Mic two */
- TAPI_SOUND_PATH_HEADSET_HAC = 0x0B, /**< Audio path is headset HAC */
+ TAPI_SOUND_PATH_HANDSET = 0x01, /**< Audio path is handset */
+ TAPI_SOUND_PATH_HEADSET = 0x02, /**< Audio path is handset */
+ TAPI_SOUND_PATH_HANDSFREE = 0x03, /**< Audio path is Handsfree */
+ TAPI_SOUND_PATH_BLUETOOTH = 0x04, /**< Audio path is bluetooth */
+ TAPI_SOUND_PATH_STEREO_BLUETOOTH = 0x05, /**< Audio path is stereo bluetooth */
+ TAPI_SOUND_PATH_SPK_PHONE = 0x06, /**< Audio path is speaker phone */
+ TAPI_SOUND_PATH_HEADSET_3_5PI = 0x07, /**< Audio path is headset_3_5PI */
+ TAPI_SOUND_PATH_BT_NSEC_OFF = 0x08, /**< Audio path Bluetooth NSEC is off */
+ TAPI_SOUND_PATH_MIC1 = 0x09, /**< Audio path Mic one */
+ TAPI_SOUND_PATH_MIC2 = 0x0A, /**< Audio path Bluetooth Mic two */
+ TAPI_SOUND_PATH_BLUETOOTH_WB = 0x0B, /**< Audio path is Bluetooth WB */
+ TAPI_SOUND_PATH_BLUETOOTH_WB_NO_NR = 0x0C, /**< Audio path is BT nsec off WB */
+ TAPI_SOUND_PATH_HEADSET_HAC = 0x0D, /**< Audio path is headset HAC */
+ TAPI_SOUND_PATH_BIKEMODE_NEAR = 0x17, /**< Audio path is Bikemode Near*/
+ TAPI_SOUND_PATH_BIKEMODE_FAR = 0x18, /**< Audio path is Bikemode Far*/
+ TAPI_SOUND_PATH_VOLTE_HANDSET = 0x1F, /**< Audio path is VoLTE handset*/
+ TAPI_SOUND_PATH_VOLTE_HEADSET = 0x20, /**< Audio path is VoLTE headset*/
+ TAPI_SOUND_PATH_VOLTE_SPEAKER = 0x21, /**< Audio path is VoLTE Handsfree*/
+ TAPI_SOUND_PATH_VOLTE_BLUETOOTH = 0x22, /**< Audio path is VoLTE bluetooth */
+ TAPI_SOUND_PATH_VOLTE_STEREO_BT = 0x23, /**< Audio path is VoLTE stereo bluetooth*/
+ TAPI_SOUND_PATH_VOLTE_HEADPHONE = 0x24, /**< Audio path is VoLTE speaker phone*/
+ TAPI_SOUND_PATH_VOLTE_HEADSET_3_5PI = 0x25, /**< Audio path is VoLTE headset_3_5PI */
+ TAPI_SOUND_PATH_VOLTE_BT_NSEC_OFF = 0x26, /**< Audio path VoLTE Bluetooth NSEC is off */
+ TAPI_SOUND_PATH_VOLTE_BLUETOOTH_WB = 0x27, /**< Audio path is VoLTE Bluetooth WB */
+ TAPI_SOUND_PATH_VOLTE_BLUETOOTH_WB_NO_NR = 0x28, /**< Audio path is VoLTE BT nsec off WB */
+ TAPI_SOUND_PATH_VOLTE_HANDSET_HAC = 0x29, /**< Audio path is VoLTE handset HAC */
+ TAPI_SOUND_PATH_CALL_FWD = 0x32, /**< Audio path is call forwarding */
+ TAPI_SOUND_PATH_HEADSET_MIC1 = 0x33, /**< Audio path is Loopback Mic1+Ear */
+ TAPI_SOUND_PATH_HEADSET_MIC2 = 0x34, /**< Audio path is Loopback Mic2+Ear */
+ TAPI_SOUND_PATH_HEADSET_MIC3 = 0x35, /**< Audio path is Loopback Mic3+Ear */
} TelSoundPath_t;
/**
TAPI_CALL_SOUND_WBAMR_STATUS_ON_8K, /**< Status ON 8k */
} TelCallSoundWbamrNoti_t;
+/**
+ * @brief Enumeration for specifying type for call upgrade/downgrade.
+ * @since_tizen 2.4.0.3
+ */
+enum TelCallConfigType {
+ TAPI_CALL_CONFIG_TYPE_INVALID = -1, /**< Call type is Invalid */
+
+ /** AUDIO */
+ TAPI_CALL_CONFIG_TYPE_AUDIO = 2, /**< Call type is Audio */
+
+ /** VIDEO */
+ TAPI_CALL_CONFIG_TYPE_VIDEO_SHARE_TX = 3, /**< Call type is Video Share TX */
+ TAPI_CALL_CONFIG_TYPE_VIDEO_SHARE_RX = 4, /**< Call type is Video Share RX */
+ TAPI_CALL_CONFIG_TYPE_INBOUND_ONLY_VIDEO_CALL = 5, /**< Call type is Inbound Video Call */
+ TAPI_CALL_CONFIG_TYPE_HDVIDEO = 6, /**< Call type is HD Video */
+ TAPI_CALL_CONFIG_TYPE_VIDEO_CONFERENCE = 7, /**< Call type is Video Conference */
+ TAPI_CALL_CONFIG_TYPE_QCIFVIDEO_CONFERENCE = 8, /**< Call type is QCIF Video Conference */
+ TAPI_CALL_CONFIG_TYPE_QVGAVIDEO = 9, /**< Call type is QVGA */
+ TAPI_CALL_CONFIG_TYPE_QCIFVIDEO = 10, /**< Call type is QCIF Video */
+
+ /** TTY */
+ TAPI_CALL_CONFIG_TYPE_TTY_FULL = 11, /**< Call type is tty Full */
+ TAPI_CALL_CONFIG_TYPE_TTY_HCO = 12, /**< Call type is tty HCO */
+ TAPI_CALL_CONFIG_TYPE_TTY_VCO = 13, /**< Call type is tty VCO */
+ TAPI_CALL_CONFIG_TYPE_USSD = 14, /**< Call type USSD */
+
+ /** for Korea Market */
+ TAPI_CALL_CONFIG_TYPE_HDVIDEO_LAND = 15, /**< Call type is HDVideo Land */
+
+ /** E911 */
+ TAPI_CALL_CONFIG_TYPE_E911 = 20, /**< Call type is E911 - Emergency Call */
+
+ /* AUDIO conference */
+ TAPI_CALL_CONFIG_TYPE_AUDIO_CONFERENCE = 21, /**< Call type is Audio conference */
+
+ /** E911 Video */
+ TAPI_CALL_CONFIG_TYPE_E911_VIDEO = 22, /**< Call type is E911 Emergency video call */
+ TAPI_CALL_CONFIG_TYPE_E911_VIDEO_HD = 23, /**< Call type is E911 Emergency video call HD */
+ TAPI_CALL_CONFIG_TYPE_E911_VIDEO_HD_LAND = 24, /**< Call type is E911 Emergency video call HD Land */
+ TAPI_CALL_CONFIG_TYPE_E911_VIDEO_LAND = 25, /**< Call type is E911 Emergency video call Land */
+ TAPI_CALL_CONFIG_TYPE_E911_VIDEO_HD_QVGA_LAND = 26, /**< Call type is E911 Emergency video call HD QVGA Land */
+
+ /** VIDEO */
+ TAPI_CALL_CONFIG_TYPE_CIFVIDEO = 27, /**< Call type is CIF Video Call */
+ TAPI_CALL_CONFIG_TYPE_HD720VIDEO = 28, /**< Call type is HD 720 video call */
+ TAPI_CALL_CONFIG_TYPE_VIDEO_HOLD = 29, /**< Call type is E911 video hold call */
+ TAPI_CALL_CONFIG_TYPE_SWITCH_VOIP_TO_VT_INPROGRESS = 30 /**< Call type is switch VOIP to VT call */
+};
+
+/**
+ * @brief Enumeration type for call upgrade.
+ * @since_tizen 2.4.0.3
+ */
+typedef enum TelCallConfigType TelCallUpgradeType_t;
+
+/**
+ * @brief Enumeration type for call downgrade.
+ * @since_tizen 2.4.0.3
+ */
+typedef enum TelCallConfigType TelCallDowngradeType_t;
+
/**
* @brief The structure type for call sound noise reduction notification data.
* @since_tizen 2.3
TelCallPreferredVoiceSubs_t preferred_subs; /**< Preferred Voice Subscription */
} TelCallPreferredVoiceSubsNoti_t;
+/**
+ * @brief The structure type for call modification(upgrade/downgrade) of VoLTE call
+ * @since_tizen 2.4
+ * @see #TAPI_NOTI_CALL_INFO_MODIFIABLE
+ */
+typedef struct {
+ int call_handle; /**< call handle*/
+ int modifiable; /*can modify this call*/
+} TelCallInfoModifiableNoti_t;
+
+/**
+ * @brief The structure type for call upgrade request of VoLTE call
+ * @since_tizen 2.4
+ * @see #TAPI_NOTI_CALL_REQUEST_UPGRADE
+ */
+typedef struct {
+ int call_handle; /**< call handle*/
+ TelCallUpgradeType_t upgrade_type; /**< Upgrade config */
+} TelCallUpgradeRequestNoti_t;
+
+/**
+ * @brief The structure type for call downgrade request of VoLTE call
+ * @since_tizen 2.4
+ * @see #TAPI_NOTI_CALL_REQUEST_DOWNGRADE
+ */
+typedef struct {
+ int call_handle; /**< call handle*/
+ TelCallDowngradeType_t downgrade_type; /**< Downgrade config */
+} TelCallDowngradedNoti_t;
+
+
#ifdef __cplusplus
}
#endif
* @brief Definition for the maximum network list.
* @since_tizen 2.3
*/
-#define TAPI_NETWORK_LIST_MAX 15
+#define TAPI_NETWORK_LIST_MAX 20
/**
* @brief Definition for the maximum length of the network PLMN.
TAPI_NETWORK_BAND_TYPE_LTE_BAND_17 /**< This member sets the band to LTE BAND 17 */
} TelNetworkBand_t;
+/**
+ * @brief Enumeration for the different serving network LTE band type.
+ * @since_tizen TBD
+ */
+typedef enum {
+ TAPI_NETWORK_LTE_BAND_TYPE_UNKNOWN = 0x00,
+ TAPI_NETWORK_LTE_BAND_TYPE_FDD,
+ TAPI_NETWORK_LTE_BAND_TYPE_TDD,
+} TelNetworkLteBandType_t;
+
/**
* @brief Enumeration for the different network operation causes.
* @since_tizen 2.3
TAPI_NETWORK_DEFAULT_SUBS_SIM2 /**< SIM 2 network **/
} TelNetworkDefaultSubs_t;
+/**
+ * @brief TelNetworkVolteFeatureType_t
+ * This enumeration defines VoLTE services
+ * @since_tizen 2.4
+ */
+typedef enum {
+ TAPI_NETWORK_VOLTE_FEATURE_TYPE_VOLTE = 0x01, /**< VoLTE Feature type */
+ TAPI_NETWORK_VOLTE_FEATURE_TYPE_SMS = 0x02, /**< SMSoverIP Feature type */
+ TAPI_NETWORK_VOLTE_FEATURE_TYPE_RCS = 0x04, /**< RCS Feature type */
+ TAPI_NETWORK_VOLTE_FEATURE_TYPE_VT = 0x08, /**< VT Feature type */
+} TelNetworkVolteFeatureType_t;
+
+/**
+ * @brief TelNetworkVolteNetworkType_t
+ * This enumeration defines network on which VoLTE is regitered
+ * @since_tizen 2.4
+ */
+typedef enum {
+ TAPI_NETWORK_VOLTE_NETWORK_TYPE_UNKNOWN, /**< Unknown */
+ TAPI_NETWORK_VOLTE_NETWORK_TYPE_MOBILE, /**< Mobile */
+ TAPI_NETWORK_VOLTE_NETWORK_TYPE_WIFI, /**< WiFi */
+} TelNetworkVolteNetworkType_t;
+
/**
* @brief The structure type for the preferred PLMN information.
* @since_tizen 2.3
TelNetworkDefaultSubs_t default_subs; /**< 'default' Subscription */
};
+/**
+ * @brief The structure type for network VoLTE status notification.
+ * @since_tizen 2.4
+ * @see #TAPI_NOTI_NETWORK_VOLTE_STATUS
+ */
+struct tel_noti_network_volte_status {
+ int is_registered; /**< VoLTE status, 0=de-registered 1=registered */
+ int feature_mask; /**< Services registered for, bit-mask of #TelNetworkVolteFeatureType_t */
+ TelNetworkVolteNetworkType_t network_type; /**< Network on which VoLTE is registered */
+};
+
+/**
+ * @brief The structure type for network ePDG status notification.
+ * @since_tizen 2.4
+ * @see #TAPI_NOTI_NETWORK_EPDG_STATUS
+ */
+struct tel_noti_network_epdg_status {
+ int is_available; /**< ePDG status, 0=not available 1=available */
+};
+
#ifdef __cplusplus
}
#endif
int commandId; /**< Proactive Command Number sent by USIM */
unsigned int duration; /**< Duration of the display */
TelSatCmdQualiRefresh_t refreshType; /**< Refresh mode */
+ TelSatTextInfo_t text; /**<character data to display on screen*/
+ TelSatIconIdentifierInfo_t iconId; /**<Icon Identifier*/
} TelSatRefreshIndUiInfo_t;
// Telephony REFRESH DATA
TelSatLanguageInfo_t language; /**< Language info from the USIM application */
} TelSatLanguageNotiInfoInd_t;
+// Telephony Send SS NOTIFICATION DATA
+/**
+ * @brief The structure type defining Send SS notification proactive command data for the application.
+ * @since_tizen 2.4
+ */
+typedef struct {
+ int commandId; /**< Proactive Command Number sent by USIM */
+ TelSimTypeOfNum_t ton; /**< TON */
+ TelSimNumberingPlanIdentity_t npi; /**< NPI */
+ unsigned char stringLen; /**< SS string length */
+ char string[TAPI_SAT_SS_STRING_LEN_MAX + 1]; /**< SS string */
+} TelSatSendSsIndData_t;
+
+// Telephony Send USSD NOTIFICATION DATA
+/**
+ * @brief The structure type defining Send USSD notification proactive command data for the application.
+ * @since_tizen 2.4
+ */
+typedef struct {
+ int commandId; /**< Proactive Command Number sent by USIM */
+ unsigned char rawDcs; /**< Raw DCS info */
+ unsigned char ussdStringLen; /**< USSD string length */
+ char ussdString[TAPI_SAT_USSD_STRING_LEN_MAX + 1]; /**< USSD string */
+} TelSatSetupUssdIndData_t;
+
// Telephony PLAY TONE RETURN INFO
/**
* @brief The structure type defining result data for the Play Tone proactive command.
/**
* @brief Definition for the maximum length of SAP APDU.
- * @details 2048 is for QMI definition. (1024 : general length, 1024 : extra length for additional response).
+ * @details 4096 is for QMI definition.
* @since_tizen 2.3
*/
-#define TAPI_SIM_APDU_MAX_LEN 2048
+#define TAPI_SIM_APDU_MAX_LEN 4096
/**
* @brief Definition for the maximum length of the SIM 3G Phone book EF.
TAPI_SIM_SPCK_REQUIRED, /**< Service Provider Control Key Required */
TAPI_SIM_CCK_REQUIRED, /**< Corporate Control Key Required */
TAPI_SIM_LOCK_REQUIRED, /**< PH-SIM (phone-SIM) locked state */
- TAPI_SIM_PERM_BLOCKED /**< Permanently Blocked */
+ TAPI_SIM_PERM_BLOCKED, /**< Permanently Blocked */
+ TAPI_SIM_ADM_REQUIRED /**< Admin key locked state */
} TelSimPinOperationResult_t;
/**
* @since_tizen 2.3
*/
typedef enum {
- TAPI_SIM_AUTH_NO_ERROR = 0x00, /**< ISIM no error */
+ TAPI_SIM_AUTH_NO_ERROR = 0x00, /**< Status - no error */
TAPI_SIM_AUTH_CANNOT_PERFORM, /**< Status - can't perform authentication */
TAPI_SIM_AUTH_SKIP_RESPONSE, /**< Status - skip authentication response */
TAPI_SIM_AUTH_MAK_CODE_FAILURE, /**< Status - MAK(Multiple Activation Key) code failure */
TAPI_SIM_AUTH_SQN_FAILURE, /**< Status - SQN(SeQuenceNumber) failure */
TAPI_SIM_AUTH_SYNCH_FAILURE, /**< Status - synch failure */
TAPI_SIM_AUTH_UNSUPPORTED_CONTEXT, /**< Status - unsupported context */
+ TAPI_SIM_AUTH_ERROR, /**< Status - default error */
TAPI_SIM_AUTH_MAX /**< MAX value */
} TelSimAuthenticationResult_t;
*/
#define TAPI_NOTI_CALL_PREFERRED_VOICE_SUBSCRIPTION DBUS_TELEPHONY_CALL_INTERFACE":CallPreferredVoiceSubscription"
+/**
+ * @brief Definition for VoLTE call which can provide upgrade/downgrade - caller/callee are all in VoLTE call
+ * @since_tizen 2.4
+ */
+#define TAPI_NOTI_CALL_INFO_MODIFIABLE DBUS_TELEPHONY_CALL_INTERFACE":Modifiable"
+
+/**
+ * @brief Definition for VoLTE call for which upgrade call request is initiated from MT
+ * @since_tizen 2.4
+ * @remarks '#TelCallUpgradeRequestNoti_t' will be stored
+ */
+#define TAPI_NOTI_CALL_UPGRADE_REQUESTED DBUS_TELEPHONY_CALL_INTERFACE":CallUpgradeRequested"
+
+/**
+ * @brief Definition for VoLTE call for which downgrade call request is initiated from MT
+ * @since_tizen 2.4
+ * @remarks '#TelCallDowngradeRequestNoti_t' will be stored
+ */
+#define TAPI_NOTI_CALL_DOWNGRADED DBUS_TELEPHONY_CALL_INTERFACE":CallDowngraded"
+
/**
* @brief Definition for the Modem interface
*/
*/
#define TAPI_NOTI_SAT_SETUP_CALL DBUS_TELEPHONY_SAT_INTERFACE":SetupCall"
+/**
+ * @brief Definition for sat send SS notification
+ * @since_tizen 2.4
+ * @remarks '#TelSatSendSsIndData_t' will be stored
+ */
+#define TAPI_NOTI_SAT_SEND_SS DBUS_TELEPHONY_SAT_INTERFACE":SendSS"
+
+/**
+ * @brief Definition for sat setup USSD notification
+ * @since_tizen 2.4
+ * @remarks '#TelSatSetupUssdIndData_t' will be stored
+ */
+#define TAPI_NOTI_SAT_SETUP_USSD DBUS_TELEPHONY_SAT_INTERFACE":SetupUSSD"
+
/**
* @brief Definition for the Phonebook interface
*/
*/
#define TAPI_NOTI_NETWORK_BS_LONGITUDE DBUS_TELEPHONY_NETWORK_INTERFACE":BsLongitude"
+/**
+ * @brief Definition for network VoLTE status notification
+ * @since_tizen 2.4
+ * @remarks '#tel_noti_network_volte_status' will be stored
+ */
+#define TAPI_NOTI_NETWORK_VOLTE_STATUS DBUS_TELEPHONY_NETWORK_INTERFACE":VolteStatus"
+
+/**
+ * @brief Definition for network VoLTE status notification
+ * @since_tizen 2.4
+ * @remarks '#tel_noti_network_epdg_status' will be stored
+ */
+#define TAPI_NOTI_NETWORK_EPDG_STATUS DBUS_TELEPHONY_NETWORK_INTERFACE":EpdgStatus"
+
/**
* @brief Definition for network LAC (Location Area Code) property
* @since_tizen 2.3
*/
#define TAPI_PROP_NETWORK_CELLID DBUS_TELEPHONY_NETWORK_INTERFACE":cell_id"
+/**
+ * @brief Definition for network physical cell-id property
+ * @since_tizen 2.3
+ * @remarks 'unsigned int' will be stored
+ */
+#define TAPI_PROP_NETWORK_PHYSICAL_CELLID DBUS_TELEPHONY_NETWORK_INTERFACE":physical_cell_id"
+
/**
* @brief Definition for network service type property
* @since_tizen 2.3
/**
* @brief Definition for network volte enable status notification
* @since_tizen 2.4
- * @remarks 'int' (0: Not available, 1: Available) will be stored
+ * @remarks '#TelNetworkVolteNetworkType_t' will be stored
*/
#define TAPI_PROP_NETWORK_VOLTE_ENABLE DBUS_TELEPHONY_NETWORK_INTERFACE":volte_enable"
+/**
+ * @brief Definition for network serving LTE band property
+ * @since_tizen 2.4
+ * @remarks '#TelNetworkLteBandType_t' will be stored
+ */
+#define TAPI_PROP_NETWORK_LTE_BAND_TYPE DBUS_TELEPHONY_NETWORK_INTERFACE":lte_band_type"
+
/**
* @brief Definition for the Ss interface
*/
TAPI_MAKE_RESP_CB_DATA(evt_cb_data, handle, callback, user_data);
- param = g_variant_new("(ii)", CallHandle, AnsType);
+ param = g_variant_new("(iii)", CallHandle, AnsType, -1); /* -1 for AnsCallType */
msg("[%s] Request Answer. call_handle:[%d], type:[%d]", handle->cp_name, CallHandle, AnsType);
dbg("[%s] Func Entrance ", handle->cp_name);
gv = g_dbus_connection_call_sync(handle->dbus_connection,
- DBUS_TELEPHONY_SERVICE , handle->path, DBUS_TELEPHONY_CALL_INTERFACE,
- "GetStatusAll", 0, 0, G_DBUS_CALL_FLAGS_NONE, TAPI_DEFAULT_TIMEOUT, handle->ca, &gerr);
-
+ DBUS_TELEPHONY_SERVICE , handle->path, DBUS_TELEPHONY_CALL_INTERFACE,
+ "GetStatusAll", 0, 0, G_DBUS_CALL_FLAGS_NONE, TAPI_DEFAULT_TIMEOUT, handle->ca, &gerr);
if (gv) {
-
TelCallStatus_t data;
gchar *key = 0;
GVariant *value = 0;
TAPI_INVOKE_NOTI_CALLBACK(&signal_info);
} else if (!g_strcmp0(sig, "CallInfoRec")) {
TelCallRecordInfoNoti_t noti;
- gchar *data = NULL;
+ GVariant *data = NULL;
+ GVariant* inner_si = NULL;
memset(¬i, '\0', sizeof(TelCallRecordInfoNoti_t));
- g_variant_get(param, "(iis)", ¬i.info.id, ¬i.info.type, &data);
- if (noti.info.type == TAPI_CALL_REC_INFO_TYPE_NAME) {
- strncpy(noti.info.data.name, data, TAPI_CALLING_NAME_SIZE_MAX);
+ g_variant_get(param, "(ii@v)", ¬i.info.id, ¬i.info.type, &data);
+ if(noti.info.type == TAPI_CALL_REC_INFO_TYPE_NAME) {
+ inner_si = g_variant_get_variant(data);
+ strncpy(noti.info.data.name, g_variant_get_string(inner_si, NULL), TAPI_CALLING_NAME_SIZE_MAX);
+
msg("[ check ] %s (%s): id(%d) type(%d) name(%s)", "CallInfoRec", handle->cp_name,
noti.info.id, noti.info.type, noti.info.data.name);
} else if (noti.info.type == TAPI_CALL_REC_INFO_TYPE_NUMBER) {
- strncpy(noti.info.data.number, data, TAPI_CALL_DIAL_NUMBER_LEN_MAX);
+ inner_si = g_variant_get_variant(data);
+ strncpy(noti.info.data.number, g_variant_get_string(inner_si, NULL), TAPI_CALL_DIAL_NUMBER_LEN_MAX);
+
msg("[ check ] %s (%s): id(%d) type(%d) number(%s)", "CallInfoRec", handle->cp_name,
noti.info.id, noti.info.type, noti.info.data.number);
+ } else if (noti.info.type == TAPI_CALL_REC_INFO_TYPE_LINE_CTRL) {
+ gchar* key;
+ GVariantIter iter;
+ int value;
+ inner_si = g_variant_get_variant(data);
+
+ g_variant_iter_init(&iter, inner_si);
+ while(g_variant_iter_next(&iter, "{si}", &key, &value)) {
+ if (!g_strcmp0(key, "polarity_included")) {
+ noti.info.data.line_ctrl_info.polarity_included = (unsigned char)(value);
+ }else if (!g_strcmp0(key, "toggle_mode")) {
+ noti.info.data.line_ctrl_info.toggle_mode = (unsigned char)(value);
+ }else if (!g_strcmp0(key, "reverse_polarity")) {
+ noti.info.data.line_ctrl_info.reverse_polarity = (unsigned char)(value);
+ }else if (!g_strcmp0(key, "power_denial_time")) {
+ noti.info.data.line_ctrl_info.power_denial_time = (unsigned char)(value);
+ }
+ }
+ msg("[ check ] %s (%s): polarity_included(%d), toggle_mode(%d), reverse_polarity(%d), power_denial_time(%d)", "CallInfoRec",
+ handle->cp_name, noti.info.data.line_ctrl_info.polarity_included, noti.info.data.line_ctrl_info.toggle_mode,
+ noti.info.data.line_ctrl_info.reverse_polarity, noti.info.data.line_ctrl_info.power_denial_time );
}
TAPI_INVOKE_NOTI_CALLBACK(¬i);
- g_free(data);
+ g_variant_unref(inner_si);
+ g_variant_unref(data);
} else if (!g_strcmp0(sig, "CallSoundPath")) {
TelCallSoundPathNoti_t data;
g_variant_get(param, "(i)", &data.path);
g_variant_get(param, "(i)", &data.preferred_subs);
dbg("[ check ] %s : Voice preferred_subs(%d)", "Call Preferred Voice Subscription noti", data.preferred_subs);
TAPI_INVOKE_NOTI_CALLBACK(&data);
+ } else if(!g_strcmp0(sig, "Modifiable")){
+ TelCallInfoModifiableNoti_t data;
+ g_variant_get(param, "(ib)", &data.call_handle, &data.modifiable);
+ dbg("[ check ] %s : call_handle (%d), modifiable (%d)", "Call modification availablity noti", data.call_handle, data.modifiable);
+ TAPI_INVOKE_NOTI_CALLBACK(&data);
+ } else if (!g_strcmp0(sig, "CallUpgradeRequested")) {
+ TelCallUpgradeRequestNoti_t data;
+
+ g_variant_get(param, "(ii)", &data.call_handle, &data.upgrade_type);
+ dbg("[ check ] %s : call_handle (%d) upgrade_type (%d)", "Call upgrade requested", data.call_handle, data.upgrade_type);
+ TAPI_INVOKE_NOTI_CALLBACK(&data);
+ } else if (!g_strcmp0(sig, "CallDowngraded")) {
+ TelCallDowngradedNoti_t data;
+
+ g_variant_get(param, "(ii)", &data.call_handle, &data.downgrade_type);
+ dbg("[ check ] %s : call_handle (%d) downgrade_type (%d)", "Call downgraded", data.call_handle, data.downgrade_type);
+ TAPI_INVOKE_NOTI_CALLBACK(&data);
} else {
dbg("not handled Call noti[%s]", sig);
}
g_variant_get(param, "(i)", &command_type);
dbg("end session evt : command type(%d)", command_type);
TAPI_INVOKE_NOTI_CALLBACK(&command_type);
+ } else if (!g_strcmp0(sig, "SendSS")) {
+ TelSatSendSsIndData_t send_ss;
+
+ gint command_id = 0;
+ gchar *text = NULL;
+ gint text_len = 0;
+ gint ton = 0, npi = 0;
+ gchar *ss_str = NULL;
+
+ memset(&send_ss, 0x0, sizeof(TelSatSendSsIndData_t));
+ g_variant_get(param, "(isiiis)", &command_id, &text, &text_len,
+ &ton, &npi, &ss_str);
+
+ send_ss.commandId = command_id;
+ send_ss.ton = ton;
+ send_ss.npi = npi;
+ if (ss_str != NULL) {
+ send_ss.stringLen = strlen(ss_str);
+ g_strlcpy(send_ss.string, ss_str, TAPI_SAT_SS_STRING_LEN_MAX + 1);
+ }
+ dbg("send ss evt : command_id(%d)", command_id);
+ TAPI_INVOKE_NOTI_CALLBACK(&send_ss);
+
+ g_free(text);
+ g_free(ss_str);
+ } else if (!g_strcmp0(sig, "SetupUSSD")) {
+ TelSatSetupUssdIndData_t setup_ussd;
+
+ gint command_id = 0;
+ gchar *text = NULL;
+ gint text_len = 0;
+ gchar dcs = 0;
+ gchar *ussd_str = NULL;
+
+ memset(&setup_ussd, 0x0, sizeof(TelSatSetupUssdIndData_t));
+ g_variant_get(param, "(isiys)", &command_id, &text, &text_len,
+ &dcs, &ussd_str);
+
+ setup_ussd.commandId = command_id;
+ setup_ussd.rawDcs = dcs;
+ if (ussd_str != NULL) {
+ setup_ussd.ussdStringLen = strlen(ussd_str);
+ g_strlcpy(setup_ussd.ussdString, ussd_str, TAPI_SAT_USSD_STRING_LEN_MAX + 1);
+ }
+ dbg("setup ussd evt : command_id(%d)", command_id);
+ TAPI_INVOKE_NOTI_CALLBACK(&setup_ussd);
+
+ g_free(text);
+ g_free(ussd_str);
} else if (!g_strcmp0(sig, "CallControlResult")) {
TelSatCallCtrlIndData_t call_ctrl_result_ind;
gint call_ctrl_result = 0, disp_len = 0;
g_variant_get(param, "(i)", &bs_longitude);
TAPI_INVOKE_NOTI_CALLBACK(&bs_longitude);
}
+
+static void on_signal_volte_status(TapiHandle *handle, GVariant *param,
+ char *noti_id, struct tapi_evt_cb *evt_cb_data)
+{
+ struct tel_noti_network_volte_status noti;
+
+ memset(¬i, 0, sizeof(struct tel_noti_network_volte_status));
+
+ g_variant_get(param, "(bii)",
+ &(noti.is_registered),
+ &(noti.feature_mask),
+ &(noti.network_type));
+
+ TAPI_INVOKE_NOTI_CALLBACK(¬i);
+}
+
+static void on_signal_epdg_status(TapiHandle *handle, GVariant *param,
+ char *noti_id, struct tapi_evt_cb *evt_cb_data)
+{
+ struct tel_noti_network_epdg_status noti;
+
+ memset(¬i, 0, sizeof(struct tel_noti_network_epdg_status));
+
+ g_variant_get(param, "(b)",
+ &(noti.is_available));
+
+ TAPI_INVOKE_NOTI_CALLBACK(¬i);
+}
/* LCOV_EXCL_STOP */
static struct signal_map signals[] = {
{ "BsId", on_signal_bs_id },
{ "BsLatitude", on_signal_bs_latitude },
{ "BsLongitude", on_signal_bs_longitude },
+ { "VolteStatus", on_signal_volte_status },
+ { "EpdgStatus", on_signal_epdg_status },
};
void _process_network_event(const gchar *sig, GVariant *param,
gint result;
gchar *encoded_data = NULL;
- dbg("oem_id(0x%x) data(%p) data len(%d)", oem_id, data, data_len);
-
TAPI_RET_ERR_NUM_IF_NOT_SUPPORTED(TELEPHONY_FEATURE);
TAPI_RET_ERR_NUM_IF_FAIL(handle, TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(handle->dbus_connection, TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(data, TAPI_API_INVALID_PTR);
+ dbg("[%s] oem_id(0x%x) data(%p) data len(%d)", handle->path, oem_id, data, data_len);
+
if (data_len > OEM_DATA_LEN_MAX)
return TAPI_API_INVALID_INPUT;
GVariant *rst = NULL;
gchar *pdata = NULL;
- dbg("oem_id(0x%x) data(%p) data len(%d)", oem_id, data, data_len);
-
TAPI_RET_ERR_NUM_IF_NOT_SUPPORTED(TELEPHONY_FEATURE);
TAPI_RET_ERR_NUM_IF_FAIL(handle, TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(handle->dbus_connection, TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(data, TAPI_API_INVALID_PTR);
+ dbg("[%s] oem_id(0x%x) data(%p) data len(%d)", handle->path, oem_id, data, data_len);
+
if (data_len > OEM_DATA_LEN_MAX)
return TAPI_API_INVALID_INPUT;
TAPI_RET_ERR_NUM_IF_FAIL(handle->dbus_connection, TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(data, TAPI_API_INVALID_PTR);
+ dbg("[%s] oem_id(0x%x) data(%p) data len(%d)", handle->path, oem_id, data, data_len);
+
if (data_len > OEM_DATA_LEN_MAX)
return TAPI_API_INVALID_INPUT;
g_variant_get(dbus_result, "(iaa{sv})", &result, &iter);
impu_list.count = g_variant_iter_n_children(iter);
+ dbg("IMPU count: [%d]", impu_list.count);
impu_list.list = g_malloc0(sizeof(TelSimImpu_t) * impu_list.count);
while (g_variant_iter_next(iter, "a{sv}", &iter_row)) {
TAPI_MAKE_RESP_CB_DATA(evt_cb_data, handle, callback, user_data);
g_variant_builder_init(&builder, G_VARIANT_TYPE("ay"));
+ dbg("authentication_data->rand_length[%d]", authentication_data->rand_length);
for (i = 0; i < authentication_data->rand_length; i++) {
- dbg("authentication_data->rand_data[%d][0x%02x]", i, authentication_data->rand_data[i]);
g_variant_builder_add(&builder, "y", authentication_data->rand_data[i]);
}
rand_gv = g_variant_builder_end(&builder);
g_variant_builder_init(&builder, G_VARIANT_TYPE("ay"));
- for (i = 0; i < authentication_data->autn_length; i++) {
- dbg("authentication_data->autn_data[%d][0x%02x]", i, authentication_data->autn_data[i]);
- g_variant_builder_add(&builder, "y", authentication_data->autn_data[i]);
- }
+ dbg("authentication_data->autn_length[%d]", authentication_data->autn_length);
+ for (i = 0; i < authentication_data->autn_length; i++) {
+ g_variant_builder_add(&builder, "y", authentication_data->autn_data[i]);
+ }
autn_gv = g_variant_builder_end(&builder);
param = g_variant_new("(ivv)", authentication_data->auth_type, rand_gv, autn_gv);
return TAPI_API_SUCCESS;
}
-
EXPORT_API int tel_verifiy_sim_pins(TapiHandle *handle, const TelSimSecPw_t *pin_data,
tapi_response_cb callback, void *user_data)
{
return TAPI_API_OPERATION_FAILED;
}
- encoded_tpdu = g_base64_encode((const guchar*)(pDataPackage->szData), TAPI_NETTEXT_SMDATA_SIZE_MAX + 1);
+ encoded_tpdu = g_base64_encode((const guchar*)(pDataPackage->szData), pDataPackage->MsgLength);
if (NULL == encoded_tpdu) {
dbg("g_base64_encode: Failed to encode TPDU");
g_free(encoded_sca);
return TAPI_API_OPERATION_FAILED;
}
- param = g_variant_new("(isisi)", pDataPackage->format, encoded_sca,
- pDataPackage->MsgLength,
- encoded_tpdu,
- RPCause);
+ param = g_variant_new("(isisi)",
+ pDataPackage->format,
+ encoded_sca,
+ pDataPackage->MsgLength,
+ encoded_tpdu,
+ RPCause);
g_dbus_connection_call(handle->dbus_connection,
DBUS_TELEPHONY_SERVICE , handle->path, DBUS_TELEPHONY_SMS_INTERFACE,