release tizen_2.0 beta
[framework/telephony/tel-plugin-socket_communicator.git] / plugin / src / socket_sms.c
index a2a105d..ccc97f8 100644 (file)
@@ -35,7 +35,7 @@
 #include <queue.h>
 #include <user_request.h>
 #include <util.h>
-#include <co_call.h>
+#include <co_sms.h>
 
 #include "sipc.h"
 #include "tapi_common.h"
@@ -43,9 +43,9 @@
 
 gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, TcorePlugin *plugin,  tapi_service_command_e cmd, gchar *data, void **outparam)
 {
-       struct _sipc_marshal_object *reqObj;
-       GSList *co_smslist = NULL;
-       CoreObject *co_sms = NULL;
+       struct _sipc_marshal_object *out_obj;
+       struct _sipc_marshal_object *in_obj;
+       gboolean result = TRUE;
        UserRequest *ur = NULL;
        struct tcore_user_info ui = { 0, 0, 0, NULL, 0, 0, NULL };
        TReturn ret = TCORE_RETURN_SUCCESS;
@@ -62,48 +62,45 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
        struct treq_sms_get_cb_config getCbConfig;
        struct treq_sms_set_cb_config setCbConfig = {0,};
        struct treq_sms_set_mem_status memStatus = {0,};
-       struct treq_sms_get_pref_brearer getPrefBrearer;
-       struct treq_sms_set_pref_brearer setPrefBrearer = {0,};
+       struct treq_sms_get_pref_bearer getPrefBearer;
+       struct treq_sms_set_pref_bearer setPrefBearer = {0,};
        struct treq_sms_set_delivery_report deliveryReport = {0,};
        struct treq_sms_set_msg_status msgStatus = {0,};
        struct treq_sms_get_params getParams = {0,};
        struct treq_sms_set_params setParams = {0,};
        struct treq_sms_get_paramcnt getParamCnt;
 
-       co_smslist = tcore_plugin_get_core_objects_bytype(plugin, CORE_OBJECT_TYPE_SMS);
-       if (!co_smslist) {
-               err("[tcore_SMS] plugin_get_core_objects_bytype is NULL");
-               return FALSE;
-       }
-
-       co_sms = (CoreObject *)co_smslist->data;
-       g_slist_free(co_smslist);
-
-       if (!co_sms) {
-               err("[tcore_SMS] co_sms is NULL !!!");
-               return FALSE;
+       in_obj = sipc_util_marshal_object_deserializer(data);
+       if (!in_obj) {
+               dbg("in_obj is NULL");
+               result = FALSE;
+               goto RETURN;
        }
 
        ur = tcore_user_request_new(comm, tcore_plugin_get_description(plugin)->name);
+       if (!ur) {
+               dbg("ur is NULL");
+               result = FALSE;
+               goto RETURN;
+       }
+       
        ui.channel_id = ch_id;
        ui.client_cmd = (unsigned int)cmd;
 
        tcore_user_request_set_user_info(ur, &ui);
 
-       reqObj = sipc_util_marshal_object_deserializer(data);
-
        switch (cmd) {
                case TAPI_SERVICE_SMS_SEND_UMTS_MSG: {
                        gchar *sca;
                        gchar *szData;
 
-                       sca = sipc_util_marshal_object_get_string(reqObj, "Sca");
+                       sca = sipc_util_marshal_object_get_string(in_obj, "Sca");
                        memcpy(&(sendUmtsMsg.msgDataPackage.sca[0]), sca, SMS_SMSP_ADDRESS_LEN);
-                       sendUmtsMsg.msgDataPackage.msgLength = sipc_util_marshal_object_get_int(reqObj, "MsgLength");
-                       szData = sipc_util_marshal_object_get_string(reqObj, "szData");
+                       sendUmtsMsg.msgDataPackage.msgLength = sipc_util_marshal_object_get_int(in_obj, "MsgLength");
+                       szData = sipc_util_marshal_object_get_string(in_obj, "szData");
                        memcpy(&(sendUmtsMsg.msgDataPackage.tpduData[0]), szData, SMS_SMDATA_SIZE_MAX + 1);
-                       sendUmtsMsg.more = sipc_util_marshal_object_get_int(reqObj, "More");
-                       
+                       sendUmtsMsg.more = sipc_util_marshal_object_get_int(in_obj, "More");
+
                        tcore_user_request_set_data(ur, sizeof(struct treq_sms_send_umts_msg), &sendUmtsMsg);
                        tcore_user_request_set_command(ur, TREQ_SMS_SEND_UMTS_MSG);
 
@@ -111,17 +108,18 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                        if (ret != TCORE_RETURN_SUCCESS) {
                                // api_err = TAPI_API_OPERATION_FAILED;
                                err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
-                       
+
                        }
                        break;
 
                case TAPI_SERVICE_SMS_SEND_CDMA_MSG: {
-                       
-                       cdmaMsg.more = sipc_util_marshal_object_get_int(reqObj, "More");
-                       cdmaMsg.cdmaMsgInfo.ParamMask = sipc_util_marshal_object_get_int(reqObj, "ParamMask");
-                       cdmaMsg.cdmaMsgInfo.MsgType = sipc_util_marshal_object_get_int(reqObj, "MsgType");
-                       
+
+                       cdmaMsg.more = sipc_util_marshal_object_get_int(in_obj, "More");
+                       cdmaMsg.cdmaMsgInfo.ParamMask = sipc_util_marshal_object_get_int(in_obj, "ParamMask");
+                       cdmaMsg.cdmaMsgInfo.MsgType = sipc_util_marshal_object_get_int(in_obj, "MsgType");
+
                        switch(cdmaMsg.cdmaMsgInfo.MsgType)
                        {
                                case SMS_MESSAGETYPE_SUBMIT: {
@@ -129,152 +127,153 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                                        gchar *dstSubAddr_szAddress;
                                        gchar *szData;
                                        gchar *callBackNumer_szAddress;
-                                       
+
                                        /* Origination address */
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.Digit = sipc_util_marshal_object_get_int(reqObj, "DstAddr.Digit");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.NumberMode = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberMode"); 
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.NumberType = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberType"); 
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.NumberPlan = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberPlan"); 
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.szAddrLength = sipc_util_marshal_object_get_char(reqObj, "DstAddr.szAddrLength"); 
-                                       dstAddr_szAddress = sipc_util_marshal_object_get_string(reqObj, "DstAddr.szAddress"); 
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.Digit = sipc_util_marshal_object_get_int(in_obj, "DstAddr.Digit");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.NumberMode = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberMode");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.NumberType = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberType");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.NumberPlan = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberPlan");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.szAddrLength = sipc_util_marshal_object_get_char(in_obj, "DstAddr.szAddrLength");
+                                       dstAddr_szAddress = sipc_util_marshal_object_get_string(in_obj, "DstAddr.szAddress");
                                        memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.szAddress[0]), dstAddr_szAddress, SMS_MAXLENGTH_SMS_ADDRESS);
-                                       
+
                                        /* Origination subaddress */
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstSubAddr.SubType = sipc_util_marshal_object_get_int(reqObj, "DstSubAddr.SubType");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstSubAddr.Odd = sipc_util_marshal_object_get_char(reqObj, "DstSubAddr.Odd"); 
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstSubAddr.szAddrLength = sipc_util_marshal_object_get_char(reqObj, "DstSubAddr.szAddrLength"); 
-                                       dstSubAddr_szAddress = sipc_util_marshal_object_get_string(reqObj, "DstSubAddr.szAddress");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstSubAddr.SubType = sipc_util_marshal_object_get_int(in_obj, "DstSubAddr.SubType");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstSubAddr.Odd = sipc_util_marshal_object_get_char(in_obj, "DstSubAddr.Odd");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstSubAddr.szAddrLength = sipc_util_marshal_object_get_char(in_obj, "DstSubAddr.szAddrLength");
+                                       dstSubAddr_szAddress = sipc_util_marshal_object_get_string(in_obj, "DstSubAddr.szAddress");
                                        memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstSubAddr.szAddress[0]), dstSubAddr_szAddress, SMS_MAXLENGTH_SMS_ADDRESS);
-                                       
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.TeleService = sipc_util_marshal_object_get_int(reqObj, "TeleService");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.bBearerReplySeqRequest = sipc_util_marshal_object_get_int(reqObj, "bBearerReplySeqRequest");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ReplySeqNumber = sipc_util_marshal_object_get_char(reqObj, "ReplySeqNumber");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.MsgId = sipc_util_marshal_object_get_int(reqObj, "MsgId");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.MsgEncoding = sipc_util_marshal_object_get_int(reqObj, "MsgEncoding");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.MsgLength = sipc_util_marshal_object_get_int(reqObj, "MsgLength");
-                                       szData = sipc_util_marshal_object_get_string(reqObj, "szData");
+
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.TeleService = sipc_util_marshal_object_get_int(in_obj, "TeleService");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.bBearerReplySeqRequest = sipc_util_marshal_object_get_int(in_obj, "bBearerReplySeqRequest");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ReplySeqNumber = sipc_util_marshal_object_get_char(in_obj, "ReplySeqNumber");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.MsgId = sipc_util_marshal_object_get_int(in_obj, "MsgId");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.MsgEncoding = sipc_util_marshal_object_get_int(in_obj, "MsgEncoding");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.MsgLength = sipc_util_marshal_object_get_int(in_obj, "MsgLength");
+                                       szData = sipc_util_marshal_object_get_string(in_obj, "szData");
                                        memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.szData[0]), szData, SMS_MAXLENGTH_SMS_MO_USER_DATA);
 
                                        /* Validity period - Absolute */
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.year = sipc_util_marshal_object_get_int(reqObj, "ValidityPeriodAbs.year");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.month = sipc_util_marshal_object_get_int(reqObj, "ValidityPeriodAbs.month");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.day = sipc_util_marshal_object_get_int(reqObj, "ValidityPeriodAbs.day");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.hours = sipc_util_marshal_object_get_int(reqObj, "ValidityPeriodAbs.hours");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.minutes = sipc_util_marshal_object_get_int(reqObj, "ValidityPeriodAbs.minutes");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.seconds = sipc_util_marshal_object_get_int(reqObj, "ValidityPeriodAbs.seconds");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.year = sipc_util_marshal_object_get_int(in_obj, "ValidityPeriodAbs.year");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.month = sipc_util_marshal_object_get_int(in_obj, "ValidityPeriodAbs.month");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.day = sipc_util_marshal_object_get_int(in_obj, "ValidityPeriodAbs.day");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.hours = sipc_util_marshal_object_get_int(in_obj, "ValidityPeriodAbs.hours");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.minutes = sipc_util_marshal_object_get_int(in_obj, "ValidityPeriodAbs.minutes");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.seconds = sipc_util_marshal_object_get_int(in_obj, "ValidityPeriodAbs.seconds");
 
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodRel = sipc_util_marshal_object_get_char(reqObj, "ValidityPeriodRel");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodRel = sipc_util_marshal_object_get_char(in_obj, "ValidityPeriodRel");
 
                                        /* Deferred delivery time - Absolute (not supported) */
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.year = sipc_util_marshal_object_get_int(reqObj, "DeferredDelTimeAbs.year");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.month = sipc_util_marshal_object_get_int(reqObj, "DeferredDelTimeAbs.month");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.day = sipc_util_marshal_object_get_int(reqObj, "DeferredDelTimeAbs.day");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.hours = sipc_util_marshal_object_get_int(reqObj, "DeferredDelTimeAbs.hours");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.minutes = sipc_util_marshal_object_get_int(reqObj, "DeferredDelTimeAbs.minutes");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.seconds = sipc_util_marshal_object_get_int(reqObj, "DeferredDelTimeAbs.seconds");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.year = sipc_util_marshal_object_get_int(in_obj, "DeferredDelTimeAbs.year");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.month = sipc_util_marshal_object_get_int(in_obj, "DeferredDelTimeAbs.month");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.day = sipc_util_marshal_object_get_int(in_obj, "DeferredDelTimeAbs.day");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.hours = sipc_util_marshal_object_get_int(in_obj, "DeferredDelTimeAbs.hours");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.minutes = sipc_util_marshal_object_get_int(in_obj, "DeferredDelTimeAbs.minutes");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.seconds = sipc_util_marshal_object_get_int(in_obj, "DeferredDelTimeAbs.seconds");
 
                                        /* Deferred delivery time - Relative (not supported) */
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeRel = sipc_util_marshal_object_get_char(reqObj, "DeferredDelTimeRel");
-                                       
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.Priority = sipc_util_marshal_object_get_int(reqObj, "Priority");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.Privacy = sipc_util_marshal_object_get_int(reqObj, "Privacy");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.bUserAckRequest = sipc_util_marshal_object_get_int(reqObj, "bUserAckRequest");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.bDeliveryAckRequest = sipc_util_marshal_object_get_int(reqObj, "bDeliveryAckRequest");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.AlertPriority= sipc_util_marshal_object_get_int(reqObj, "AlertPriority");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.MsgLang= sipc_util_marshal_object_get_int(reqObj, "MsgLang");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeRel = sipc_util_marshal_object_get_char(in_obj, "DeferredDelTimeRel");
+
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.Priority = sipc_util_marshal_object_get_int(in_obj, "Priority");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.Privacy = sipc_util_marshal_object_get_int(in_obj, "Privacy");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.bUserAckRequest = sipc_util_marshal_object_get_int(in_obj, "bUserAckRequest");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.bDeliveryAckRequest = sipc_util_marshal_object_get_int(in_obj, "bDeliveryAckRequest");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.AlertPriority= sipc_util_marshal_object_get_int(in_obj, "AlertPriority");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.MsgLang= sipc_util_marshal_object_get_int(in_obj, "MsgLang");
 
                                        /* Callback number address */
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.Digit = sipc_util_marshal_object_get_int(reqObj, "CallBackNumer.Digit");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.NumberMode = sipc_util_marshal_object_get_int(reqObj, "CallBackNumer.NumberMode");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.NumberType = sipc_util_marshal_object_get_int(reqObj, "CallBackNumer.NumberType");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.NumberPlan = sipc_util_marshal_object_get_int(reqObj, "CallBackNumer.NumberPlan");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.szAddrLength = sipc_util_marshal_object_get_char(reqObj, "CallBackNumer.szAddrLength");
-                                       callBackNumer_szAddress = sipc_util_marshal_object_get_string(reqObj, "CallBackNumer.szAddress");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.Digit = sipc_util_marshal_object_get_int(in_obj, "CallBackNumer.Digit");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.NumberMode = sipc_util_marshal_object_get_int(in_obj, "CallBackNumer.NumberMode");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.NumberType = sipc_util_marshal_object_get_int(in_obj, "CallBackNumer.NumberType");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.NumberPlan = sipc_util_marshal_object_get_int(in_obj, "CallBackNumer.NumberPlan");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.szAddrLength = sipc_util_marshal_object_get_char(in_obj, "CallBackNumer.szAddrLength");
+                                       callBackNumer_szAddress = sipc_util_marshal_object_get_string(in_obj, "CallBackNumer.szAddress");
                                        memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.szAddress[0]), callBackNumer_szAddress, SMS_MAXLENGTH_SMS_ADDRESS);
 
                                        }
                                        break;
