TAPI_CC_CAUSE_PROTOCOL_ERROR_UNSPECIFIED, /**< Protocol error unspecified */
TAPI_CC_CAUSE_INTERWORKING_UNSPECIFIED, /**< Interworking unspecified */
TAPI_CC_CAUSE_REORDER, /**< Reorder */
+
TAPI_CC_CAUSE_ACCEPTED_EXTERNALLY = 54, /**< Call accepted other device */
TAPI_CC_CAUSE_REJECTED_EXTERNALLY, /**< Call rejected other device */
+
TAPI_CC_CAUSE_ALREADY_IN_USE, /**< Call rejected - secondary device already in use */
+ TAPI_CC_CAUSE_PULLED_BY_PD, /**<call pulled by primary device*/
+ TAPI_CC_CAUSE_PULLED_BY_SD, /**<call pulled by secondary device*/
+ TAPI_CC_CAUSE_ECC_NOT_SUPPORTED, /**<ECC call not supported - CMC only */
+ TAPI_CC_CAUSE_PD_UNREACHABLE = 60, /**<PD is out of reach, so unable to use PD's call - CMC only*/
+
+ TAPI_CC_CAUSE_PD_NOT_REGISTERED, /**<PD is not registered, so unable for SD to use call - CMC only*/
TAPI_CC_CAUSE_END = 128, /**< End unspecified */
TAPI_REJECT_CAUSE_CNM_REJ_NO_RESOURCES, /**< Rejected due to unavailibilty of resources */
TAPI_REJECT_CAUSE_CNM_MM_REL_PENDING, /**< MM release pending */
TAPI_REJECT_CAUSE_CNM_INVALID_USER_DATA, /**< Invalid user data */
+
+ TAPI_REJECT_CAUSE_RTP_TIMEOUT, /**< RTP timeout */
+
TAPI_CALL_END_CAUSE_MAX = 255, /**< Maximum End Cause limit for GSM/WCDMA */
/* CDMA CALL END CAUSE */
#define TAPI_MISC_PRL_ERI_VER_LEN_MAX 17
/**
+ * @brief Definition for the maximum length of CP chipset.
+ * @since_tizen 2.3
+ */
+#define TAPI_MISC_CP_CHIPSET_LEN_MAX 16
+
+/**
* @brief Definition for the maximum length of device name.
* @since_tizen 2.3
*/
unsigned char szPrlVersion[TAPI_MISC_PRL_ERI_VER_LEN_MAX * 3];/**< PRL version (only for CDMA), null termination */
unsigned char eri_nam_num; /**< Number of PRL NAM fields */
unsigned char szEriVersion[TAPI_MISC_PRL_ERI_VER_LEN_MAX * 3];/**< ERI version (only for CDMA), null termination */
+ unsigned char szCpChipset[TAPI_MISC_CP_CHIPSET_LEN_MAX];/**< CP chipset, null termination */
} TelMiscVersionInformation;
/**
#define TAPI_NETTEXT_CB_SIZE_MAX 1252
/**
+ * @brief Definition for the maximum Warning Area Co-ordinate Size
+ * @since_tizen 5.5
+ */
+#define TAPI_NETTEXT_CB_WAC_SIZE_MAX 1024
+
+/**
* @brief Definition for the maximum ETWS message size.
* @since_tizen 2.3
*/
* @since_tizen 2.3
*/
typedef struct {
-
TelSmsCbMsgType_t CbMsgType; /**< Cell Broadcast message type */
unsigned short Length; /**< Size of array @a szMsgData (which is the actual TPDU message) */
char szMsgData[TAPI_NETTEXT_CB_SIZE_MAX + 1]; /**< Cell broadcast message data[Refer 3GPP TS 23.041 9.4.1] */
+ int wacLen; /** Size of actual wac Data */
+ char wacData[TAPI_NETTEXT_CB_WAC_SIZE_MAX + 1]; /**< Warning Area Coordiantes [Refer 3GPP TS 36.413 version 15.3.0 Release 15] */
} TelSmsCbMsg_t;
/**
TelSmsCbMsgType_t CbMsgType; /**< Cell Broadcast message type */
short Length; /**< Size of array @a szMsgData (which is the actual TPDU message) */
char szMsgData[TAPI_NETTEXT_CB_SIZE_MAX + 1]; /**< Cell broadcast message data[Refer 3GPP TS 23.041 9.4.1] */
+ int wacLen; /** Size of actual wac Data */
+ char wacData[TAPI_NETTEXT_CB_WAC_SIZE_MAX + 1]; /**< Warning Area Coordiantes [Refer 3GPP TS 36.413 version 15.3.0 Release 15] */
};
/**
#define TAPI_NOTI_CALL_INFO_REC DBUS_TELEPHONY_CALL_INTERFACE":CallInfoRec"
/**
- * @brief Definition for call info fallback notification
+ * @brief Definition for call info fallback notification (eg VoLTE voice to CS voice)
* @since_tizen TBD
* @remarks TBD
*/
-#define TAPI_NOTI_CALL_INFO_FALLBACK DBUS_TELEPHONY_CALL_INTERFACE:":CallFallback"
+#define TAPI_NOTI_CALL_INFO_FALLBACK DBUS_TELEPHONY_CALL_INTERFACE":CallFallback"
/**
* @brief Definition for voice privacy mode change notification (CDMA only)
/**
* @brief Definition for VoLTE call for which downgrade call request is initiated from MT
* @since_tizen 2.4
- * @remarks '#TelCallDowngradeRequestNoti_t' will be stored
+ * @remarks '#TelCallDowngradedNoti_t' will be stored
*/
#define TAPI_NOTI_CALL_DOWNGRADED DBUS_TELEPHONY_CALL_INTERFACE":CallDowngraded"
%define major 0
%define minor 8
-%define patchlevel 39
+%define patchlevel 40
Name: libtapi
Version: %{major}.%{minor}.%{patchlevel}
gsize decoded_cbmsg_len = 0;
int cb_msg_len = 0;
- g_variant_get(param, "(iis)", ¬i.CbMsgType, &cb_msg_len, &cb_msg);
+ gchar *wac_msg = NULL;
+ guchar *decoded_wac_msg = NULL;
+ gsize decoded_wac_msg_len = 0;
+ int wac_msg_len = 0;
+
+ g_variant_get(param, "(iisis)", ¬i.CbMsgType, &cb_msg_len, &cb_msg, &wac_msg_len, &wac_msg);
+
+ // CB Message
decoded_cbmsg = g_base64_decode(cb_msg, &decoded_cbmsg_len);
if (NULL == decoded_cbmsg) {
err("g_base64_decode: Failed to decode cbmsg");
+ g_free(cb_msg);
+ g_free(wac_msg);
return;
}
noti.Length = cb_msg_len;
+ // WAC Data
+ if (wac_msg_len != 0){
+ decoded_wac_msg = g_base64_decode(wac_msg, &decoded_wac_msg_len);
+ if (NULL == decoded_wac_msg) {
+ err("g_base64_decode: Failed to decode wacmsg");
+ g_free(cb_msg);
+ g_free(decoded_cbmsg);
+ g_free(wac_msg);
+ return;
+ }
+
+ dbg("dt : %" G_GSIZE_FORMAT ", ml :%d", decoded_wac_msg_len, wac_msg_len);
+
+ if (TAPI_NETTEXT_CB_WAC_SIZE_MAX+1 < decoded_wac_msg_len)
+ decoded_wac_msg_len = TAPI_NETTEXT_CB_WAC_SIZE_MAX+1;
+
+ memcpy(&(noti.wacData[0]), decoded_wac_msg, decoded_wac_msg_len);
+ }
+ noti.wacLen = wac_msg_len;
+
g_free(cb_msg);
g_free(decoded_cbmsg);
+ g_free(wac_msg);
+ g_free(decoded_wac_msg);
+
TAPI_INVOKE_NOTI_CALLBACK(¬i);
} else if (!g_strcmp0(sig, "IncommingEtwsMsg")) {
struct tel_noti_sms_incomming_etws_msg noti;
struct tapi_resp_data *evt_cb_data = user_data;
int result = -1;
TelMiscVersionInformation data;
- char *sw = NULL, *hw = NULL, *rf = NULL, *product = NULL, *prl = NULL, *eri = NULL;
+ char *sw = NULL, *hw = NULL, *rf = NULL, *product = NULL, *prl = NULL, *eri = NULL, *cp_chip = NULL;
GVariant *dbus_result;
TAPI_RESP_CHECK_ERROR(error, evt_cb_data);
- g_variant_get(dbus_result, "(issssss)", &result,
- &sw, &hw, &rf, &product, &prl, &eri);
+ g_variant_get(dbus_result, "(isssssss)", &result,
+ &sw, &hw, &rf, &product, &prl, &eri, &cp_chip);
dbg("product code [%s]", product);
g_strlcpy((gchar *)data.szProductCode, product, TAPI_MISC_PRODUCT_CODE_LEN_MAX);
g_strlcpy((gchar *)data.szPrlVersion, prl, TAPI_MISC_PRL_ERI_VER_LEN_MAX);
g_strlcpy((gchar *)data.szEriVersion, eri, TAPI_MISC_PRL_ERI_VER_LEN_MAX);
+ g_strlcpy((gchar *)data.szCpChipset, cp_chip, TAPI_MISC_CP_CHIPSET_LEN_MAX);
g_free(sw);
g_free(hw);
g_free(product);
g_free(prl);
g_free(eri);
+ g_free(cp_chip);
TAPI_INVOKE_RESP_CALLBACK(evt_cb_data, result, &data);
GError *error = NULL;
int result = -1;
TelMiscVersionInformation *data = NULL;
- char *sw = NULL, *hw = NULL, *rf = NULL, *product = NULL, *prl = NULL, *eri = NULL;
+ char *sw = NULL, *hw = NULL, *rf = NULL, *product = NULL, *prl = NULL, *eri = NULL, *cp_chip = NULL;
dbg("Func Entrance");
if (!dbus_result)
return NULL;
- g_variant_get(dbus_result, "(issssss)", &result,
- &sw, &hw, &rf, &product, &prl, &eri);
+ g_variant_get(dbus_result, "(isssssss)", &result,
+ &sw, &hw, &rf, &product, &prl, &eri, &cp_chip);
g_variant_unref(dbus_result);
if (result != 0)
g_strlcpy((gchar *)data->szProductCode, product, TAPI_MISC_PRODUCT_CODE_LEN_MAX);
g_strlcpy((gchar *)data->szPrlVersion, prl, TAPI_MISC_PRL_ERI_VER_LEN_MAX);
g_strlcpy((gchar *)data->szEriVersion, eri, TAPI_MISC_PRL_ERI_VER_LEN_MAX);
+ g_strlcpy((gchar *)data->szCpChipset, cp_chip, TAPI_MISC_CP_CHIPSET_LEN_MAX);
OUT:
g_free(sw);
g_free(product);
g_free(prl);
g_free(eri);
+ g_free(cp_chip);
return data;
}