-                                       
+
                                case SMS_MESSAGETYPE_CANCEL: {
                                        gchar *dstAddr_szAddress;
                                        gchar *dstSubAddr_szAddress;
-                                       
+
                                        /* Origination address */
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.Digit = sipc_util_marshal_object_get_int(reqObj, "DstAddr.Digit");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.NumberMode = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberMode"); 
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.NumberType = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberType"); 
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.NumberPlan = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberPlan"); 
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.szAddrLength = sipc_util_marshal_object_get_char(reqObj, "DstAddr.szAddrLength"); 
-                                       dstAddr_szAddress = sipc_util_marshal_object_get_string(reqObj, "DstAddr.szAddress"); 
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.Digit = sipc_util_marshal_object_get_int(in_obj, "DstAddr.Digit");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.NumberMode = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberMode");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.NumberType = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberType");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.NumberPlan = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberPlan");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.szAddrLength = sipc_util_marshal_object_get_char(in_obj, "DstAddr.szAddrLength");
+                                       dstAddr_szAddress = sipc_util_marshal_object_get_string(in_obj, "DstAddr.szAddress");
                                        memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.szAddress[0]), dstAddr_szAddress, SMS_MAXLENGTH_SMS_ADDRESS);
-                                       
+
                                        /* Origination subaddress */
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstSubAddr.SubType = sipc_util_marshal_object_get_int(reqObj, "DstSubAddr.SubType");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstSubAddr.Odd = sipc_util_marshal_object_get_char(reqObj, "DstSubAddr.Odd"); 
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstSubAddr.szAddrLength = sipc_util_marshal_object_get_char(reqObj, "DstSubAddr.szAddrLength"); 
-                                       dstSubAddr_szAddress = sipc_util_marshal_object_get_string(reqObj, "DstSubAddr.szAddress");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstSubAddr.SubType = sipc_util_marshal_object_get_int(in_obj, "DstSubAddr.SubType");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstSubAddr.Odd = sipc_util_marshal_object_get_char(in_obj, "DstSubAddr.Odd");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstSubAddr.szAddrLength = sipc_util_marshal_object_get_char(in_obj, "DstSubAddr.szAddrLength");
+                                       dstSubAddr_szAddress = sipc_util_marshal_object_get_string(in_obj, "DstSubAddr.szAddress");
                                        memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstSubAddr.szAddress[0]), dstSubAddr_szAddress, SMS_MAXLENGTH_SMS_ADDRESS);
-                                       
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.TeleService = sipc_util_marshal_object_get_int(reqObj, "TeleService");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.bBearerReplySeqRequest = sipc_util_marshal_object_get_int(reqObj, "bBearerReplySeqRequest");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.ReplySeqNumber = sipc_util_marshal_object_get_char(reqObj, "ReplySeqNumber");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.MsgId = sipc_util_marshal_object_get_int(reqObj, "MsgId");
+
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.TeleService = sipc_util_marshal_object_get_int(in_obj, "TeleService");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.bBearerReplySeqRequest = sipc_util_marshal_object_get_int(in_obj, "bBearerReplySeqRequest");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.ReplySeqNumber = sipc_util_marshal_object_get_char(in_obj, "ReplySeqNumber");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outCancel.MsgId = sipc_util_marshal_object_get_int(in_obj, "MsgId");
 
                                        }
                                        break;
-                                       
+
                                case SMS_MESSAGETYPE_USER_ACK: {
                                        gchar *dstAddr_szAddress;
                                        gchar *dstSubAddr_szAddress;
                                        gchar *szData;
-                                       
+
                                        /* Origination address */
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.Digit = sipc_util_marshal_object_get_int(reqObj, "DstAddr.Digit");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.NumberMode = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberMode"); 
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.NumberType = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberType"); 
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.NumberPlan = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberPlan"); 
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.szAddrLength = sipc_util_marshal_object_get_char(reqObj, "DstAddr.szAddrLength"); 
-                                       dstAddr_szAddress = sipc_util_marshal_object_get_string(reqObj, "DstAddr.szAddress"); 
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.Digit = sipc_util_marshal_object_get_int(in_obj, "DstAddr.Digit");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.NumberMode = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberMode");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.NumberType = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberType");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.NumberPlan = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberPlan");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.szAddrLength = sipc_util_marshal_object_get_char(in_obj, "DstAddr.szAddrLength");
+                                       dstAddr_szAddress = sipc_util_marshal_object_get_string(in_obj, "DstAddr.szAddress");
                                        memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.szAddress[0]), dstAddr_szAddress, SMS_MAXLENGTH_SMS_ADDRESS);
-                                       
+
                                        /* Origination subaddress */
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstSubAddr.SubType = sipc_util_marshal_object_get_int(reqObj, "DstSubAddr.SubType");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstSubAddr.Odd = sipc_util_marshal_object_get_char(reqObj, "DstSubAddr.Odd"); 
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstSubAddr.szAddrLength = sipc_util_marshal_object_get_char(reqObj, "DstSubAddr.szAddrLength"); 
-                                       dstSubAddr_szAddress = sipc_util_marshal_object_get_string(reqObj, "DstSubAddr.szAddress");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstSubAddr.SubType = sipc_util_marshal_object_get_int(in_obj, "DstSubAddr.SubType");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstSubAddr.Odd = sipc_util_marshal_object_get_char(in_obj, "DstSubAddr.Odd");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstSubAddr.szAddrLength = sipc_util_marshal_object_get_char(in_obj, "DstSubAddr.szAddrLength");
+                                       dstSubAddr_szAddress = sipc_util_marshal_object_get_string(in_obj, "DstSubAddr.szAddress");
                                        memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstSubAddr.szAddress[0]), dstSubAddr_szAddress, SMS_MAXLENGTH_SMS_ADDRESS);
-                                       
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.TeleService = sipc_util_marshal_object_get_int(reqObj, "TeleService");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.bBearerReplySeqRequest = sipc_util_marshal_object_get_int(reqObj, "bBearerReplySeqRequest");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.ReplySeqNumber = sipc_util_marshal_object_get_char(reqObj, "ReplySeqNumber");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.MsgId = sipc_util_marshal_object_get_int(reqObj, "MsgId");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.MsgEncoding = sipc_util_marshal_object_get_int(reqObj, "MsgEncoding");
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.MsgLength = sipc_util_marshal_object_get_int(reqObj, "MsgLength");
-                                       szData = sipc_util_marshal_object_get_string(reqObj, "szData");
+
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.TeleService = sipc_util_marshal_object_get_int(in_obj, "TeleService");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.bBearerReplySeqRequest = sipc_util_marshal_object_get_int(in_obj, "bBearerReplySeqRequest");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.ReplySeqNumber = sipc_util_marshal_object_get_char(in_obj, "ReplySeqNumber");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.MsgId = sipc_util_marshal_object_get_int(in_obj, "MsgId");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.MsgEncoding = sipc_util_marshal_object_get_int(in_obj, "MsgEncoding");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.MsgLength = sipc_util_marshal_object_get_int(in_obj, "MsgLength");
+                                       szData = sipc_util_marshal_object_get_string(in_obj, "szData");
                                        memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outAck.szData[0]), szData, SMS_MAXLENGTH_SMS_MO_USER_DATA);
-                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.UserResponseCode = sipc_util_marshal_object_get_char(reqObj, "UserResponseCode");
+                                       cdmaMsg.cdmaMsgInfo.MsgData.outAck.UserResponseCode = sipc_util_marshal_object_get_char(in_obj, "UserResponseCode");
 
                                        }
                                        break;
                                default:
                                        break;
                        }
-                       
+
                        tcore_user_request_set_data(ur, sizeof(struct treq_sms_send_cdma_msg), &cdmaMsg);
                        tcore_user_request_set_command(ur, TREQ_SMS_SEND_CDMA_MSG);
 
                        ret = tcore_communicator_dispatch_request(comm, ur);
                        if (ret != TCORE_RETURN_SUCCESS) {
                                // api_err = TAPI_API_OPERATION_FAILED;
-                               err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);                               
+                               err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
-                       
+
                        }
                        break;
 
                case TAPI_SERVICE_SMS_READ_MSG: {
-                       
-                       readMsg.index = sipc_util_marshal_object_get_int(reqObj, "Index");
+
+                       readMsg.index = sipc_util_marshal_object_get_int(in_obj, "Index");
 
                        tcore_user_request_set_data(ur, sizeof(struct treq_sms_read_msg), &readMsg);
                        tcore_user_request_set_command(ur, TREQ_SMS_READ_MSG);
@@ -282,7 +281,8 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                        ret = tcore_communicator_dispatch_request(comm, ur);
                        if (ret != TCORE_RETURN_SUCCESS) {
                                // api_err = TAPI_API_OPERATION_FAILED;
-                               err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);                               
+                               err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
 
                        }
@@ -292,12 +292,12 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                        gchar *sca;
                        gchar *szData;
 
-                       saveMsg.simIndex = sipc_util_marshal_object_get_int(reqObj, "Index");
-                       saveMsg.msgStatus = sipc_util_marshal_object_get_int(reqObj, "MsgStatus");
-                       sca = sipc_util_marshal_object_get_string(reqObj, "Sca");
+                       saveMsg.simIndex = sipc_util_marshal_object_get_int(in_obj, "Index");
+                       saveMsg.msgStatus = sipc_util_marshal_object_get_int(in_obj, "MsgStatus");
+                       sca = sipc_util_marshal_object_get_string(in_obj, "Sca");
                        memcpy(&(saveMsg.msgDataPackage.sca[0]), sca, SMS_SMSP_ADDRESS_LEN);
-                       saveMsg.msgDataPackage.msgLength = sipc_util_marshal_object_get_int(reqObj, "MsgLength");
-                       szData = sipc_util_marshal_object_get_string(reqObj, "szData");
+                       saveMsg.msgDataPackage.msgLength = sipc_util_marshal_object_get_int(in_obj, "MsgLength");
+                       szData = sipc_util_marshal_object_get_string(in_obj, "szData");
                        memcpy(saveMsg.msgDataPackage.tpduData, szData, SMS_SMDATA_SIZE_MAX + 1);
 
                        tcore_user_request_set_data(ur, sizeof(struct treq_sms_save_msg), &saveMsg);
@@ -306,7 +306,8 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                        ret = tcore_communicator_dispatch_request(comm, ur);
                        if (ret != TCORE_RETURN_SUCCESS) {
                                // api_err = TAPI_API_OPERATION_FAILED;
-                               err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);                               
+                               err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
 
                        }
@@ -314,15 +315,16 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
 
                case TAPI_SERVICE_SMS_DELETE_MSG: {
 
-                       deleteMsg.index = sipc_util_marshal_object_get_int(reqObj, "Index");
-                               
+                       deleteMsg.index = sipc_util_marshal_object_get_int(in_obj, "Index");
+
                        tcore_user_request_set_data(ur, sizeof(struct treq_sms_delete_msg), &deleteMsg);
                        tcore_user_request_set_command(ur, TREQ_SMS_DELETE_MSG);
 
                        ret = tcore_communicator_dispatch_request(comm, ur);
                        if (ret != TCORE_RETURN_SUCCESS) {
                                // api_err = TAPI_API_OPERATION_FAILED;
-                               err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);                               
+                               err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
 
                        }
@@ -335,14 +337,15 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                        ret = tcore_communicator_dispatch_request(comm, ur);
                        if (ret != TCORE_RETURN_SUCCESS) {
                                // api_err = TAPI_API_OPERATION_FAILED;
-                               err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);                               
+                               err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
 
                        break;
 
                case TAPI_SERVICE_SMS_GET_SCA: {
-                       
-                       getSca.index = sipc_util_marshal_object_get_int(reqObj, "Index");                       
+
+                       getSca.index = sipc_util_marshal_object_get_int(in_obj, "Index");
 
                        tcore_user_request_set_data(ur, sizeof(struct treq_sms_get_sca), &getSca);
                        tcore_user_request_set_command(ur, TREQ_SMS_GET_SCA);
@@ -350,30 +353,33 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                        ret = tcore_communicator_dispatch_request(comm, ur);
                        if (ret != TCORE_RETURN_SUCCESS) {
                                // api_err = TAPI_API_OPERATION_FAILED;
-                               err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);                               
+                               err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
 
                        }
                        break;
 
                case TAPI_SERVICE_SMS_SET_SCA: {
-                       gchar *szDiallingNum;                   
+                       gchar *szDiallingNum;
 
-                       setSca.index = sipc_util_marshal_object_get_int(reqObj, "Index");
-                       setSca.scaInfo.dialNumLen = sipc_util_marshal_object_get_int(reqObj, "DialNumLen");
-                       setSca.scaInfo.typeOfNum = sipc_util_marshal_object_get_int(reqObj, "Ton");
-                       setSca.scaInfo.numPlanId = sipc_util_marshal_object_get_int(reqObj, "Npi");
-                       szDiallingNum = sipc_util_marshal_object_get_string(reqObj, "szDiallingNum");
+                       setSca.index = sipc_util_marshal_object_get_int(in_obj, "Index");
+                       setSca.scaInfo.dialNumLen = sipc_util_marshal_object_get_int(in_obj, "DialNumLen");
+                       setSca.scaInfo.typeOfNum = sipc_util_marshal_object_get_int(in_obj, "Ton");
+                       setSca.scaInfo.numPlanId = sipc_util_marshal_object_get_int(in_obj, "Npi");
+                       szDiallingNum = sipc_util_marshal_object_get_string(in_obj, "szDiallingNum");
                        memcpy(&(setSca.scaInfo.diallingNum[0]), szDiallingNum, SMS_SMSP_ADDRESS_LEN + 1);
 
                        if ((setSca.scaInfo.dialNumLen <= 0) || (setSca.scaInfo.dialNumLen > (SMS_MAX_SMS_SERVICE_CENTER_ADDR + 1)))
                        {
                                err("[tcore_SMS] TAPI_API_INVALID_INPUT !!!");
+                               result = FALSE;
                        }
                        else if(setSca.index != 0)
                        {
                                err("[tcore_SMS] Index except 0 is supported");
                                // api_err = TAPI_API_NOT_SUPPORTED;
+                               result = FALSE;
                        }
                        else
                        {
@@ -384,6 +390,7 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                                if (ret != TCORE_RETURN_SUCCESS) {
                                        //api_err = TAPI_API_OPERATION_FAILED;
                                        err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                                       result = FALSE;
                                }
                        }
 
@@ -398,18 +405,19 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                        if (ret != TCORE_RETURN_SUCCESS) {
                                //api_err = TAPI_API_OPERATION_FAILED;
                                err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
 
                        break;
 
                case TAPI_SERVICE_SMS_SET_CB_CONFIG: {
-                       gchar *msgIDs;                  
+                       gchar *msgIDs;
 
-                       setCbConfig.bCBEnabled = sipc_util_marshal_object_get_int(reqObj, "bCBEnabled");
-                       setCbConfig.selectedId = sipc_util_marshal_object_get_char(reqObj, "SelectedId");
-                       setCbConfig.msgIdMaxCount = sipc_util_marshal_object_get_char(reqObj, "MsgIdMaxCount");
-                       setCbConfig.msgIdCount = sipc_util_marshal_object_get_int(reqObj, "MsgIdCount");
-                       msgIDs = sipc_util_marshal_object_get_string(reqObj, "MsgIDs");
+                       setCbConfig.bCBEnabled = sipc_util_marshal_object_get_int(in_obj, "bCBEnabled");
+                       setCbConfig.selectedId = sipc_util_marshal_object_get_char(in_obj, "SelectedId");
+                       setCbConfig.msgIdMaxCount = sipc_util_marshal_object_get_char(in_obj, "MsgIdMaxCount");
+                       setCbConfig.msgIdCount = sipc_util_marshal_object_get_int(in_obj, "MsgIdCount");
+                       msgIDs = sipc_util_marshal_object_get_string(in_obj, "MsgIDs");
                        memcpy(&(setCbConfig.msgIDs[0]), msgIDs, SMS_GSM_SMS_CBMI_LIST_SIZE_MAX);
 
                        tcore_user_request_set_data(ur, sizeof(struct treq_sms_set_cb_config), &setCbConfig);
@@ -419,6 +427,7 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                        if (ret != TCORE_RETURN_SUCCESS) {
                                //api_err = TAPI_API_OPERATION_FAILED;
                                err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
 
                        }
@@ -426,7 +435,7 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
 
                case TAPI_SERVICE_SMS_SET_MEM_STATUS: {
 
-                       memStatus.memory_status = sipc_util_marshal_object_get_int(reqObj, "memoryStatus");
+                       memStatus.memory_status = sipc_util_marshal_object_get_int(in_obj, "memoryStatus");
 
                        tcore_user_request_set_data(ur, sizeof(struct treq_sms_set_mem_status), &memStatus);
                        tcore_user_request_set_command(ur, TREQ_SMS_SET_MEM_STATUS);
@@ -435,34 +444,37 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                        if (ret != TCORE_RETURN_SUCCESS) {
                                //api_err = TAPI_API_OPERATION_FAILED;
                                err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
 
                        }
                        break;
 
                case TAPI_SERVICE_SMS_GET_PREF_BEARER:
-                       tcore_user_request_set_data(ur, sizeof(struct treq_sms_get_pref_brearer), &getPrefBrearer);
+                       tcore_user_request_set_data(ur, sizeof(struct treq_sms_get_pref_bearer), &getPrefBearer);
                        tcore_user_request_set_command(ur, TREQ_SMS_GET_PREF_BEARER);
 
                        ret = tcore_communicator_dispatch_request(comm, ur);
                        if (ret != TCORE_RETURN_SUCCESS) {
                                //api_err = TAPI_API_OPERATION_FAILED;
                                err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
 
                        break;
 
                case TAPI_SERVICE_SMS_SET_PREF_BEARER: {
 
-                       setPrefBrearer.svc = sipc_util_marshal_object_get_int(reqObj, "BearerType");            
+                       setPrefBearer.svc = sipc_util_marshal_object_get_int(in_obj, "BearerType");             
 
-                       tcore_user_request_set_data(ur, sizeof(struct treq_sms_set_pref_brearer), &setPrefBrearer);
+                       tcore_user_request_set_data(ur, sizeof(struct treq_sms_set_pref_bearer), &setPrefBearer);
                        tcore_user_request_set_command(ur, TREQ_SMS_SET_PREF_BEARER);
 
                        ret = tcore_communicator_dispatch_request(comm, ur);
                        if (ret != TCORE_RETURN_SUCCESS) {
                                //api_err = TAPI_API_OPERATION_FAILED;
                                err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
 
                        }
@@ -471,13 +483,13 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                case TAPI_SERVICE_SMS_SET_DELIVERY_REPORT: {
                        gchar *sca;
                        gchar *szData;
-                       
-                       sca = sipc_util_marshal_object_get_string(reqObj, "Sca");
+
+                       sca = sipc_util_marshal_object_get_string(in_obj, "Sca");
                        memcpy(&(deliveryReport.dataInfo.sca[0]), sca, SMS_SMSP_ADDRESS_LEN);
-                       deliveryReport.dataInfo.msgLength = sipc_util_marshal_object_get_int(reqObj, "MsgLength");
-                       szData = sipc_util_marshal_object_get_string(reqObj, "szData");
+                       deliveryReport.dataInfo.msgLength = sipc_util_marshal_object_get_int(in_obj, "MsgLength");
+                       szData = sipc_util_marshal_object_get_string(in_obj, "szData");
                        memcpy(&(deliveryReport.dataInfo.tpduData[0]), szData, SMS_SMDATA_SIZE_MAX + 1);
-                       deliveryReport.rspType = sipc_util_marshal_object_get_int(reqObj, "RPCause");
+                       deliveryReport.rspType = sipc_util_marshal_object_get_int(in_obj, "RPCause");
 
                        tcore_user_request_set_data(ur, sizeof(struct treq_sms_set_delivery_report), &deliveryReport);
                        tcore_user_request_set_command(ur, TREQ_SMS_SET_DELIVERY_REPORT);
@@ -486,16 +498,17 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                        if (ret != TCORE_RETURN_SUCCESS) {
                                //api_err = TAPI_API_OPERATION_FAILED;
                                err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
-                       
+
                        }
                        break;
 
                case TAPI_SERVICE_SMS_SET_MSG_STATUS: {
 
-                       msgStatus.index = sipc_util_marshal_object_get_int(reqObj, "Index");
-                       msgStatus.msgStatus = sipc_util_marshal_object_get_int(reqObj, "MsgStatus");
-                       
+                       msgStatus.index = sipc_util_marshal_object_get_int(in_obj, "Index");
+                       msgStatus.msgStatus = sipc_util_marshal_object_get_int(in_obj, "MsgStatus");
+
                        tcore_user_request_set_data(ur, sizeof(struct treq_sms_set_msg_status), &msgStatus);
                        tcore_user_request_set_command(ur, TREQ_SMS_SET_MSG_STATUS);
 
@@ -503,6 +516,7 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                        if (ret != TCORE_RETURN_SUCCESS) {
                                //api_err = TAPI_API_OPERATION_FAILED;
                                err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
 
                        }
@@ -510,7 +524,7 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
 
                case TAPI_SERVICE_SMS_GET_PARAMS: {
 
-                       getParams.index = sipc_util_marshal_object_get_int(reqObj, "Index");
+                       getParams.index = sipc_util_marshal_object_get_int(in_obj, "Index");
 
                        tcore_user_request_set_data(ur, sizeof(struct treq_sms_get_params), &getParams);
                        tcore_user_request_set_command(ur, TREQ_SMS_GET_PARAMS);
@@ -519,6 +533,7 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                        if (ret != TCORE_RETURN_SUCCESS) {
                                //api_err = TAPI_API_OPERATION_FAILED;
                                err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
 
                        }
@@ -529,29 +544,29 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                        gchar   *destAddr_szDiallingNum;
                        gchar   *svcCntrAddr_szDiallingNum;
 
-                       setParams.params.recordIndex = sipc_util_marshal_object_get_char(reqObj, "RecordIndex");
-                       setParams.params.recordLen = sipc_util_marshal_object_get_char(reqObj, "RecordLen");
-                       setParams.params.alphaIdLen = sipc_util_marshal_object_get_int(reqObj, "AlphaIdLen");
-                       szAlphaId = sipc_util_marshal_object_get_string(reqObj, "szAlphaId");
+                       setParams.params.recordIndex = sipc_util_marshal_object_get_char(in_obj, "RecordIndex");
+                       setParams.params.recordLen = sipc_util_marshal_object_get_char(in_obj, "RecordLen");
+                       setParams.params.alphaIdLen = sipc_util_marshal_object_get_int(in_obj, "AlphaIdLen");
+                       szAlphaId = sipc_util_marshal_object_get_string(in_obj, "szAlphaId");
                        memcpy(&(setParams.params.szAlphaId[0]), szAlphaId, SMS_SMSP_ALPHA_ID_LEN_MAX + 1);
-                       setParams.params.paramIndicator = sipc_util_marshal_object_get_char(reqObj, "ParamIndicator");
-                       
-                       setParams.params.tpDestAddr.dialNumLen = sipc_util_marshal_object_get_int(reqObj, "DestAddr.DialNumLen");
-                       setParams.params.tpDestAddr.typeOfNum = sipc_util_marshal_object_get_int(reqObj, "DestAddr.Ton");
-                       setParams.params.tpDestAddr.numPlanId = sipc_util_marshal_object_get_int(reqObj, "DestAddr.Npi");
-                       destAddr_szDiallingNum = sipc_util_marshal_object_get_string(reqObj, "DestAddr.szDiallingNum");
+                       setParams.params.paramIndicator = sipc_util_marshal_object_get_char(in_obj, "ParamIndicator");
+
+                       setParams.params.tpDestAddr.dialNumLen = sipc_util_marshal_object_get_int(in_obj, "DestAddr.DialNumLen");
+                       setParams.params.tpDestAddr.typeOfNum = sipc_util_marshal_object_get_int(in_obj, "DestAddr.Ton");
+                       setParams.params.tpDestAddr.numPlanId = sipc_util_marshal_object_get_int(in_obj, "DestAddr.Npi");
+                       destAddr_szDiallingNum = sipc_util_marshal_object_get_string(in_obj, "DestAddr.szDiallingNum");
                        memcpy(&(setParams.params.tpDestAddr.diallingNum[0]), destAddr_szDiallingNum, SMS_SMSP_ADDRESS_LEN + 1);
-                       
-                       setParams.params.tpSvcCntrAddr.dialNumLen = sipc_util_marshal_object_get_int(reqObj, "SvcCntrAddr.DialNumLen");
-                       setParams.params.tpSvcCntrAddr.typeOfNum = sipc_util_marshal_object_get_int(reqObj, "SvcCntrAddr.Ton");
-                       setParams.params.tpSvcCntrAddr.numPlanId = sipc_util_marshal_object_get_int(reqObj, "SvcCntrAddr.Npi");
-                       svcCntrAddr_szDiallingNum = sipc_util_marshal_object_get_string(reqObj, "SvcCntrAddr.szDiallingNum");
+
+                       setParams.params.tpSvcCntrAddr.dialNumLen = sipc_util_marshal_object_get_int(in_obj, "SvcCntrAddr.DialNumLen");
+                       setParams.params.tpSvcCntrAddr.typeOfNum = sipc_util_marshal_object_get_int(in_obj, "SvcCntrAddr.Ton");
+                       setParams.params.tpSvcCntrAddr.numPlanId = sipc_util_marshal_object_get_int(in_obj, "SvcCntrAddr.Npi");
+                       svcCntrAddr_szDiallingNum = sipc_util_marshal_object_get_string(in_obj, "SvcCntrAddr.szDiallingNum");
                        memcpy(&(setParams.params.tpSvcCntrAddr.diallingNum[0]), svcCntrAddr_szDiallingNum, SMS_SMSP_ADDRESS_LEN + 1);
 
-                       setParams.params.tpProtocolId = sipc_util_marshal_object_get_int(reqObj, "ProtocolId");
-                       setParams.params.tpDataCodingScheme = sipc_util_marshal_object_get_int(reqObj, "DataCodingScheme");
-                       setParams.params.tpValidityPeriod = sipc_util_marshal_object_get_int(reqObj, "ValidityPeriod");
-                       
+                       setParams.params.tpProtocolId = sipc_util_marshal_object_get_int(in_obj, "ProtocolId");
+                       setParams.params.tpDataCodingScheme = sipc_util_marshal_object_get_int(in_obj, "DataCodingScheme");
+                       setParams.params.tpValidityPeriod = sipc_util_marshal_object_get_int(in_obj, "ValidityPeriod");
+
                        tcore_user_request_set_data(ur, sizeof(struct treq_sms_set_params), &setParams);
                        tcore_user_request_set_command(ur, TREQ_SMS_SET_PARAMS);
 
@@ -559,6 +574,7 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                        if (ret != TCORE_RETURN_SUCCESS) {
                                //api_err = TAPI_API_OPERATION_FAILED;
                                err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
 
                        }
@@ -572,6 +588,7 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                        if (ret != TCORE_RETURN_SUCCESS) {
                                //api_err = TAPI_API_OPERATION_FAILED;
                                err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret);
+                               result = FALSE;
                        }
 
                        break;
@@ -592,11 +609,31 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore
                default:
                        //api_err = TAPI_API_NOT_SUPPORTED;
                        err("[tcore_SMS] NOT support command  [0x%x] !!!", cmd);
+                       result = FALSE;
                        break;
        }
 
        dbg("[tcore_SMS] request command[0x%x], ret = 0x%x", cmd, ret);
 
+RETURN:
+       sipc_util_marshal_object_destory(in_obj);
+       out_obj = sipc_util_marshal_object_create();
+       sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+
+       dbg("result = %d", result);
+
+       *outparam = sipc_util_marshal_object_serializer(out_obj);
+       sipc_util_marshal_object_destory(out_obj);
+
+       if (result == FALSE) {
+               return FALSE;
+       }
+
+       ret = tcore_communicator_dispatch_request(comm, ur);
+       if (ret != TCORE_RETURN_SUCCESS) {
+               return FALSE;
+       }
+
        return TRUE;
 }
 
@@ -626,7 +663,7 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc
 
        dbg("[tcore_SMS] application channel id(%d), Command = [0x%x], data_len = %d", ui->channel_id, command, data_len);
        hdr.cmd = (tapi_service_command_e)ui->client_cmd;
-       
+
        respObj = sipc_util_marshal_object_create();
 
        switch (command) {
@@ -636,9 +673,9 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc
                        dbg("resp->result = 0x%x", resp->result);
 
                        sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(respObj, "Sca", (void *)&(resp->dataInfo.sca[0]), TAPI_OBJECT_DATA_TYPE_STRING);
-                       sipc_util_marshal_object_add_data(respObj, "MsgLength", (void *)&(resp->dataInfo.msgLength), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "szData", (void *)&(resp->dataInfo.tpduData[0]), TAPI_OBJECT_DATA_TYPE_STRING);
+                       sipc_util_marshal_object_add_data(respObj, "Sca", (void *)&(resp->dataInfo.sca[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "MsgLength", (void *)&(resp->dataInfo.msgLength), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "szData", (void *)&(resp->dataInfo.tpduData[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
                        }
                        break;
 
@@ -647,10 +684,10 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc
 
                        dbg("resp->result = 0x%x", resp->result);
 
-                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "ReplySeqNumber", (void *)&(resp->causeCode.ReplySeqNumber), TAPI_OBJECT_DATA_TYPE_CHAR);
-                       sipc_util_marshal_object_add_data(respObj, "ErrClass", (void *)&(resp->causeCode.ErrClass), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "Cause", (void *)&(resp->causeCode.Cause), TAPI_OBJECT_DATA_TYPE_CHAR);                                      
+                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "ReplySeqNumber", (void *)&(resp->causeCode.ReplySeqNumber), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "ErrClass", (void *)&(resp->causeCode.ErrClass), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "Cause", (void *)&(resp->causeCode.Cause), SIPC_MARSHAL_DATA_CHAR_TYPE);
                        }
                        break;
 
@@ -662,9 +699,9 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc
                        sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE);
                        sipc_util_marshal_object_add_data(respObj, "Index", (void *)&(resp->dataInfo.simIndex), SIPC_MARSHAL_DATA_INT_TYPE);
                        sipc_util_marshal_object_add_data(respObj, "MsgStatus", (void *)&(resp->dataInfo.msgStatus), SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(respObj, "Sca", (void *)&(resp->dataInfo.smsData.sca[0]), TAPI_OBJECT_DATA_TYPE_STRING);
-                       sipc_util_marshal_object_add_data(respObj, "MsgLength", (void *)&(resp->dataInfo.smsData.msgLength), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "szData", (void *)&(resp->dataInfo.smsData.tpduData[0]), TAPI_OBJECT_DATA_TYPE_STRING);
+                       sipc_util_marshal_object_add_data(respObj, "Sca", (void *)&(resp->dataInfo.smsData.sca[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "MsgLength", (void *)&(resp->dataInfo.smsData.msgLength), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "szData", (void *)&(resp->dataInfo.smsData.tpduData[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
                        }
                        break;
 
@@ -696,7 +733,7 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc
                        sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE);
                        sipc_util_marshal_object_add_data(respObj, "TotalCount", (void *)&(resp->storedMsgCnt.totalCount), SIPC_MARSHAL_DATA_INT_TYPE);
                        sipc_util_marshal_object_add_data(respObj, "UsedCount", (void *)&(resp->storedMsgCnt.usedCount), SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(respObj, "IndexList", (void *)&(resp->storedMsgCnt.indexList[0]), TAPI_OBJECT_DATA_TYPE_STRING);
+                       sipc_util_marshal_object_add_data(respObj, "IndexList", (void *)&(resp->storedMsgCnt.indexList[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
                        }
                        break;
 
@@ -705,11 +742,11 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc
 
                        dbg("resp->result = 0x%x", resp->result);
 
-                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "DialNumLen", (void *)&(resp->scaAddress.dialNumLen), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "Ton", (void *)&(resp->scaAddress.typeOfNum), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "Npi", (void *)&(resp->scaAddress.numPlanId), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "szDiallingNum", (void *)&(resp->scaAddress.diallingNum[0]), TAPI_OBJECT_DATA_TYPE_STRING);                          
+                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "DialNumLen", (void *)&(resp->scaAddress.dialNumLen), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "Ton", (void *)&(resp->scaAddress.typeOfNum), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "Npi", (void *)&(resp->scaAddress.numPlanId), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "szDiallingNum", (void *)&(resp->scaAddress.diallingNum[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
                        }
                        break;
 
@@ -718,7 +755,7 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc
 
                        dbg("resp->result = 0x%x", resp->result);
 
-                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT);
+                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE);
                        }
                        break;
 
@@ -727,12 +764,12 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc
 
                        dbg("resp->result = 0x%x", resp->result);
 
-                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "bCBEnabled", (void *)&(resp->cbConfig.bCBEnabled), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "SelectedId", (void *)&(resp->cbConfig.selectedId), TAPI_OBJECT_DATA_TYPE_CHAR);
-                       sipc_util_marshal_object_add_data(respObj, "MsgIdMaxCount", (void *)&(resp->cbConfig.msgIdMaxCount), TAPI_OBJECT_DATA_TYPE_CHAR);
-                       sipc_util_marshal_object_add_data(respObj, "MsgIdCount", (void *)&(resp->cbConfig.msgIdCount), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "MsgIDs", (void *)&(resp->cbConfig.msgIDs[0]), TAPI_OBJECT_DATA_TYPE_STRING);
+                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "bCBEnabled", (void *)&(resp->cbConfig.bCBEnabled), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "SelectedId", (void *)&(resp->cbConfig.selectedId), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "MsgIdMaxCount", (void *)&(resp->cbConfig.msgIdMaxCount), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "MsgIdCount", (void *)&(resp->cbConfig.msgIdCount), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "MsgIDs", (void *)&(resp->cbConfig.msgIDs[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
                        }
                        break;
 
@@ -741,7 +778,7 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc
 
                        dbg("resp->result = 0x%x", resp->result);
 
-                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT);
+                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE);
                        }
                        break;
 
@@ -750,26 +787,33 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc
 
                        dbg("resp->result = 0x%x", resp->result);
 
-                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT);
+                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE);
                        }
                        break;
-#if 0
-               case TRESP_SMS_GET_PREF_BEARER:
-                       ts_delivery_event(ctx->EvtDeliveryHandle, TAPI_EVENT_CLASS_NETTEXT, TAPI_EVENT_NETTEXT_GET_SMSBEARER_CNF,
-                                       appname, RequestId, status, sizeof(TelSmsBearerType_t), (void *) bearer);
+               case TRESP_SMS_GET_PREF_BEARER: {
+                       const struct tresp_sms_get_pref_bearer *resp = data;
+
+                       dbg("resp->result = 0x%x", resp->result);
+
+                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE);
+                       }
                        break;
 
-               case TRESP_SMS_SET_PREF_BEARER:
-                       ts_delivery_event(ctx->EvtDeliveryHandle, TAPI_EVENT_CLASS_NETTEXT, TAPI_EVENT_NETTEXT_SET_REQUEST_CNF,
-                                       appname, RequestId, Status, sizeof(TelSmsCause_t), (void *) &RequestType);
+               case TRESP_SMS_SET_PREF_BEARER: {
+                       const struct tresp_sms_set_pref_bearer *resp = data;
+
+                       dbg("resp->result = 0x%x", resp->result);
+
+                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE);
+                       }
                        break;
-#endif
+
                case TRESP_SMS_SET_DELIVERY_REPORT: {
                        const struct tresp_sms_set_delivery_report *resp = data;
 
                        dbg("resp->result = 0x%x", resp->result);
 
-                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT);
+                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE);
                        }
                        break;
 
@@ -778,7 +822,7 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc
 
                        dbg("resp->result = 0x%x", resp->result);
 
-                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT);
+                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE);
                        }
                        break;
 
@@ -787,26 +831,26 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc
 
                        dbg("resp->result = 0x%x", resp->result);
 
-                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "RecordIndex", (void *)&(resp->paramsInfo.recordIndex), TAPI_OBJECT_DATA_TYPE_CHAR);
-                       sipc_util_marshal_object_add_data(respObj, "RecordLen", (void *)&(resp->paramsInfo.recordLen), TAPI_OBJECT_DATA_TYPE_CHAR);
-                       sipc_util_marshal_object_add_data(respObj, "AlphaIdLen", (void *)&(resp->paramsInfo.alphaIdLen), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "szAlphaId", (void *)&(resp->paramsInfo.szAlphaId), TAPI_OBJECT_DATA_TYPE_STRING);
-                       sipc_util_marshal_object_add_data(respObj, "ParamIndicator", (void *)&(resp->paramsInfo.paramIndicator), TAPI_OBJECT_DATA_TYPE_CHAR);
-                       
-                       sipc_util_marshal_object_add_data(respObj, "DestAddr.DialNumLen", (void *)&(resp->paramsInfo.tpDestAddr.dialNumLen), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "DestAddr.Ton", (void *)&(resp->paramsInfo.tpDestAddr.typeOfNum), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "DestAddr.Npi", (void *)&(resp->paramsInfo.tpDestAddr.numPlanId), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "DestAddr.szDiallingNum", (void *)&(resp->paramsInfo.tpDestAddr.diallingNum), TAPI_OBJECT_DATA_TYPE_STRING);
-                       
-                       sipc_util_marshal_object_add_data(respObj, "SvcCntrAddr.DialNumLen", (void *)&(resp->paramsInfo.tpSvcCntrAddr.dialNumLen), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "SvcCntrAddr.Ton", (void *)&(resp->paramsInfo.tpSvcCntrAddr.typeOfNum), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "SvcCntrAddr.Npi", (void *)&(resp->paramsInfo.tpSvcCntrAddr.numPlanId), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "SvcCntrAddr.szDiallingNum", (void *)&(resp->paramsInfo.tpSvcCntrAddr.diallingNum), TAPI_OBJECT_DATA_TYPE_STRING);
-
-                       sipc_util_marshal_object_add_data(respObj, "ProtocolId", (void *)&(resp->paramsInfo.tpProtocolId), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "DataCodingScheme", (void *)&(resp->paramsInfo.tpDataCodingScheme), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "ValidityPeriod", (void *)&(resp->paramsInfo.tpValidityPeriod), TAPI_OBJECT_DATA_TYPE_INT);                          
+                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "RecordIndex", (void *)&(resp->paramsInfo.recordIndex), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "RecordLen", (void *)&(resp->paramsInfo.recordLen), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "AlphaIdLen", (void *)&(resp->paramsInfo.alphaIdLen), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "szAlphaId", (void *)&(resp->paramsInfo.szAlphaId), SIPC_MARSHAL_DATA_STRING_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "ParamIndicator", (void *)&(resp->paramsInfo.paramIndicator), SIPC_MARSHAL_DATA_CHAR_TYPE);
+
+                       sipc_util_marshal_object_add_data(respObj, "DestAddr.DialNumLen", (void *)&(resp->paramsInfo.tpDestAddr.dialNumLen), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "DestAddr.Ton", (void *)&(resp->paramsInfo.tpDestAddr.typeOfNum), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "DestAddr.Npi", (void *)&(resp->paramsInfo.tpDestAddr.numPlanId), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "DestAddr.szDiallingNum", (void *)&(resp->paramsInfo.tpDestAddr.diallingNum), SIPC_MARSHAL_DATA_STRING_TYPE);
+
+                       sipc_util_marshal_object_add_data(respObj, "SvcCntrAddr.DialNumLen", (void *)&(resp->paramsInfo.tpSvcCntrAddr.dialNumLen), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "SvcCntrAddr.Ton", (void *)&(resp->paramsInfo.tpSvcCntrAddr.typeOfNum), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "SvcCntrAddr.Npi", (void *)&(resp->paramsInfo.tpSvcCntrAddr.numPlanId), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "SvcCntrAddr.szDiallingNum", (void *)&(resp->paramsInfo.tpSvcCntrAddr.diallingNum), SIPC_MARSHAL_DATA_STRING_TYPE);
+
+                       sipc_util_marshal_object_add_data(respObj, "ProtocolId", (void *)&(resp->paramsInfo.tpProtocolId), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "DataCodingScheme", (void *)&(resp->paramsInfo.tpDataCodingScheme), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "ValidityPeriod", (void *)&(resp->paramsInfo.tpValidityPeriod), SIPC_MARSHAL_DATA_INT_TYPE);
                        }
                        break;
 
@@ -815,7 +859,7 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc
 
                        dbg("resp->result = 0x%x", resp->result);
 
-                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT);
+                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE);
                        }
                        break;
 
@@ -824,8 +868,8 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc
 
                        dbg("resp->result = 0x%x", resp->result);
 
-                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(respObj, "RecordCount", (void *)&(resp->recordCount), TAPI_OBJECT_DATA_TYPE_INT);
+                       sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(respObj, "RecordCount", (void *)&(resp->recordCount), SIPC_MARSHAL_DATA_INT_TYPE);
                        }
                        break;
 
@@ -863,7 +907,6 @@ gboolean scomm_service_notification_sms(Communicator *comm, CoreObject *source,
        gchar *out_d= NULL, *serial_d = NULL;
 
        struct custom_data *ctx = NULL;
-       sipc_server_t *s = NULL;
 
        struct _tapi_header hdr;
        struct _sipc_marshal_object* notiObj = NULL;
@@ -876,234 +919,247 @@ gboolean scomm_service_notification_sms(Communicator *comm, CoreObject *source,
                return FALSE;
        }
 
-       s = ctx->sk_server;
        dbg("[tcore_SMS]notification !!! (command = 0x%x, data_len = %d)", command, data_len);
 
        notiObj = sipc_util_marshal_object_create();
-       
+
        switch (command) {
                case TNOTI_SMS_INCOM_MSG: {
                        const struct tnoti_sms_umts_msg *noti = data;
+                       hdr.cmd = TAPI_NOTI_SMS_INCOM_MSG;
 
-                       sipc_util_marshal_object_add_data(notiObj, "Sca", (void *)&(noti->msgInfo.sca[0]), TAPI_OBJECT_DATA_TYPE_STRING);
-                       sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->msgInfo.msgLength), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->msgInfo.tpduData[0]), TAPI_OBJECT_DATA_TYPE_STRING);                                               
+                       sipc_util_marshal_object_add_data(notiObj, "Sca", (void *)&(noti->msgInfo.sca[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->msgInfo.msgLength), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->msgInfo.tpduData[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
                        }
                        break;
+
                case TNOTI_SMS_CB_INCOM_MSG: {
                        const struct tnoti_sms_cellBroadcast_msg *noti = data;
+                       hdr.cmd = TAPI_NOTI_SMS_CB_INCOM_MSG;
 
-                       sipc_util_marshal_object_add_data(notiObj, "CbMsgType", (void *)&(noti->cbMsg.cbMsgType), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "Length", (void *)&(noti->cbMsg.length), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "szMsgData", (void *)&(noti->cbMsg.msgData[0]), TAPI_OBJECT_DATA_TYPE_STRING);                       
+                       sipc_util_marshal_object_add_data(notiObj, "CbMsgType", (void *)&(noti->cbMsg.cbMsgType), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "Length", (void *)&(noti->cbMsg.length), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "szMsgData", (void *)&(noti->cbMsg.msgData[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
                        }
                        break;
+
                case TNOTI_SMS_INCOM_EX_MSG: {
-                        const struct tnoti_sms_cdma_msg *noti = data;
+                       const struct tnoti_sms_cdma_msg *noti = data;
+                       hdr.cmd = TAPI_NOTI_SMS_INCOM_EX_MSG;
 
-                       sipc_util_marshal_object_add_data(notiObj, "ParamMask", (void *)&(noti->cdmaMsg.ParamMask), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "MsgType", (void *)&(noti->cdmaMsg.MsgType), TAPI_OBJECT_DATA_TYPE_INT);
+                       sipc_util_marshal_object_add_data(notiObj, "ParamMask", (void *)&(noti->cdmaMsg.ParamMask), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "MsgType", (void *)&(noti->cdmaMsg.MsgType), SIPC_MARSHAL_DATA_INT_TYPE);
 
                        switch(noti->cdmaMsg.MsgType)
                        {
                                case SMS_MESSAGETYPE_DELIVER:
                                        /* Origination address */
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.Digit", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.Digit), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberMode", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.NumberMode), TAPI_OBJECT_DATA_TYPE_INT); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberType", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.NumberType), TAPI_OBJECT_DATA_TYPE_INT); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberPlan", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.NumberPlan), TAPI_OBJECT_DATA_TYPE_INT); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.szAddrLength), TAPI_OBJECT_DATA_TYPE_CHAR); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.szAddress[0]), TAPI_OBJECT_DATA_TYPE_STRING); 
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.Digit", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.Digit), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberMode", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.NumberMode), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberType", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.NumberType), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberPlan", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.NumberPlan), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.szAddrLength), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.szAddress[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
 
                                        /* Origination subaddress */
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.SubType", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigSubAddr.SubType), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.Odd", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigSubAddr.Odd), TAPI_OBJECT_DATA_TYPE_CHAR); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigSubAddr.szAddrLength), TAPI_OBJECT_DATA_TYPE_CHAR); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigSubAddr.szAddress[0]), TAPI_OBJECT_DATA_TYPE_STRING);
-
-                                       sipc_util_marshal_object_add_data(notiObj, "TeleService", (void *)&(noti->cdmaMsg.MsgData.inDeliver.TeleService), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "bBearerReplySeqRequest", (void *)&(noti->cdmaMsg.MsgData.inDeliver.bBearerReplySeqRequest), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "ReplySeqNumber", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ReplySeqNumber), TAPI_OBJECT_DATA_TYPE_CHAR);
-                                       sipc_util_marshal_object_add_data(notiObj, "MsgId", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MsgId), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MsgEncoding", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MsgEncoding), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MsgLength), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->cdmaMsg.MsgData.inDeliver.szData[0]), TAPI_OBJECT_DATA_TYPE_STRING);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.SubType", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigSubAddr.SubType), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.Odd", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigSubAddr.Odd), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigSubAddr.szAddrLength), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigSubAddr.szAddress[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
+
+                                       sipc_util_marshal_object_add_data(notiObj, "TeleService", (void *)&(noti->cdmaMsg.MsgData.inDeliver.TeleService), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "bBearerReplySeqRequest", (void *)&(noti->cdmaMsg.MsgData.inDeliver.bBearerReplySeqRequest), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "ReplySeqNumber", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ReplySeqNumber), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MsgId", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MsgId), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MsgEncoding", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MsgEncoding), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MsgLength), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->cdmaMsg.MsgData.inDeliver.szData[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
 
                                        /* Message center time stamp */
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.year", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.year), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.month", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.month), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.day", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.day), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.hours", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.hours), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.minutes", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.minutes), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.seconds", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.seconds), TAPI_OBJECT_DATA_TYPE_INT);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.year", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.year), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.month", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.month), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.day", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.day), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.hours", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.hours), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.minutes", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.minutes), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.seconds", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.seconds), SIPC_MARSHAL_DATA_INT_TYPE);
 
                                        /* Validity period - Absolute */
-                                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.year", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.year), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.month", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.month), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.day", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.day), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.hours", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.hours), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.minutes", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.minutes), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.seconds", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.seconds), TAPI_OBJECT_DATA_TYPE_INT);
+                                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.year", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.year), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.month", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.month), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.day", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.day), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.hours", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.hours), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.minutes", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.minutes), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.seconds", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.seconds), SIPC_MARSHAL_DATA_INT_TYPE);
 
-                                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodRel", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodRel), TAPI_OBJECT_DATA_TYPE_CHAR);
+                                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodRel", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodRel), SIPC_MARSHAL_DATA_CHAR_TYPE);
 
                                        /* Deferred delivery time - Absolute (not supported) */
-                                       sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.year", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.year), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.month", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.month), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.day", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.day), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.hours", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.hours), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.minutes", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.minutes), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.seconds", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.seconds), TAPI_OBJECT_DATA_TYPE_INT);
+                                       sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.year", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.year), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.month", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.month), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.day", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.day), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.hours", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.hours), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.minutes", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.minutes), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.seconds", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.seconds), SIPC_MARSHAL_DATA_INT_TYPE);
 
                                        /* Deferred delivery time - Relative (not supported) */
-                                       sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeRel", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeRel), TAPI_OBJECT_DATA_TYPE_CHAR);
-                                       
-                                       sipc_util_marshal_object_add_data(notiObj, "Priority", (void *)&(noti->cdmaMsg.MsgData.inDeliver.Priority), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "Privacy", (void *)&(noti->cdmaMsg.MsgData.inDeliver.Privacy), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "NumMsg", (void *)&(noti->cdmaMsg.MsgData.inDeliver.NumMsg), TAPI_OBJECT_DATA_TYPE_CHAR);
-                                       sipc_util_marshal_object_add_data(notiObj, "bUserAckRequest", (void *)&(noti->cdmaMsg.MsgData.inDeliver.bUserAckRequest), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "bDeliveryAckRequest", (void *)&(noti->cdmaMsg.MsgData.inDeliver.bDeliveryAckRequest), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "AlertPriority", (void *)&(noti->cdmaMsg.MsgData.inDeliver.AlertPriority), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MsgLang", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MsgLang), TAPI_OBJECT_DATA_TYPE_INT);
+                                       sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeRel", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeRel), SIPC_MARSHAL_DATA_CHAR_TYPE);
+
+                                       sipc_util_marshal_object_add_data(notiObj, "Priority", (void *)&(noti->cdmaMsg.MsgData.inDeliver.Priority), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "Privacy", (void *)&(noti->cdmaMsg.MsgData.inDeliver.Privacy), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "NumMsg", (void *)&(noti->cdmaMsg.MsgData.inDeliver.NumMsg), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "bUserAckRequest", (void *)&(noti->cdmaMsg.MsgData.inDeliver.bUserAckRequest), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "bDeliveryAckRequest", (void *)&(noti->cdmaMsg.MsgData.inDeliver.bDeliveryAckRequest), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "AlertPriority", (void *)&(noti->cdmaMsg.MsgData.inDeliver.AlertPriority), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MsgLang", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MsgLang), SIPC_MARSHAL_DATA_INT_TYPE);
 
                                        /* Callback number address */
-                                       sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.Digit", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.Digit), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.NumberMode", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.NumberMode), TAPI_OBJECT_DATA_TYPE_INT); 
-                                       sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.NumberType", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.NumberType), TAPI_OBJECT_DATA_TYPE_INT); 
-                                       sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.NumberPlan", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.NumberPlan), TAPI_OBJECT_DATA_TYPE_INT); 
-                                       sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.szAddrLength), TAPI_OBJECT_DATA_TYPE_CHAR); 
-                                       sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.szAddress[0]), TAPI_OBJECT_DATA_TYPE_STRING);
-
-                                       sipc_util_marshal_object_add_data(notiObj, "Display", (void *)&(noti->cdmaMsg.MsgData.inDeliver.Display), TAPI_OBJECT_DATA_TYPE_INT);
-       
+                                       sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.Digit", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.Digit), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.NumberMode", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.NumberMode), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.NumberType", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.NumberType), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.NumberPlan", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.NumberPlan), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.szAddrLength), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.szAddress[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
+
+                                       sipc_util_marshal_object_add_data(notiObj, "Display", (void *)&(noti->cdmaMsg.MsgData.inDeliver.Display), SIPC_MARSHAL_DATA_INT_TYPE);
+
                                        break;
-                                       
+
                                case SMS_MESSAGETYPE_DELIVERY_ACK:
                                        /* Origination address */
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.Digit", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.Digit), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberMode", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.NumberMode), TAPI_OBJECT_DATA_TYPE_INT); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberType", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.NumberType), TAPI_OBJECT_DATA_TYPE_INT); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberPlan", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.NumberPlan), TAPI_OBJECT_DATA_TYPE_INT); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.szAddrLength), TAPI_OBJECT_DATA_TYPE_CHAR); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.szAddress[0]), TAPI_OBJECT_DATA_TYPE_STRING); 
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.Digit", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.Digit), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberMode", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.NumberMode), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberType", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.NumberType), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberPlan", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.NumberPlan), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.szAddrLength), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.szAddress[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
 
                                        /* Origination subaddress */
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.SubType", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigSubAddr.SubType), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.Odd", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigSubAddr.Odd), TAPI_OBJECT_DATA_TYPE_CHAR); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigSubAddr.szAddrLength), TAPI_OBJECT_DATA_TYPE_CHAR); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigSubAddr.szAddress), TAPI_OBJECT_DATA_TYPE_CHAR);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.SubType", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigSubAddr.SubType), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.Odd", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigSubAddr.Odd), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigSubAddr.szAddrLength), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigSubAddr.szAddress), SIPC_MARSHAL_DATA_CHAR_TYPE);
 
-                                       sipc_util_marshal_object_add_data(notiObj, "TeleService", (void *)&(noti->cdmaMsg.MsgData.inAck.TeleService), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "bBearerReplySeqRequest", (void *)&(noti->cdmaMsg.MsgData.inAck.bBearerReplySeqRequest), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "ReplySeqNumber", (void *)&(noti->cdmaMsg.MsgData.inAck.ReplySeqNumber), TAPI_OBJECT_DATA_TYPE_CHAR);
-                                       sipc_util_marshal_object_add_data(notiObj, "MsgId", (void *)&(noti->cdmaMsg.MsgData.inAck.MsgId), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MsgEncoding", (void *)&(noti->cdmaMsg.MsgData.inAck.MsgEncoding), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->cdmaMsg.MsgData.inAck.MsgLength), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->cdmaMsg.MsgData.inAck.szData[0]), TAPI_OBJECT_DATA_TYPE_STRING);
+                                       sipc_util_marshal_object_add_data(notiObj, "TeleService", (void *)&(noti->cdmaMsg.MsgData.inAck.TeleService), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "bBearerReplySeqRequest", (void *)&(noti->cdmaMsg.MsgData.inAck.bBearerReplySeqRequest), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "ReplySeqNumber", (void *)&(noti->cdmaMsg.MsgData.inAck.ReplySeqNumber), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MsgId", (void *)&(noti->cdmaMsg.MsgData.inAck.MsgId), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MsgEncoding", (void *)&(noti->cdmaMsg.MsgData.inAck.MsgEncoding), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->cdmaMsg.MsgData.inAck.MsgLength), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->cdmaMsg.MsgData.inAck.szData[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
 
-                                       sipc_util_marshal_object_add_data(notiObj, "UserResponseCode", (void *)&(noti->cdmaMsg.MsgData.inAck.UserResponseCode), TAPI_OBJECT_DATA_TYPE_CHAR);
+                                       sipc_util_marshal_object_add_data(notiObj, "UserResponseCode", (void *)&(noti->cdmaMsg.MsgData.inAck.UserResponseCode), SIPC_MARSHAL_DATA_CHAR_TYPE);
 
                                        /* Message center time stamp */
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.year", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.year), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.month", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.month), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.day", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.day), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.hours", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.hours), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.minutes", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.minutes), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.seconds", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.seconds), TAPI_OBJECT_DATA_TYPE_INT);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.year", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.year), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.month", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.month), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.day", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.day), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.hours", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.hours), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.minutes", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.minutes), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.seconds", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.seconds), SIPC_MARSHAL_DATA_INT_TYPE);
 
                                        break;
-                                       
+
                                case SMS_MESSAGETYPE_USER_ACK:
                                        /* Origination address */
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.Digit", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.Digit), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberMode", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.NumberMode), TAPI_OBJECT_DATA_TYPE_INT); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberType", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.NumberType), TAPI_OBJECT_DATA_TYPE_INT); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberPlan", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.NumberPlan), TAPI_OBJECT_DATA_TYPE_INT); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.szAddrLength), TAPI_OBJECT_DATA_TYPE_CHAR); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.szAddress[0]), TAPI_OBJECT_DATA_TYPE_STRING); 
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.Digit", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.Digit), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberMode", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.NumberMode), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberType", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.NumberType), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberPlan", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.NumberPlan), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.szAddrLength), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.szAddress[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
 
                                        /* Origination subaddress */
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.SubType", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigSubAddr.SubType), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.Odd", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigSubAddr.Odd), TAPI_OBJECT_DATA_TYPE_CHAR); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigSubAddr.szAddrLength), TAPI_OBJECT_DATA_TYPE_CHAR); 
-                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigSubAddr.szAddress), TAPI_OBJECT_DATA_TYPE_CHAR);
-
-                                       sipc_util_marshal_object_add_data(notiObj, "TeleService", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.TeleService), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "bBearerReplySeqRequest", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.bBearerReplySeqRequest), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "ReplySeqNumber", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.ReplySeqNumber), TAPI_OBJECT_DATA_TYPE_CHAR);
-                                       sipc_util_marshal_object_add_data(notiObj, "MsgId", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MsgId), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MsgEncoding", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MsgEncoding), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MsgLength), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.szData[0]), TAPI_OBJECT_DATA_TYPE_STRING);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.SubType", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigSubAddr.SubType), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.Odd", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigSubAddr.Odd), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigSubAddr.szAddrLength), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigSubAddr.szAddress), SIPC_MARSHAL_DATA_CHAR_TYPE);
+
+                                       sipc_util_marshal_object_add_data(notiObj, "TeleService", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.TeleService), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "bBearerReplySeqRequest", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.bBearerReplySeqRequest), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "ReplySeqNumber", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.ReplySeqNumber), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MsgId", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MsgId), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MsgEncoding", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MsgEncoding), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MsgLength), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.szData[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
 
                                        /* Message center time stamp */
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.year", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.year), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.month", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.month), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.day", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.day), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.hours", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.hours), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.minutes", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.minutes), TAPI_OBJECT_DATA_TYPE_INT);
-                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.seconds", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.seconds), TAPI_OBJECT_DATA_TYPE_INT);  
-                                       
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.year", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.year), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.month", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.month), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.day", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.day), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.hours", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.hours), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.minutes", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.minutes), SIPC_MARSHAL_DATA_INT_TYPE);
+                                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.seconds", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.seconds), SIPC_MARSHAL_DATA_INT_TYPE);
+
                                        break;
                                default:
                                        break;
                        }
                        }
                        break;
+
                case TNOTI_SMS_CB_INCOM_EX_MSG: {
                         const struct tnoti_sms_cdma_msg *noti = data;
+                       hdr.cmd = TAPI_NOTI_SMS_CB_INCOM_EX_MSG;
 
-                       sipc_util_marshal_object_add_data(notiObj, "ServiceCategory", (void *)&(noti->cdmaMsg.MsgData.inBc.ServiceCategory), TAPI_OBJECT_DATA_TYPE_INT);
+                       sipc_util_marshal_object_add_data(notiObj, "ServiceCategory", (void *)&(noti->cdmaMsg.MsgData.inBc.ServiceCategory), SIPC_MARSHAL_DATA_INT_TYPE);
 
-                       sipc_util_marshal_object_add_data(notiObj, "MsgId", (void *)&(noti->cdmaMsg.MsgData.inBc.MsgId), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "bBearerReplySeqRequest", (void *)&(noti->cdmaMsg.MsgData.inBc.bBearerReplySeqRequest), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "ReplySeqNumber", (void *)&(noti->cdmaMsg.MsgData.inBc.ReplySeqNumber), TAPI_OBJECT_DATA_TYPE_CHAR);
-                       sipc_util_marshal_object_add_data(notiObj, "MsgEncoding", (void *)&(noti->cdmaMsg.MsgData.inBc.MsgEncoding), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->cdmaMsg.MsgData.inBc.MsgLength), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->cdmaMsg.MsgData.inBc.szData[0]), TAPI_OBJECT_DATA_TYPE_STRING);
+                       sipc_util_marshal_object_add_data(notiObj, "MsgId", (void *)&(noti->cdmaMsg.MsgData.inBc.MsgId), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "bBearerReplySeqRequest", (void *)&(noti->cdmaMsg.MsgData.inBc.bBearerReplySeqRequest), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "ReplySeqNumber", (void *)&(noti->cdmaMsg.MsgData.inBc.ReplySeqNumber), SIPC_MARSHAL_DATA_CHAR_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "MsgEncoding", (void *)&(noti->cdmaMsg.MsgData.inBc.MsgEncoding), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->cdmaMsg.MsgData.inBc.MsgLength), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->cdmaMsg.MsgData.inBc.szData[0]), SIPC_MARSHAL_DATA_STRING_TYPE);
 
                        /* Message center time stamp */
-                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.year", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.year), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.month", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.month), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.day", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.day), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.hours", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.hours), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.minutes", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.minutes), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.seconds", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.seconds), TAPI_OBJECT_DATA_TYPE_INT);
+                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.year", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.year), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.month", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.month), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.day", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.day), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.hours", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.hours), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.minutes", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.minutes), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.seconds", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.seconds), SIPC_MARSHAL_DATA_INT_TYPE);
 
                        /* Validity period - Absolute */
-                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.year", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.year), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.month", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.month), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.day", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.day), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.hours", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.hours), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.minutes", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.minutes), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.seconds", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.seconds), TAPI_OBJECT_DATA_TYPE_INT);
-
-                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodRel", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodRel), TAPI_OBJECT_DATA_TYPE_CHAR);
-                       
-                       sipc_util_marshal_object_add_data(notiObj, "Priority", (void *)&(noti->cdmaMsg.MsgData.inBc.Priority), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "AlertPriority", (void *)&(noti->cdmaMsg.MsgData.inBc.AlertPriority), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "MsgLang", (void *)&(noti->cdmaMsg.MsgData.inBc.MsgLang), TAPI_OBJECT_DATA_TYPE_INT);
-                       sipc_util_marshal_object_add_data(notiObj, "Display", (void *)&(noti->cdmaMsg.MsgData.inBc.Display), TAPI_OBJECT_DATA_TYPE_INT);
-                       
+                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.year", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.year), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.month", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.month), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.day", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.day), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.hours", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.hours), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.minutes", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.minutes), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.seconds", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.seconds), SIPC_MARSHAL_DATA_INT_TYPE);
+
+                       sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodRel", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodRel), SIPC_MARSHAL_DATA_CHAR_TYPE);
+
+                       sipc_util_marshal_object_add_data(notiObj, "Priority", (void *)&(noti->cdmaMsg.MsgData.inBc.Priority), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "AlertPriority", (void *)&(noti->cdmaMsg.MsgData.inBc.AlertPriority), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "MsgLang", (void *)&(noti->cdmaMsg.MsgData.inBc.MsgLang), SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(notiObj, "Display", (void *)&(noti->cdmaMsg.MsgData.inBc.Display), SIPC_MARSHAL_DATA_INT_TYPE);
+
                        }
                        break;
+
                case TNOTI_SMS_MEMORY_STATUS: {
                        const struct tnoti_sms_memory_status *noti = data;
+                       hdr.cmd = TAPI_NOTI_SMS_MEMORY_STATUS;
 
-                       sipc_util_marshal_object_add_data(notiObj, "MemStatus", (void *)&(noti->status), TAPI_OBJECT_DATA_TYPE_INT);
+                       sipc_util_marshal_object_add_data(notiObj, "MemStatus", (void *)&(noti->status), SIPC_MARSHAL_DATA_INT_TYPE);
                        }
                        break;
+
                case TNOTI_SMS_DEVICE_READY: {
                        const struct tnoti_sms_device_ready_status *noti = data;
+                       hdr.cmd = TAPI_NOTI_SMS_DEVICE_READY;
 
-                       sipc_util_marshal_object_add_data(notiObj, "DeviceStatus", (void *)&(noti->status), TAPI_OBJECT_DATA_TYPE_INT);
+                       sipc_util_marshal_object_add_data(notiObj, "DeviceStatus", &(noti->status), SIPC_MARSHAL_DATA_INT_TYPE);
                        }
                        break;
+
                default:
+                       dbg("unknown notification");
+                       return FALSE;
                        break;
        }
-       
-       if(notiObj){
+
+       if (notiObj) {
                serial_d = sipc_util_marshal_object_serializer(notiObj);
                hdr.data_len = strlen(serial_d);
                sipc_util_marshal_object_destory(notiObj);
@@ -1111,15 +1167,18 @@ gboolean scomm_service_notification_sms(Communicator *comm, CoreObject *source,
 
        out_d = g_new0(char, sizeof(struct _tapi_header)+hdr.data_len);
        memcpy(out_d, &hdr, sizeof(struct _tapi_header));
-       if(serial_d){
-               memcpy(out_d+sizeof(struct _tapi_header), serial_d, hdr.data_len);
+       if (serial_d) {
+               memcpy(out_d + sizeof(struct _tapi_header), serial_d, hdr.data_len);
                g_free(serial_d);
        }
 
-       ret = sipc_server_broadcast(s, out_d, sizeof(struct _tapi_header)+hdr.data_len);
+       dbg("len = %d, data_len = %d, cmd = 0x%x", sizeof(struct _tapi_header) + hdr.data_len, hdr.data_len);
+
+       ret = sipc_server_broadcast(ctx->sk_server, out_d, sizeof(struct _tapi_header) + hdr.data_len);
+       dbg("ret = %d", ret);
        g_free(out_d);
 
-       if(ret < 0){
+       if (ret < 0) {
                return FALSE;
        }