release tizen_2.0 beta 2.0alpha master 2.0_alpha
authorKyeongchul Kim <kyeongchul.kim@samsung.com>
Tue, 21 Aug 2012 13:08:47 +0000 (22:08 +0900)
committerKyeongchul Kim <kyeongchul.kim@samsung.com>
Tue, 21 Aug 2012 13:08:47 +0000 (22:08 +0900)
35 files changed:
common/include/sipc_log.h
common/include/sipc_type.h
common/include/tapi_type.h
common/src/sipc_channel.c
common/src/sipc_marshal.c
common/src/sipc_server.c
libclient/CMakeLists.txt
libclient/debian/changelog
libclient/include/tapi_sipc.h
libclient/src/tapi_common_sipc.c
libclient/src/tapi_common_sipc.h
libclient/src/tapi_log.h [deleted file]
libclient/src/tapi_sipc.c
packaging/unused [deleted file]
plugin/CMakeLists.txt
plugin/debian/changelog
plugin/src/desc-sipc.c
plugin/src/module_req.h
plugin/src/socket_call.c
plugin/src/socket_network.c
plugin/src/socket_pb.c
plugin/src/socket_ps.c
plugin/src/socket_sap.c
plugin/src/socket_sat.c [new file with mode: 0644]
plugin/src/socket_sim.c
plugin/src/socket_sms.c
test/Makefile [deleted file]
test/custom.c [deleted file]
test/gprs.c [deleted file]
test/main.c [deleted file]
test/menu.c [deleted file]
test/menu.h [deleted file]
test/modem.c [deleted file]
test/network.c [deleted file]
test/noti.h [deleted file]

index aac69ef..ee341a6 100644 (file)
  * limitations under the License.
  */
 
-#ifndef __TPAPI_LOG_H__
-#define __TPAPI_LOG_H__
+#ifndef __TAPI_LOG_H__
+#define __TAPI_LOG_H__
+
+#include <dlog.h>
 
 __BEGIN_DECLS
 
-#define ANSI_COLOR_NORMAL "\e[0m"
-
-#define ANSI_COLOR_BLACK "\e[0;30m"
-#define ANSI_COLOR_RED "\e[0;31m"
-#define ANSI_COLOR_GREEN "\e[0;32m"
-#define ANSI_COLOR_BROWN "\e[0;33m"
-#define ANSI_COLOR_BLUE "\e[0;34m"
-#define ANSI_COLOR_MAGENTA "\e[0;35m"
-#define ANSI_COLOR_CYAN "\e[0;36m"
-#define ANSI_COLOR_LIGHTGRAY "\e[0;37m"
-
-#define ANSI_COLOR_DARKGRAY "\e[1;30m"
-#define ANSI_COLOR_LIGHTRED "\e[1;31m"
-#define ANSI_COLOR_LIGHTGREEN "\e[1;32m"
-#define ANSI_COLOR_YELLOW "\e[1;33m"
-#define ANSI_COLOR_LIGHTBLUE "\e[1;34m"
-#define ANSI_COLOR_LIGHTMAGENTA "\e[1;35m"
-#define ANSI_COLOR_LIGHTCYAN "\e[1;36m"
-#define ANSI_COLOR_WHITE "\e[1;37m"
-
-#ifndef TELEPHONY_LOG_FILE
-#define TELEPHONY_LOG_FILE stdout
+#ifndef dbg
+
+#ifndef TAPI_LOG_TAG
+#define TAPI_LOG_TAG "TAPI"
 #endif
-#if 0
-#define msg(fmt,args...)  { fprintf(TELEPHONY_LOG_FILE, fmt "\n", ##args); fflush(TELEPHONY_LOG_FILE); }
-#define dbg(fmt,args...)  { fprintf(TELEPHONY_LOG_FILE, ANSI_COLOR_LIGHTGRAY "<%s:%s> " ANSI_COLOR_NORMAL fmt "\n", __FILE__, __FUNCTION__, ##args); fflush(TELEPHONY_LOG_FILE); }
-#define warn(fmt,args...) { fprintf(TELEPHONY_LOG_FILE, ANSI_COLOR_YELLOW "<%s:%s> " ANSI_COLOR_NORMAL fmt "\n", __FILE__, __FUNCTION__, ##args); fflush(TELEPHONY_LOG_FILE); }
-#define err(fmt,args...)  { fprintf(TELEPHONY_LOG_FILE, ANSI_COLOR_LIGHTRED "<%s:%s> " ANSI_COLOR_NORMAL fmt "\n", __FILE__, __FUNCTION__, ##args); fflush(TELEPHONY_LOG_FILE); }
+
+#define msg(fmt,args...)  { RLOG(LOG_INFO, TAPI_LOG_TAG, fmt "\n", ##args); }
+#define dbg(fmt,args...)  { RLOG(LOG_DEBUG, TAPI_LOG_TAG, "<%s:%d> " fmt "\n", __func__, __LINE__, ##args); }
+#define warn(fmt,args...)  { RLOG(LOG_WARN, TAPI_LOG_TAG, "<%s:%d> " fmt "\n", __func__, __LINE__, ##args); }
+#define err(fmt,args...)  { RLOG(LOG_FATAL, TAPI_LOG_TAG, "<%s:%D> " fmt "\n", __func__, __LINE__, ##args); }
+
 #endif
 
 __END_DECLS
index 785bc88..e7b35ed 100644 (file)
@@ -57,7 +57,7 @@ typedef enum {
        SIPC_MARSHAL_DATA_INT_TYPE = G_TYPE_INT,
        SIPC_MARSHAL_DATA_DOUBLE_TYPE = G_TYPE_DOUBLE,
        SIPC_MARSHAL_DATA_STRING_TYPE = G_TYPE_STRING,
-       SIPC_MARSHAL_DATA_OBJECT_TYPE = G_TYPE_BOXED,
+       SIPC_MARSHAL_DATA_OBJECT_TYPE = G_TYPE_POINTER,
        SIPC_MARSHAL_DATA_STRING_MAX = 0xFF,
 } sipc_marshal_data_type_e;
 
index 0c8c401..f01c51d 100644 (file)
@@ -26,7 +26,6 @@ extern "C" {
 #endif
 
 #define TCORE_REQUEST          0x10000000
-//#define TCORE_RESPONSE               0x20000000
 #define TCORE_NOTIFICATION     0x30000000
 
 #define TAPI_TYPE_SERVER       0x00200000
@@ -56,22 +55,45 @@ typedef enum {
 
        TAPI_SERVICE_CALL = TCORE_REQUEST | TAPI_TYPE_CALL,
        TAPI_SERVICE_CALL_DIAL,
-       TAPI_SERVICE_ANSWER,
-       TAPI_SERVICE_END,
-       TAPI_SERVICE_HOLD,
-       TAPI_SERVICE_ACTIVE,
-       TAPI_SERVICE_SWAP,
-       TAPI_SERVICE_JOIN,
-       TAPI_SERVICE_SPLIT,
-       TAPI_SERVICE_DEFLECT,
-       TAPI_SERVICE_TRANSFER,
-       TAPI_SERVICE_SEND_DTMF,
-       TAPI_SERVICE_SET_SOUND_PATH,
-       TAPI_SERVICE_GET_SOUND_VOLUME_LEVEL,
-       TAPI_SERVICE_SET_SOUND_VOLUME_LEVEL,
-       TAPI_SERVICE_MUTE,
-       TAPI_SERVICE_UNMUTE,
-       TAPI_SERVICE_GET_MUTE_STATUS,
+       TAPI_SERVICE_CALL_ANSWER,
+       TAPI_SERVICE_CALL_END,
+       TAPI_SERVICE_CALL_HOLD,
+       TAPI_SERVICE_CALL_ACTIVE,
+       TAPI_SERVICE_CALL_SWAP,
+       TAPI_SERVICE_CALL_JOIN,
+       TAPI_SERVICE_CALL_SPLIT,
+       TAPI_SERVICE_CALL_DEFLECT,
+       TAPI_SERVICE_CALL_TRANSFER,
+       TAPI_SERVICE_CALL_SEND_DTMF,
+       TAPI_SERVICE_CALL_SET_SOUND_PATH,
+       TAPI_SERVICE_CALL_GET_SOUND_VOLUME_LEVEL,
+       TAPI_SERVICE_CALL_SET_SOUND_VOLUME_LEVEL,
+       TAPI_SERVICE_CALL_MUTE,
+       TAPI_SERVICE_CALL_UNMUTE,
+       TAPI_SERVICE_CALL_GET_MUTE_STATUS,
+       TAPI_SERVICE_CALL_SET_ACTIVE_LINE,
+       TAPI_SERVICE_CALL_GET_ACTIVE_LINE,
+       TAPI_SERVICE_CALL_ACTIVATE_CCBS,
+
+       TAPI_SERVICE_SS = TCORE_REQUEST | TAPI_TYPE_CALL,
+       TAPI_SERVICE_SS_BARRING_ACTIVATE,
+       TAPI_SERVICE_SS_BARRING_DEACTIVATE,
+       TAPI_SERVICE_SS_BARRING_CHANGE_PASSWORD,
+       TAPI_SERVICE_SS_BARRING_GET_STATUS,
+       TAPI_SERVICE_SS_FORWARDING_ACTIVATE,
+       TAPI_SERVICE_SS_FORWARDING_DEACTIVATE,
+       TAPI_SERVICE_SS_FORWARDING_REGISTER,
+       TAPI_SERVICE_SS_FORWARDING_DEREGISTER,
+       TAPI_SERVICE_SS_FORWARDING_GET_STATUS,
+       TAPI_SERVICE_SS_WAITING_ACTIVATE,
+       TAPI_SERVICE_SS_WAITING_DEACTIVATE,
+       TAPI_SERVICE_SS_WAITING_GET_STATUS,
+       TAPI_SERVICE_SS_CLI_ACTIVATE,
+       TAPI_SERVICE_SS_CLI_DEACTIVATE,
+       TAPI_SERVICE_SS_CLI_GET_STATUS,
+       TAPI_SERVICE_SS_SEND_USSD,
+       TAPI_SERVICE_SS_SET_AOC,
+       TAPI_SERVICE_SS_GET_AOC,
 
        TAPI_SERVICE_SIM = TCORE_REQUEST | TAPI_TYPE_SIM,
        TAPI_SERVICE_SIM_GET_SIMINITINFO,
@@ -88,6 +110,8 @@ typedef enum {
        TAPI_SERVICE_SIM_GET_MB,
        TAPI_SERVICE_SIM_SET_MB,
        TAPI_SERVICE_SIM_GET_CPHSINFO,
+       TAPI_SERVICE_SIM_GET_MSISDN,
+       TAPI_SERVICE_SIM_GET_OPLMNWACT,
        TAPI_SERVICE_SIM_AUTHENTICATION,
        TAPI_SERVICE_SIM_VERIFYSEC,
        TAPI_SERVICE_SIM_VERIFYPUK,
@@ -99,19 +123,26 @@ typedef enum {
        TAPI_SERVICE_SIM_ATR,
 
        TAPI_SERVICE_SAP = TCORE_REQUEST | TAPI_TYPE_SAP,
-       TAPI_SERVICE_SAP_CONNECT,
-       TAPI_SERVICE_SAP_DISCONNECT,
-       TAPI_SERVICE_SAP_GET_CONNECTSTATUS,
-       TAPI_SERVICE_SAP_GET_ATR,
+       TAPI_SERVICE_SAP_REQ_CONNECT,
+       TAPI_SERVICE_SAP_REQ_DISCONNECT,
+       TAPI_SERVICE_SAP_REQ_STATUS,
+       TAPI_SERVICE_SAP_REQ_ATR,
        TAPI_SERVICE_SAP_TRANSFER_APDU,
        TAPI_SERVICE_SAP_SET_PROTOCOL,
        TAPI_SERVICE_SAP_SET_POWER,
-       TAPI_SERVICE_SAP_GET_READERSTATUS,
+       TAPI_SERVICE_SAP_REQ_CARDREADERSTATUS,
+
+       TAPI_SERVICE_SAT = TCORE_REQUEST | TAPI_TYPE_SAT,
+       TAPI_SERVICE_SAT_MENU_SELECTION_ENVELOP,
+       TAPI_SERVICE_SAT_SEND_EVENT_DOWNLOAD,
+       TAPI_SERVICE_SAT_UI_USER_CONFIRM,
+       TAPI_SERVICE_SAT_SEND_APP_EXEC_RESULT,
+       TAPI_SERVICE_SAT_GET_MAIN_MENU_INFO,
+       TAPI_SERVICE_SAT_UI_DISPLAY_STATUS,
 
        TAPI_SERVICE_PB = TCORE_REQUEST | TAPI_TYPE_PHONEBOOK,
-       TAPI_SERVICE_PB_GET_INITINFO,
        TAPI_SERVICE_PB_GET_COUNT,
-       TAPI_SERVICE_PB_GET_META,
+       TAPI_SERVICE_PB_GET_METAINFO,
        TAPI_SERVICE_PB_READ_RECORD,
        TAPI_SERVICE_PB_UPDATE_RECORD,
        TAPI_SERVICE_PB_DELETE_RECORD,
@@ -170,8 +201,37 @@ typedef enum {
        TAPI_NOTI_CALL_STATUS_ALERT,
        TAPI_NOTI_CALL_STATUS_INCOMING,
        TAPI_NOTI_CALL_STATUS_WAITING,
-       TAPI_NOTI_CALL_FORWARD,
-       TAPI_NOTI_CALL_BARRING,
+       TAPI_NOTI_CALL_INFO_CALL_CONNECTED_LINE,
+       TAPI_NOTI_CALL_INFO_WAITING,
+       TAPI_NOTI_CALL_INFO_CUG,
+       TAPI_NOTI_CALL_INFO_FORWARDED,
+       TAPI_NOTI_CALL_INFO_BARRED_INCOMING,
+       TAPI_NOTI_CALL_INFO_BARRED_OUTGOING,
+       TAPI_NOTI_CALL_INFO_DEFLECTED,
+       TAPI_NOTI_CALL_INFO_CLIR_SUPPRESSION_REJECT,
+       TAPI_NOTI_CALL_INFO_FORWARD_UNCONDITIONAL,
+       TAPI_NOTI_CALL_INFO_FORWARD_CONDITIONAL,
+       TAPI_NOTI_CALL_INFO_CALL_LINE_IDENTITY,
+       TAPI_NOTI_CALL_INFO_CALL_NAME_INFORMATION,
+       TAPI_NOTI_CALL_INFO_FORWARDED_CALL,
+       TAPI_NOTI_CALL_INFO_CUG_CALL,
+       TAPI_NOTI_CALL_INFO_DEFLECTED_CALL,
+       TAPI_NOTI_CALL_INFO_TRANSFERED_CALL,
+       TAPI_NOTI_CALL_INFO_HELD,
+       TAPI_NOTI_CALL_INFO_ACTIVE,
+       TAPI_NOTI_CALL_INFO_JOINED,
+       TAPI_NOTI_CALL_INFO_RELEASED_ON_HOLD,
+       TAPI_NOTI_CALL_INFO_TRANSFER_ALERT,
+       TAPI_NOTI_CALL_INFO_TRANSFERED,
+       TAPI_NOTI_CALL_INFO_CF_CHECK_MESSAGE,
+
+       TAPI_NOTI_SS = TCORE_NOTIFICATION | TAPI_TYPE_SS,
+       TAPI_NOTI_SS_INFO,
+       TAPI_NOTI_SS_USSD,
+
+       TAPI_NOTI_MODEM = TCORE_NOTIFICATION | TAPI_TYPE_MODEM,
+       TAPI_NOTI_MODEM_POWER,
+       TAPI_NOTI_MODEM_FLIGHT_MODE,
 
        TAPI_NOTI_SIM = TCORE_NOTIFICATION | TAPI_TYPE_SIM,
        TAPI_NOTI_SIM_STATUS,
@@ -180,6 +240,13 @@ typedef enum {
        TAPI_NOTI_SAP_STATUS,
        TAPI_NOTI_SAP_DISCONNECT,
 
+       TAPI_NOTI_SAT = TCORE_NOTIFICATION | TAPI_TYPE_SAT,
+       TAPI_NOTI_SAT_SETUP_MENU,
+       TAPI_NOTI_SAT_DISPLAY_TEXT,
+       TAPI_NOTI_SAT_SELECT_ITEM,
+       TAPI_NOTI_SAT_GET_INKEY,
+       TAPI_NOTI_SAT_GET_INPUT,
+
        TAPI_NOTI_PB = TCORE_NOTIFICATION | TAPI_TYPE_PHONEBOOK,
        TAPI_NOTI_PB_STATUS,
 
@@ -189,10 +256,14 @@ typedef enum {
        TAPI_NOTI_NETWORK_ICON_INFO,
        TAPI_NOTI_NETWORK_CHANGE,
        TAPI_NOTI_NETWORK_TIMEINFO,
+       TAPI_NOTI_NETWORK_IDENTITY,
 
        TAPI_NOTI_PS = TCORE_NOTIFICATION | TAPI_TYPE_PS,
+       TAPI_NOTI_PS_CALL_STATUS,
+       TAPI_NOTI_PS_PDP_IPCONFIGURATION,
        TAPI_NOTI_PS_DUN_PIN_CONTROL,
        TAPI_NOTI_PS_EXTERNAL_CALL,
+       TAPI_NOTI_PS_PROTOCOL_STATUS,
 
        TAPI_NOTI_SMS = TCORE_NOTIFICATION | TAPI_TYPE_SMS,
        TAPI_NOTI_SMS_INCOM_MSG,                        /* This is an unsolicited Incoming SMS Event*/
@@ -219,7 +290,7 @@ typedef enum {
 typedef struct _tapi_handle tapi_handle_t;
 typedef struct _tapi_service_object tapi_service_object_t;
 
-typedef gboolean (*tapi_cb)(tapi_service_object_t *data, void *cb_data);
+typedef gboolean (*tapi_cb)(const tapi_service_object_t *data, void *cb_data);
 
 #ifdef __cplusplus
 }
index 126c052..714e559 100644 (file)
 #include "sipc_common.h"
 #include "sipc.h"
 
+#ifndef dbg
+#include "tapi_log.h"
+#endif
+
 struct _sipc_channel_key {
        unsigned int id;
        int fd;
index d8397ce..124e7e1 100644 (file)
@@ -37,8 +37,8 @@ static void _sipc_util_remove_hashtable_value(gpointer value)
        struct _sipc_marshal_object *tmp_obj = value;
 
        gtype = ((GValue *) value)->g_type;
-       if (gtype == G_TYPE_HASH_TABLE) {
-               tmp_obj = g_value_get_boxed(value);
+       if (gtype == G_TYPE_POINTER) {
+               tmp_obj = g_value_get_pointer(value);
                g_hash_table_destroy(tmp_obj->ht);
        }
 
@@ -76,8 +76,8 @@ static gboolean _sipc_util_create_gvalue(GValue *value, const void *data, sipc_m
                        break;
 
                case SIPC_MARSHAL_DATA_OBJECT_TYPE:
-                       g_value_init(value, G_TYPE_HASH_TABLE);
-                       g_value_set_boxed(value, (gpointer) data);
+                       g_value_init(value, type);
+                       g_value_set_pointer(value, (gpointer) data);
                        break;
 
                default:
@@ -120,9 +120,8 @@ static gboolean _sipc_util_return_value(GValue *src, void **dest, sipc_marshal_d
 
                case SIPC_MARSHAL_DATA_OBJECT_TYPE:
                        tmp = g_new0(struct _sipc_marshal_object, 1);
-                       tmp->ht = g_value_dup_boxed(src);
+                       tmp->ht = g_value_get_pointer(src);
                        *dest = tmp;
-                       //*dest = g_value_dup_boxed(src);
                        break;
 
                default:
@@ -138,7 +137,7 @@ static gboolean _sipc_util_str_to_type(GValue *src, GValue *dest, unsigned int d
        gboolean rv = FALSE;
 
        if(dest_type == G_TYPE_HASH_TABLE)
-               dest_type = G_TYPE_BOXED;
+               dest_type = G_TYPE_POINTER;
 
        switch (dest_type) {
                case G_TYPE_INT: {
@@ -165,10 +164,10 @@ static gboolean _sipc_util_str_to_type(GValue *src, GValue *dest, unsigned int d
                        g_value_set_double(dest, tmp);
                }
                        break;
-               case G_TYPE_BOXED:{
+               case G_TYPE_POINTER:{
                        GHashTable* tmp;
                        tmp = _sipc_util_marshal_object_deserializer(g_value_get_string(src));
-                       g_value_set_boxed(dest, tmp);
+                       g_value_set_pointer(dest, tmp);
                }
                        break;
                default: {
@@ -186,7 +185,9 @@ static GHashTable* _sipc_util_marshal_object_deserializer(const gchar *inparam)
        gchar **tuple = NULL;
        GHashTable *ht = NULL;
 
-       ht = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, _sipc_util_remove_hashtable_value);
+       ht = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+                       _sipc_util_remove_hashtable_value);
+
        if (strlen(inparam) == 0) {
                return ht;
        }
@@ -239,16 +240,17 @@ gboolean sipc_util_marshal_object_add_data(struct _sipc_marshal_object *mo, cons
 
        SIPC_CHECK_DATA_NULL( (mo&&key&&data), FALSE);
 
-       dbg("key=%s, data type (%d)", key, type);
        if (type >= SIPC_MARSHAL_DATA_STRING_MAX)
                return FALSE;
 
        value = g_new0(GValue, 1);
 
-       if(type != SIPC_MARSHAL_DATA_OBJECT_TYPE)
+       if (type != SIPC_MARSHAL_DATA_OBJECT_TYPE) {
                rv = _sipc_util_create_gvalue(value, data, type);
-       else
-               rv = _sipc_util_create_gvalue(value, ((struct _sipc_marshal_object*)data)->ht, type);
+       }
+       else {
+               rv = _sipc_util_create_gvalue(value, (struct _sipc_marshal_object*) data, type);
+       }
 
        if (!rv)
                return FALSE;
@@ -396,18 +398,17 @@ gchar* sipc_util_marshal_object_serializer(struct _sipc_marshal_object *mo)
                unsigned int gtype = 0;
                gchar *tmp = NULL, *encoded_d = NULL;
                GValue gval = { 0, { { 0 } } };
+
                g_value_init(&gval, G_TYPE_STRING);
 
                gtype = ((GValue *) value)->g_type;
-               if (gtype != G_TYPE_HASH_TABLE) {
+               if (gtype != G_TYPE_POINTER) {
                        g_value_transform((GValue *) value, &gval);
                        tmp = g_value_dup_string(&gval);
-                       dbg("gtype = %d, tmp = [%s]", gtype, tmp);
                }
                else {
                        struct _sipc_marshal_object *tmp_obj;
-                       tmp_obj = g_value_get_boxed((GValue *) value);
-                       dbg("tmp_obj.ht = %p", tmp_obj->ht);
+                       tmp_obj = g_value_get_pointer((GValue *) value);
                        tmp = sipc_util_marshal_object_serializer(tmp_obj);
                }
 
@@ -422,6 +423,7 @@ gchar* sipc_util_marshal_object_serializer(struct _sipc_marshal_object *mo)
        rv_str = g_strdup(gstring_tmp->str);
        g_string_free(gstring_tmp, TRUE);
 
+       dbg("serialized string [%s]", rv_str);
        return rv_str;
 }
 
index ae9dab3..ab40179 100644 (file)
@@ -160,6 +160,7 @@ static int _server_send(int fd, struct _sipc_header *h, const void *data)
 
        ret = send(fd, p, p_len, MSG_NOSIGNAL);
        if (ret < 0) {
+               dbg("send() ret = %d, fd = %d, p = %p, p_len = %d", fd, ret, p, p_len);
                g_free(p);
                return -1;
        }
@@ -246,34 +247,17 @@ static gboolean _server_io_inspector(GIOChannel *ch, GIOCondition con, gpointer
        int fd = 0;
        fd = g_io_channel_unix_get_fd(ch);
 
-       switch (con) {
-               case G_IO_IN:
-                       _server_recv(fd, (struct _sipc_server*) data);
-                       return TRUE;
-
-               case G_IO_OUT:
-                       // data can be written ( without blocking )
-               case G_IO_PRI:
-                       // there is urgent data to read
-               case G_IO_ERR:
-                       // error condition
-               case G_IO_HUP:
-                       // hung up ( the connection has been broken, usually for pipe and sockets )
-
-                       // close channel
-                       dbg("channel has been changed");
-                       return FALSE;
-
-               case G_IO_NVAL:
-                       dbg("Invalid channel action happened");
-                       return FALSE;
+       if (con & G_IO_IN) {
+               _server_recv(fd, (struct _sipc_server*) data);
+       }
 
-               default:
-                       // unknown err
-                       break;
+       if (con & G_IO_HUP) {
+               // TODO: close channel
+               dbg("channel has been changed");
+               return FALSE;
        }
 
-       return FALSE;
+       return TRUE;
 }
 
 static gboolean _server_register_channel(struct _sipc_channel *ch, struct _sipc_server *s)
@@ -486,6 +470,8 @@ gboolean sipc_server_broadcast(struct _sipc_server *s, const void *data, unsigne
 
        SIPC_CHECK_DATA_NULL( s, FALSE);
 
+       dbg("client count = %d", g_slist_length(s->rx_chs));
+
        list = s->rx_chs;
        while (list) {
                c = (struct _sipc_channel *) list->data;
index 7a3a8c3..885ceb7 100644 (file)
@@ -8,7 +8,7 @@ SET(INCLUDEDIR "\${prefix}/include")
 
 # Set required packages
 INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED glib-2.0 tcore security-server)
+pkg_check_modules(pkgs REQUIRED glib-2.0 tcore security-server dlog)
 
 FOREACH(flag ${pkgs_CFLAGS})
        SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
index c028ad1..cf1d4a5 100644 (file)
@@ -1,7 +1,7 @@
 libsocket-comm-client (0.1.0) unstable; urgency=low
 
   * Initial
-  * Git: pkgs/t/tel-plugin-socket_communicator
+  * Git: slp/pkgs/t/tel-plugin-socket_communicator
   * Tag: libsocket-comm-client_0.1.0
 
  -- Inho Oh <inho48.oh@samsung.com>  Thu, 15 Mar 2012 23:40:55 +0900
index 8881bf3..e01bb22 100644 (file)
@@ -31,15 +31,16 @@ tapi_handle_t*      tapi_init( char *app_name, char *cp_name );
 gboolean               tapi_deinit( tapi_handle_t *h );
 gboolean               tapi_register_notification( tapi_handle_t *h, tapi_service_notification_e noti, tapi_cb cb, void *cb_data);
 
-tapi_service_object_t* tapi_create_service_object(tapi_service_command_e cmd);
+tapi_service_object_t* tapi_create_service_object(tapi_service_command_e cmd);
 gboolean               tapi_service_object_add_data(tapi_service_object_t* obj, const gchar* key, void *in_data, tapi_object_data_type_e type);
-gboolean               tapi_service_object_get_data(tapi_service_object_t* obj, const gchar* key, void **out_data, tapi_object_data_type_e type);
-gchar                  tapi_service_object_get_char(tapi_service_object_t* obj, const gchar* key);
-gboolean               tapi_service_object_get_boolean(tapi_service_object_t* obj, const gchar* key);
-gint                   tapi_service_object_get_int(tapi_service_object_t* obj, const gchar* key);
-gdouble                        tapi_service_object_get_double(tapi_service_object_t* obj, const gchar* key);
-gchar*                 tapi_service_object_get_string(tapi_service_object_t* obj, const gchar* key);
-tapi_service_object_t* tapi_service_object_get_object(tapi_service_object_t* obj, const gchar* key);
+gboolean               tapi_service_object_get_data(const tapi_service_object_t* obj, const gchar* key, void **out_data, tapi_object_data_type_e type);
+gchar                  tapi_service_object_get_char(const tapi_service_object_t* obj, const gchar* key);
+gboolean               tapi_service_object_get_boolean(const tapi_service_object_t* obj, const gchar* key);
+gint                   tapi_service_object_get_int(const tapi_service_object_t* obj, const gchar* key);
+gdouble                        tapi_service_object_get_double(const tapi_service_object_t* obj, const gchar* key);
+gchar*                 tapi_service_object_get_string(const tapi_service_object_t* obj, const gchar* key);
+tapi_service_command_e tapi_service_object_get_command(const struct _tapi_service_object* obj);
+tapi_service_object_t* tapi_service_object_get_object(const tapi_service_object_t* obj, const gchar* key);
 gboolean               tapi_service_object_remove_data(tapi_service_object_t* obj, const gchar* key);
 gboolean               tapi_service_object_remove_alldata(tapi_service_object_t* obj);
 gboolean               tapi_service_object_destory(tapi_service_object_t* obj);
index 9675bdb..a34b826 100644 (file)
@@ -22,6 +22,7 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "sipc_log.h"
 #include "tapi_common_sipc.h"
 
 static sipc_marshal_data_type_e _convert_marshal_data_type(tapi_object_data_type_e type)
@@ -99,7 +100,7 @@ gboolean _tapi_service_object_add_data(struct _tapi_service_object *so, const gc
        return sipc_util_marshal_object_add_data(so->mo, key, ((struct _tapi_service_object *)data)->mo , _convert_marshal_data_type(type) );
 }
 
-gboolean _tapi_service_object_get_data(struct _tapi_service_object *so, const gchar* key, void **data, tapi_object_data_type_e type)
+gboolean _tapi_service_object_get_data(const struct _tapi_service_object *so, const gchar* key, void **data, tapi_object_data_type_e type)
 {
        if(type == TAPI_OBJECT_DATA_TYPE_OBJECT){
                *data = g_new0( struct _tapi_service_object, 1 );
@@ -111,32 +112,32 @@ gboolean _tapi_service_object_get_data(struct _tapi_service_object *so, const gc
        return sipc_util_marshal_object_get_data(so->mo, key, data, _convert_marshal_data_type(type) );
 }
 
-gchar _tapi_service_object_get_char(struct _tapi_service_object *so, const gchar* key)
+gchar _tapi_service_object_get_char(const struct _tapi_service_object *so, const gchar* key)
 {
        return sipc_util_marshal_object_get_char(so->mo, key);
 }
 
-gboolean _tapi_service_object_get_boolean(struct _tapi_service_object *so, const gchar* key)
+gboolean _tapi_service_object_get_boolean(const struct _tapi_service_object *so, const gchar* key)
 {
        return sipc_util_marshal_object_get_boolean(so->mo, key);
 }
 
-gint _tapi_service_object_get_int(struct _tapi_service_object *so, const gchar* key)
+gint _tapi_service_object_get_int(const struct _tapi_service_object *so, const gchar* key)
 {
        return sipc_util_marshal_object_get_int(so->mo, key);
 }
 
-gdouble _tapi_service_object_get_double(struct _tapi_service_object *so, const gchar* key)
+gdouble _tapi_service_object_get_double(const struct _tapi_service_object *so, const gchar* key)
 {
        return sipc_util_marshal_object_get_double(so->mo, key);
 }
 
-gchar* _tapi_service_object_get_string(struct _tapi_service_object *so, const gchar* key)
+gchar* _tapi_service_object_get_string(const struct _tapi_service_object *so, const gchar* key)
 {
        return sipc_util_marshal_object_get_string(so->mo, key);
 }
 
-struct _tapi_service_object* _tapi_service_object_get_object(struct _tapi_service_object *so, const gchar* key)
+struct _tapi_service_object* _tapi_service_object_get_object(const struct _tapi_service_object *so, const gchar* key)
 {
        struct _tapi_service_object *rvalue = 0;
        rvalue = g_new0( struct _tapi_service_object, 1 );
@@ -157,9 +158,9 @@ struct _tapi_service_object* _tapi_service_object_extract_async_data(const gchar
        so = g_new0( struct _tapi_service_object, 1 );
 
        so->cmd = 0;
-       so->mo  = _tapi_service_object_deserializer(data);
-       if ( !so->mo ) {
-               g_free( so );
+       so->mo = _tapi_service_object_deserializer(data);
+       if (!so->mo) {
+               g_free(so);
                return NULL;
        }
 
index b010f6b..368d5d5 100644 (file)
@@ -35,14 +35,14 @@ extern "C" {
 struct _tapi_service_object*   _tapi_service_object_create( tapi_service_command_e c );
 gboolean                                               _tapi_service_object_add_data(struct _tapi_service_object *so, const gchar* key,
                                                                        void *in_data, tapi_object_data_type_e type);
-gboolean                                               _tapi_service_object_get_data(struct _tapi_service_object *so, const gchar* key,
+gboolean                                               _tapi_service_object_get_data(const struct _tapi_service_object *so, const gchar* key,
                                                                        void **out_data, tapi_object_data_type_e type);
-gchar                                                  _tapi_service_object_get_char(struct _tapi_service_object *so, const gchar* key);
-gboolean                                               _tapi_service_object_get_boolean(struct _tapi_service_object *so, const gchar* key);
-gint                                                   _tapi_service_object_get_int(struct _tapi_service_object *so, const gchar* key);
-gdouble                                                        _tapi_service_object_get_double(struct _tapi_service_object *so, const gchar* key);
-gchar*                                                 _tapi_service_object_get_string(struct _tapi_service_object *so, const gchar* key);
-struct _tapi_service_object*   _tapi_service_object_get_object(struct _tapi_service_object *so, const gchar* key);
+gchar                                                  _tapi_service_object_get_char(const struct _tapi_service_object *so, const gchar* key);
+gboolean                                               _tapi_service_object_get_boolean(const struct _tapi_service_object *so, const gchar* key);
+gint                                                   _tapi_service_object_get_int(const struct _tapi_service_object *so, const gchar* key);
+gdouble                                                        _tapi_service_object_get_double(const struct _tapi_service_object *so, const gchar* key);
+gchar*                                                 _tapi_service_object_get_string(const struct _tapi_service_object *so, const gchar* key);
+struct _tapi_service_object*   _tapi_service_object_get_object(const struct _tapi_service_object *so, const gchar* key);
 struct _tapi_service_object*   _tapi_service_object_extract_async_data(const gchar *data);
 gboolean                                               _tapi_service_object_remove_data(struct _tapi_service_object *so, const gchar* key);
 gboolean                                               _tapi_service_object_remove_alldata(struct _tapi_service_object *so);
diff --git a/libclient/src/tapi_log.h b/libclient/src/tapi_log.h
deleted file mode 100644 (file)
index f014572..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * tel-plugin-socket-communicator
- *
- * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Ja-young Gu <jygu@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __TPAPI_LOG_H__
-#define __TPAPI_LOG_H__
-
-__BEGIN_DECLS
-
-#define ANSI_COLOR_NORMAL "\e[0m"
-
-#define ANSI_COLOR_BLACK "\e[0;30m"
-#define ANSI_COLOR_RED "\e[0;31m"
-#define ANSI_COLOR_GREEN "\e[0;32m"
-#define ANSI_COLOR_BROWN "\e[0;33m"
-#define ANSI_COLOR_BLUE "\e[0;34m"
-#define ANSI_COLOR_MAGENTA "\e[0;35m"
-#define ANSI_COLOR_CYAN "\e[0;36m"
-#define ANSI_COLOR_LIGHTGRAY "\e[0;37m"
-
-#define ANSI_COLOR_DARKGRAY "\e[1;30m"
-#define ANSI_COLOR_LIGHTRED "\e[1;31m"
-#define ANSI_COLOR_LIGHTGREEN "\e[1;32m"
-#define ANSI_COLOR_YELLOW "\e[1;33m"
-#define ANSI_COLOR_LIGHTBLUE "\e[1;34m"
-#define ANSI_COLOR_LIGHTMAGENTA "\e[1;35m"
-#define ANSI_COLOR_LIGHTCYAN "\e[1;36m"
-#define ANSI_COLOR_WHITE "\e[1;37m"
-
-#ifndef TELEPHONY_LOG_FILE
-#define TELEPHONY_LOG_FILE stdout
-#endif
-
-#define msg(fmt,args...)  fprintf(TELEPHONY_LOG_FILE, fmt "\n", ##args); fflush(TELEPHONY_LOG_FILE);
-#define dbg(fmt,args...)  fprintf(TELEPHONY_LOG_FILE, ANSI_COLOR_LIGHTGRAY "<%s:%s> " ANSI_COLOR_NORMAL fmt "\n", __FILE__, __FUNCTION__, ##args); fflush(TELEPHONY_LOG_FILE);
-#define warn(fmt,args...) fprintf(TELEPHONY_LOG_FILE, ANSI_COLOR_YELLOW "<%s:%s> " ANSI_COLOR_NORMAL fmt "\n", __FILE__, __FUNCTION__, ##args); fflush(TELEPHONY_LOG_FILE);
-#define err(fmt,args...)  fprintf(TELEPHONY_LOG_FILE, ANSI_COLOR_LIGHTRED "<%s:%s> " ANSI_COLOR_NORMAL fmt "\n", __FILE__, __FUNCTION__, ##args); fflush(TELEPHONY_LOG_FILE);
-
-
-__END_DECLS
-
-#endif
index e5cf781..1d6d9b3 100644 (file)
@@ -24,6 +24,7 @@
 #include <errno.h>
 #include <security-server.h>
 
+#include "sipc_log.h"
 #include "tapi_common_sipc.h"
 #include "tapi_sipc.h"
 
@@ -235,7 +236,15 @@ gboolean tapi_service_object_add_data(struct _tapi_service_object* obj, const gc
        return TRUE;
 }
 
-gboolean tapi_service_object_get_data(struct _tapi_service_object* obj, const gchar* key, void **out_data,
+tapi_service_command_e tapi_service_object_get_command(const struct _tapi_service_object* obj)
+{
+       if (!obj)
+               return TAPI_SERVICE_UNKNOWN;
+
+       return obj->cmd;
+}
+
+gboolean tapi_service_object_get_data(const struct _tapi_service_object* obj, const gchar* key, void **out_data,
                tapi_object_data_type_e type)
 {
        gboolean rv = FALSE;
@@ -247,32 +256,32 @@ gboolean tapi_service_object_get_data(struct _tapi_service_object* obj, const gc
        return TRUE;
 }
 
-gchar tapi_service_object_get_char(tapi_service_object_t* obj, const gchar* key)
+gchar tapi_service_object_get_char(const tapi_service_object_t* obj, const gchar* key)
 {
        return _tapi_service_object_get_char(obj, key);
 }
 
-gboolean tapi_service_object_get_boolean(tapi_service_object_t* obj, const gchar* key)
+gboolean tapi_service_object_get_boolean(const tapi_service_object_t* obj, const gchar* key)
 {
        return _tapi_service_object_get_boolean(obj, key);
 }
 
-gint tapi_service_object_get_int(tapi_service_object_t* obj, const gchar* key)
+gint tapi_service_object_get_int(const tapi_service_object_t* obj, const gchar* key)
 {
        return _tapi_service_object_get_int(obj, key);
 }
 
-gdouble tapi_service_object_get_double(tapi_service_object_t* obj, const gchar* key)
+gdouble tapi_service_object_get_double(const tapi_service_object_t* obj, const gchar* key)
 {
        return _tapi_service_object_get_double(obj, key);
 }
 
-gchar* tapi_service_object_get_string(tapi_service_object_t* obj, const gchar* key)
+gchar* tapi_service_object_get_string(const tapi_service_object_t* obj, const gchar* key)
 {
        return _tapi_service_object_get_string(obj, key);
 }
 
-struct _tapi_service_object* tapi_service_object_get_object(tapi_service_object_t* obj, const gchar* key)
+struct _tapi_service_object* tapi_service_object_get_object(const tapi_service_object_t* obj, const gchar* key)
 {
        return _tapi_service_object_get_object(obj, key);
 }
diff --git a/packaging/unused b/packaging/unused
deleted file mode 100644 (file)
index 5364927..0000000
+++ /dev/null
@@ -1 +0,0 @@
-this package is not used in OBS
index e2820c8..5279b89 100644 (file)
@@ -8,7 +8,7 @@ SET(INCLUDEDIR "\${prefix}/include")
 
 # Set required packages
 INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED glib-2.0 tcore security-server aul)
+pkg_check_modules(pkgs REQUIRED glib-2.0 tcore security-server aul dlog)
 
 FOREACH(flag ${pkgs_CFLAGS})
        SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
@@ -18,6 +18,9 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/ ${CMAKE_SOURCE_DIR}/../common/i
 
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Werror -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wmissing-declarations -Wredundant-decls -Wcast-align")
 
+ADD_DEFINITIONS("-DFEATURE_DLOG_DEBUG")
+ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"PLG_TAPI\"")
+
 MESSAGE(${CMAKE_C_FLAGS})
 MESSAGE(${CMAKE_EXE_LINKER_FLAGS})
 
@@ -27,6 +30,7 @@ SET(SRCS
                ../common/src/sipc_marshal.c
                src/desc-sipc.c
                src/socket_sim.c
+               src/socket_sat.c
                src/socket_sap.c
                src/socket_pb.c
                src/socket_ps.c
index 9674311..5c9e501 100644 (file)
@@ -1,7 +1,7 @@
 tel-plugin-socket-communicator (0.1.0) unstable; urgency=low
 
   * Initial
-  * Git: pkgs/t/tel-plugin-socket_communicator
+  * Git: slp/pkgs/t/tel-plugin-socket_communicator
   * Tag: tel-plugin-socket-communicator_0.1.0-1
 
  -- Inho Oh <inho48.oh@samsung.com>  Thu, 15 Mar 2012 23:40:55 +0900
index 1d0d753..30dd020 100644 (file)
@@ -58,6 +58,11 @@ static int _dispatch_service_request(unsigned int ch_id, struct _tapi_header *hd
                        scomm_service_reqeust_sim(ch_id, d->comm, plugin, hdr->cmd, data, outparam);
                        break;
 
+               case TCORE_TYPE_SAT:
+                       dbg("sat request");
+                       scomm_service_reqeust_sat(ch_id, d->comm, plugin, hdr->cmd, data, outparam);
+                       break;
+
                case TCORE_TYPE_SAP:
                        dbg("sap request");
                        scomm_service_reqeust_sap(ch_id, d->comm, plugin, hdr->cmd, data, outparam);
index 0b44715..d41bf25 100644 (file)
@@ -55,6 +55,13 @@ gboolean scomm_service_response_sim(Communicator *comm, UserRequest *ur, enum tc
 gboolean scomm_service_notification_sim(Communicator *comm, CoreObject *source, enum tcore_notification_command command,
                unsigned int data_len, const void *data);
 
+gboolean scomm_service_reqeust_sat(unsigned int ch_id, Communicator *c, TcorePlugin *plugin,
+               tapi_service_command_e cmd, gchar *data, void **outparam);
+gboolean scomm_service_response_sat(Communicator *comm, UserRequest *ur,
+               enum tcore_response_command command, unsigned int data_len, const void *data);
+gboolean scomm_service_notification_sat(Communicator *comm, CoreObject *source,
+               enum tcore_notification_command command, unsigned int data_len, const void *data);
+
 gboolean scomm_service_reqeust_sap(unsigned int ch_id, Communicator *c, TcorePlugin *plugin,
                tapi_service_command_e cmd, gchar *data, void **outparam);
 gboolean scomm_service_response_sap(Communicator *comm, UserRequest *ur, enum tcore_response_command command,
index b76600a..31095b2 100644 (file)
@@ -41,6 +41,9 @@
 #include "tapi_common.h"
 #include "module_req.h"
 
+static void _launch_voice_call( struct tnoti_call_status_incoming* incoming );
+static void _launch_video_call( struct tnoti_call_status_incoming* incoming );
+
 gboolean scomm_service_reqeust_call(unsigned int ch_id, Communicator *c, TcorePlugin *plugin, tapi_service_command_e cmd, gchar *data, void **outparam)
 {
        int ret = 0;
@@ -83,259 +86,226 @@ gboolean scomm_service_reqeust_call(unsigned int ch_id, Communicator *c, TcorePl
        switch (cmd) {
                case TAPI_SERVICE_CALL_DIAL: {
                        struct treq_call_dial data;
-                       /*
-                        * COMMON CODE
-                        * get_data from in_obj
-                        *
-                        * ONLY SYNC API & RETURN DATA
-                        * out_obj = sipc_util_marshal_object_create();
-                        * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                        * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                        *
-                        * serial_d = sipc_util_marshal_object_serializer(out_obj);
-                        * s_data_len = strlen(serial_d);
-                        * sipc_util_marshal_object_destory(out_obj);
-                        *
-                        * *outparam = g_new0(char, s_data_len);
-                        * memcpy(*outparam, serial_d, hdr.s_data_len);
-                        * g_free(serial_d);
-                        * return;
-                        *
-                        */
+                       gchar *type = 0;
+                       gchar *number = 0;
+                       
+                       type = sipc_util_marshal_object_get_string(in_obj, "call_type");
+                       number = sipc_util_marshal_object_get_string(in_obj, "call_number");
+
+                       data.type = (enum telephony_call_type)*type;
+
+                       if ( !number ) {
+                               dbg("[ error ] number : 0");
+                               result = FALSE;
+                               goto RETURN;
+                       }
+
+                       memcpy( data.number, number, MAX_CALL_DIAL_NUM_LEN );
+
                        tcore_user_request_set_data(ur, sizeof( struct treq_call_dial ), &data);
                        tcore_user_request_set_command(ur, TREQ_CALL_DIAL);
-               }break;
-               case TAPI_SERVICE_ANSWER: {
+
+               } break;
+
+               case TAPI_SERVICE_CALL_ANSWER: {
                        struct treq_call_answer data;
-                       /*
-                        * COMMON CODE
-                        * get_data from in_obj
-                        *
-                        * ONLY SYNC API & RETURN DATA
-                        * out_obj = sipc_util_marshal_object_create();
-                        * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                        * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                        *
-                        * serial_d = sipc_util_marshal_object_serializer(out_obj);
-                        * s_data_len = strlen(serial_d);
-                        * sipc_util_marshal_object_destory(out_obj);
-                        *
-                        * *outparam = g_new0(char, s_data_len);
-                        * memcpy(*outparam, serial_d, hdr.s_data_len);
-                        * g_free(serial_d);
-                        * return;
-                        *
-                        */
+
+                       gchar *id = 0;
+                       gchar *type = 0;
+                       
+                       id = sipc_util_marshal_object_get_string(in_obj, "call_id");
+                       type = sipc_util_marshal_object_get_string(in_obj, "answer_type");
+
+                       data.id         = (unsigned int)*id;
+                       data.type       = (enum telephony_call_answer_type)*type;
+
                        tcore_user_request_set_data(ur, sizeof( struct treq_call_answer ), &data);
                        tcore_user_request_set_command(ur, TREQ_CALL_ANSWER);
                }break;
-               case TAPI_SERVICE_END: {
-                       //TAPI_CS_CALL_RELEASEALL
-                       //TAPI_CS_CALL_RELEASEALL_ACTIVE
-                       //TAPI_CS_CALL_RELEASEALL_HELD
+
+               case TAPI_SERVICE_CALL_END: {
                        struct treq_call_end data;
-                       /*
-                        * COMMON CODE
-                        * get_data from in_obj
-                        *
-                        * ONLY SYNC API & RETURN DATA
-                        * out_obj = sipc_util_marshal_object_create();
-                        * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                        * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                        *
-                        * serial_d = sipc_util_marshal_object_serializer(out_obj);
-                        * s_data_len = strlen(serial_d);
-                        * sipc_util_marshal_object_destory(out_obj);
-                        *
-                        * *outparam = g_new0(char, s_data_len);
-                        * memcpy(*outparam, serial_d, hdr.s_data_len);
-                        * g_free(serial_d);
-                        * return;
-                        *
-                        */
+
+                       gchar *id = 0;
+                       gchar *type = 0;
+
+                       id = sipc_util_marshal_object_get_string(in_obj, "call_id");
+                       type = sipc_util_marshal_object_get_string(in_obj, "end_type");
+
+                       data.id         = (unsigned int)*id;
+                       data.type       = (enum telephony_call_end_type)*type;
+
                        tcore_user_request_set_data(ur, sizeof( struct treq_call_end ), &data);
                        tcore_user_request_set_command(ur, TREQ_CALL_END);
                }break;
 
-               //TAPI_CS_CALL_DTMF
-
-               case TAPI_SERVICE_HOLD: {
-                       unsigned int id = 0;
-                       /*
-                        * COMMON CODE
-                        * get_data from in_obj
-                        *
-                        * ONLY SYNC API & RETURN DATA
-                        * out_obj = sipc_util_marshal_object_create();
-                        * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                        * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                        *
-                        * serial_d = sipc_util_marshal_object_serializer(out_obj);
-                        * s_data_len = strlen(serial_d);
-                        * sipc_util_marshal_object_destory(out_obj);
-                        *
-                        * *outparam = g_new0(char, s_data_len);
-                        * memcpy(*outparam, serial_d, hdr.s_data_len);
-                        * g_free(serial_d);
-                        * return;
-                        *
-                        */
-                       tcore_user_request_set_data(ur, sizeof( unsigned int ), &id);
+               case TAPI_SERVICE_CALL_SEND_DTMF: {
+                       struct treq_call_dtmf data;
+                       gchar *str;
+
+                       str = sipc_util_marshal_object_get_string(in_obj, "call_dtmf");
+
+                       if ( str ) {
+                               strncpy( data.digits, str, MAX_CALL_DTMF_DIGITS_LEN );
+                       } else {
+                               dbg("[ error ] str : 0");
+                               result = FALSE;
+                               goto RETURN;
+                       }
+
+                       tcore_user_request_set_data(ur, sizeof( struct treq_call_dtmf ), &data);
+                       tcore_user_request_set_command(ur, TREQ_CALL_SEND_DTMF);
+               }break;
+
+               case TAPI_SERVICE_CALL_HOLD: {
+                       gchar *id = 0;
+                       id = sipc_util_marshal_object_get_string(in_obj, "call_id");
+
+                       tcore_user_request_set_data(ur, sizeof( unsigned int ), id);
                        tcore_user_request_set_command(ur, TREQ_CALL_HOLD);
                }break;
-               case TAPI_SERVICE_ACTIVE: {
-                       unsigned int id = 0;
-                       /*
-                        * COMMON CODE
-                        * get_data from in_obj
-                        *
-                        * ONLY SYNC API & RETURN DATA
-                        * out_obj = sipc_util_marshal_object_create();
-                        * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                        * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                        *
-                        * serial_d = sipc_util_marshal_object_serializer(out_obj);
-                        * s_data_len = strlen(serial_d);
-                        * sipc_util_marshal_object_destory(out_obj);
-                        *
-                        * *outparam = g_new0(char, s_data_len);
-                        * memcpy(*outparam, serial_d, hdr.s_data_len);
-                        * g_free(serial_d);
-                        * return;
-                        *
-                        */
-                       tcore_user_request_set_data(ur, sizeof( unsigned int ), &id);
+
+               case TAPI_SERVICE_CALL_ACTIVE: {
+                       gchar *id = 0;
+                       id = sipc_util_marshal_object_get_string(in_obj, "call_id");
+
+                       tcore_user_request_set_data(ur, sizeof( unsigned int ), id);
                        tcore_user_request_set_command(ur, TREQ_CALL_ACTIVE);
                }break;
-               case TAPI_SERVICE_SWAP: {
-                       unsigned int id = 0;
-                       /*
-                        * COMMON CODE
-                        * get_data from in_obj
-                        *
-                        * ONLY SYNC API & RETURN DATA
-                        * out_obj = sipc_util_marshal_object_create();
-                        * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                        * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                        *
-                        * serial_d = sipc_util_marshal_object_serializer(out_obj);
-                        * s_data_len = strlen(serial_d);
-                        * sipc_util_marshal_object_destory(out_obj);
-                        *
-                        * *outparam = g_new0(char, s_data_len);
-                        * memcpy(*outparam, serial_d, hdr.s_data_len);
-                        * g_free(serial_d);
-                        * return;
-                        *
-                        */
-                       tcore_user_request_set_data(ur, sizeof( unsigned int ), &id);
+
+               case TAPI_SERVICE_CALL_SWAP: {
+                       gchar *id = 0;
+                       id = sipc_util_marshal_object_get_string(in_obj, "call_id");
+
+                       tcore_user_request_set_data(ur, sizeof( unsigned int ), id);
                        tcore_user_request_set_command(ur, TREQ_CALL_SWAP);
                }break;
-               case TAPI_SERVICE_JOIN: {
-                       unsigned int id = 0;
-                       /*
-                        * COMMON CODE
-                        * get_data from in_obj
-                        *
-                        * ONLY SYNC API & RETURN DATA
-                        * out_obj = sipc_util_marshal_object_create();
-                        * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                        * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                        *
-                        * serial_d = sipc_util_marshal_object_serializer(out_obj);
-                        * s_data_len = strlen(serial_d);
-                        * sipc_util_marshal_object_destory(out_obj);
-                        *
-                        * *outparam = g_new0(char, s_data_len);
-                        * memcpy(*outparam, serial_d, hdr.s_data_len);
-                        * g_free(serial_d);
-                        * return;
-                        *
-                        */
-                       tcore_user_request_set_data(ur, sizeof( unsigned int ), &id);
+
+               case TAPI_SERVICE_CALL_JOIN: {
+                       gchar *id = 0;
+                       id = sipc_util_marshal_object_get_string(in_obj, "call_id");
+
+                       tcore_user_request_set_data(ur, sizeof( unsigned int ), id);
                        tcore_user_request_set_command(ur, TREQ_CALL_JOIN);
                }break;
-               case TAPI_SERVICE_SPLIT: {
-                       unsigned int id = 0;
-                       /*
-                        * COMMON CODE
-                        * get_data from in_obj
-                        *
-                        * ONLY SYNC API & RETURN DATA
-                        * out_obj = sipc_util_marshal_object_create();
-                        * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                        * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                        *
-                        * serial_d = sipc_util_marshal_object_serializer(out_obj);
-                        * s_data_len = strlen(serial_d);
-                        * sipc_util_marshal_object_destory(out_obj);
-                        *
-                        * *outparam = g_new0(char, s_data_len);
-                        * memcpy(*outparam, serial_d, hdr.s_data_len);
-                        * g_free(serial_d);
-                        * return;
-                        *
-                        */
-                       tcore_user_request_set_data(ur, sizeof( unsigned int ), &id);
+
+               case TAPI_SERVICE_CALL_SPLIT: {
+                       gchar *id = 0;
+                       id = sipc_util_marshal_object_get_string(in_obj, "call_id");
+
+                       tcore_user_request_set_data(ur, sizeof( unsigned int ), id);
                        tcore_user_request_set_command(ur, TREQ_CALL_SPLIT);
                }break;
-               case TAPI_SERVICE_DEFLECT: {
-                       /*
-                        * COMMON CODE
-                        * get_data from in_obj
-                        *
-                        * ONLY SYNC API & RETURN DATA
-                        * out_obj = sipc_util_marshal_object_create();
-                        * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                        * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                        *
-                        * serial_d = sipc_util_marshal_object_serializer(out_obj);
-                        * s_data_len = strlen(serial_d);
-                        * sipc_util_marshal_object_destory(out_obj);
-                        *
-                        * *outparam = g_new0(char, s_data_len);
-                        * memcpy(*outparam, serial_d, hdr.s_data_len);
-                        * g_free(serial_d);
-                        * return;
-                        *
-                        */
+
+               case TAPI_SERVICE_CALL_DEFLECT: {
+                       gchar *number = 0;
+                       number = sipc_util_marshal_object_get_string(in_obj, "call_number");
+
+                       if ( !number ) {
+                               dbg("[ error ] number : 0");
+                               result = FALSE;
+                               goto RETURN;
+                       }
+
+                       tcore_user_request_set_data(ur, MAX_CALL_NUMBER_LEN, (char*)number);
                        tcore_user_request_set_command(ur, TREQ_CALL_DEFLECT);
                }break;
-               case TAPI_SERVICE_TRANSFER: {
-                       unsigned int id = 0;
-                       /*
-                        * COMMON CODE
-                        * get_data from in_obj
-                        *
-                        * ONLY SYNC API & RETURN DATA
-                        * out_obj = sipc_util_marshal_object_create();
-                        * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                        * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                        *
-                        * serial_d = sipc_util_marshal_object_serializer(out_obj);
-                        * s_data_len = strlen(serial_d);
-                        * sipc_util_marshal_object_destory(out_obj);
-                        *
-                        * *outparam = g_new0(char, s_data_len);
-                        * memcpy(*outparam, serial_d, hdr.s_data_len);
-                        * g_free(serial_d);
-                        * return;
-                        *
-                        */
-                       tcore_user_request_set_data(ur, sizeof( unsigned int ), &id);
+
+               case TAPI_SERVICE_CALL_TRANSFER: {
+                       gchar *id = 0;
+                       id = sipc_util_marshal_object_get_string(in_obj, "call_id");
+
+                       tcore_user_request_set_data(ur, sizeof( unsigned int ), id);
                        tcore_user_request_set_command(ur, TREQ_CALL_TRANSFER);
                }break;
 
                //TAPI_CS_CALL_GETACTIVELINE
                //TAPI_CS_CALL_SETACTIVELINE
 
-               case TAPI_SERVICE_SEND_DTMF: {}break;
-               case TAPI_SERVICE_SET_SOUND_PATH: {}break;
-               case TAPI_SERVICE_GET_SOUND_VOLUME_LEVEL: {}break;
-               case TAPI_SERVICE_SET_SOUND_VOLUME_LEVEL: {}break;
-               case TAPI_SERVICE_MUTE: {}break;
-               case TAPI_SERVICE_UNMUTE: {}break;
-               case TAPI_SERVICE_GET_MUTE_STATUS: {}break;
+               case TAPI_SERVICE_CALL_SET_SOUND_PATH: {
+                       struct treq_call_sound_set_path data;
+                       gchar *path = 0;
+
+                       path = sipc_util_marshal_object_get_string(in_obj, "sound_path");
+
+                       data.path = (enum telephony_call_sound_path)*path;
+
+                       tcore_user_request_set_data(ur, sizeof( struct treq_call_sound_set_path ), &data);
+                       tcore_user_request_set_command(ur, TREQ_CALL_SET_SOUND_PATH );
+
+           }break;
+
+               case TAPI_SERVICE_CALL_GET_SOUND_VOLUME_LEVEL: {
+                       struct treq_call_sound_get_volume_level data;
+                       gchar *sound_device = 0;
+                       gchar *sound_type = 0;
+
+                       sound_type = sipc_util_marshal_object_get_string(in_obj, "sound_type");
+                       sound_device = sipc_util_marshal_object_get_string(in_obj, "sound_device");
+
+                       data.sound = (enum telephony_call_sound_type)sound_type;
+                       data.device = (enum telephony_call_sound_device)sound_device;
+
+                       tcore_user_request_set_data(ur, sizeof( struct treq_call_sound_get_volume_level ), &data);
+                       tcore_user_request_set_command(ur, TREQ_CALL_GET_SOUND_VOLUME_LEVEL );
+               }break;
+
+               case TAPI_SERVICE_CALL_SET_SOUND_VOLUME_LEVEL: {
+                       struct treq_call_sound_set_volume_level data;
+                       gchar *sound_type = 0;
+                       gchar *sound_device = 0;
+                       gchar *sound_volume = 0;
+
+                       sound_type = sipc_util_marshal_object_get_string(in_obj, "sound_type");
+                       sound_device = sipc_util_marshal_object_get_string(in_obj, "sound_device");
+                       sound_volume = sipc_util_marshal_object_get_string(in_obj, "sound_volume");
+
+                       data.sound = (enum telephony_call_sound_type)sound_type;
+                       data.device = (enum telephony_call_sound_device)sound_device;
+                       data.volume = (enum telephony_call_sound_volume_level)sound_volume;
+
+                       tcore_user_request_set_data(ur, sizeof( struct treq_call_sound_set_volume_level ), &data);
+                       tcore_user_request_set_command(ur, TREQ_CALL_SET_SOUND_VOLUME_LEVEL );
+
+               }break;
+
+               case TAPI_SERVICE_CALL_MUTE: {
+
+                       tcore_user_request_set_command(ur, TREQ_CALL_MUTE);
+                                                                
+               }break;
+
+               case TAPI_SERVICE_CALL_UNMUTE: {
+
+                       tcore_user_request_set_command(ur, TREQ_CALL_UNMUTE);
+
+               }break;
+
+               case TAPI_SERVICE_CALL_GET_MUTE_STATUS: {
+
+                       tcore_user_request_set_command(ur, TREQ_CALL_GET_MUTE_STATUS);
+
+               }break;
+
+               case TAPI_SERVICE_CALL_SET_ACTIVE_LINE: {}break;
+               case TAPI_SERVICE_CALL_GET_ACTIVE_LINE: {}break;
+               case TAPI_SERVICE_CALL_ACTIVATE_CCBS: {}break;
+       }
+
+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) {
+               tcore_user_request_unref(ur);
+               return FALSE;
        }
 
        ret = tcore_communicator_dispatch_request(c, ur);
@@ -373,131 +343,109 @@ gboolean scomm_service_response_call(Communicator *comm, UserRequest *ur, enum t
        dbg("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;
 
+       out_obj = sipc_util_marshal_object_create();
+
        switch (command) {
                case TRESP_CALL_DIAL: {
                        struct tresp_call_general* resp_data = 0;
                        resp_data = (struct tresp_call_general*)data;
 
-                       /*{create output data and create serialized data}
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE);
+
                } break;
 
                case TRESP_CALL_ANSWER: {
                        struct tresp_call_general* resp_data = 0;
                        resp_data = (struct tresp_call_general*)data;
 
-                       /*{create output data and create serialized data}
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE);
+
                } break;
 
                case TRESP_CALL_END: {
                        struct tresp_call_general* resp_data = 0;
                        resp_data = (struct tresp_call_general*)data;
 
-                       /*{create output data and create serialized data}
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE);
 
                } break;
                case TRESP_CALL_END_ALL: {
                        struct tresp_call_general* resp_data = 0;
                        resp_data = (struct tresp_call_general*)data;
 
-                       /*{create output data and create serialized data}
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE);
 
                } break;
                case TRESP_CALL_END_ALL_ACTIVE: {
                        struct tresp_call_general* resp_data = 0;
                        resp_data = (struct tresp_call_general*)data;
 
-                       /*{create output data and create serialized data}
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE);
+
                } break;
                case TRESP_CALL_END_ALL_HELD: {
                        struct tresp_call_general* resp_data = 0;
                        resp_data = (struct tresp_call_general*)data;
 
-                       /*{create output data and create serialized data}
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE);
+
                } break;
                case TRESP_CALL_HOLD: {
                        struct tresp_call_general* resp_data = 0;
                        resp_data = (struct tresp_call_general*)data;
 
-                       /*{create output data and create serialized data}
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE);
+
                } break;
                case TRESP_CALL_ACTIVE: {
                        struct tresp_call_general* resp_data = 0;
                        resp_data = (struct tresp_call_general*)data;
 
-                       /*{create output data and create serialized data}
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE);
+
                } break;
                case TRESP_CALL_SWAP: {
                        struct tresp_call_general* resp_data = 0;
                        resp_data = (struct tresp_call_general*)data;
 
-                       /*{create output data and create serialized data}
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE);
+
                } break;
                case TRESP_CALL_JOIN: {
                        struct tresp_call_general* resp_data = 0;
                        resp_data = (struct tresp_call_general*)data;
 
-                       /*{create output data and create serialized data}
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE);
+
                } break;
                case TRESP_CALL_SPLIT: {
                        struct tresp_call_general* resp_data = 0;
                        resp_data = (struct tresp_call_general*)data;
 
-                       /*{create output data and create serialized data}
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE);
+
                } break;
                case TRESP_CALL_DEFLECT: {
 
@@ -506,43 +454,32 @@ gboolean scomm_service_response_call(Communicator *comm, UserRequest *ur, enum t
                        struct tresp_call_general* resp_data = 0;
                        resp_data = (struct tresp_call_general*)data;
 
-                       /*{create output data and create serialized data}
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE);
+
                } break;
                case TRESP_CALL_SEND_DTMF: {
 
                } break;
                case TRESP_CALL_SET_SOUND_PATH: {
                        struct tresp_call_sound_general* resp_data = 0;
-                       //tapi_sound_error_info_t error_info = { 0 };
-
                        resp_data = (struct tresp_call_sound_general*)data;
 
-                       /*{create output data and create serialized data}
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+                       out_obj = sipc_util_marshal_object_create();
+                       sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "sound_err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE);
+
                } break;
 
                case TRESP_CALL_SET_SOUND_VOLUME_LEVEL: {
                        struct tresp_call_sound_general* resp_data = 0;
-                       //tapi_sound_error_info_t error_info = { 0 };
-                       unsigned int err = 0;
-
                        resp_data = (struct tresp_call_sound_general*)data;
 
-                       /*{create output data and create serialized data}
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+                       out_obj = sipc_util_marshal_object_create();
+                       sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "sound_err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE);
+
                } break;
 
                case TRESP_CALL_GET_SOUND_VOLUME_LEVEL: {
@@ -552,17 +489,12 @@ gboolean scomm_service_response_call(Communicator *comm, UserRequest *ur, enum t
                case TRESP_CALL_MUTE:
                case TRESP_CALL_UNMUTE: {
                        struct tresp_call_sound_general* resp_data = 0;
-                       //tapi_sound_error_info_t error_info = { 0 };
-                       unsigned int err = 0;
-
                        resp_data = (struct tresp_call_sound_general*)data;
 
-                       /*{create output data and create serialized data}
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+                       out_obj = sipc_util_marshal_object_create();
+                       sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "sound_err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE);
+
                } break;
 
                case TRESP_CALL_GET_MUTE_STATUS: {
@@ -603,7 +535,6 @@ gboolean scomm_service_notification_call(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* out_obj = NULL;
@@ -616,131 +547,79 @@ gboolean scomm_service_notification_call(Communicator *comm, CoreObject *source,
                return FALSE;
        }
 
-       s = ctx->sk_server;
        dbg("notification !!! (command = 0x%x, data_len = %d)", command, data_len);
 
+       out_obj = sipc_util_marshal_object_create();
+
        switch (command) {
                case TNOTI_CALL_STATUS_IDLE: {
-                       //TelCallEndInfo_t resp_data;
-                       int *id = (int*)data;
-
-                       //resp_data.CallEndCause        = 0;
-                       //resp_data.pCallHandle = *id;
-                       //resp_data.CallStartTime = 0;
-                       //resp_data.CallEndTime = 0;
-
-                       /*{create output data and create serialized data}
-                               hdr->cmd = ;
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
-
-                       //TAPI_EVENT_CLASS_CALL_VOICE,
-                       //TAPI_EVENT_CALL_END_IND,
-               }
-                       break;
+                       struct tnoti_call_status_idle *status;
+                       status = (struct tnoti_call_status_idle*)data;
 
-               case TNOTI_CALL_STATUS_DIALING:
-                       break;
+                       sipc_util_marshal_object_add_data(out_obj, "call_type", &status->type, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &status->id, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "end_cause", &status->cause, SIPC_MARSHAL_DATA_INT_TYPE);
 
-               case TNOTI_CALL_STATUS_ALERT:
+               } break;
 
-                       /*{create output data and create serialized data}
-                               hdr->cmd = ;
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+               case TNOTI_CALL_STATUS_DIALING: {
+                       struct tnoti_call_status_dialing *status;
+                       status = (struct tnoti_call_status_dialing*)data;
 
-                       //TAPI_EVENT_CLASS_CALL_VOICE,
-                       //TAPI_EVENT_CALL_ALERT_IND,
-                       break;
+                       sipc_util_marshal_object_add_data(out_obj, "call_type", &status->type, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &status->id, SIPC_MARSHAL_DATA_INT_TYPE);
 
-               case TNOTI_CALL_STATUS_ACTIVE:
+               } break;
 
-                       /*{create output data and create serialized data}
-                               hdr->cmd = ;
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+               case TNOTI_CALL_STATUS_ALERT: {
+                       struct tnoti_call_status_alert *status;
+                       status = (struct tnoti_call_status_alert*)data;
 
-                       //TAPI_EVENT_CLASS_CALL_VOICE,
-                       //TAPI_EVENT_CALL_CONNECTED_IND,
-                       break;
+                       sipc_util_marshal_object_add_data(out_obj, "call_type", &status->type, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &status->id, SIPC_MARSHAL_DATA_INT_TYPE);
 
-               case TNOTI_CALL_STATUS_HELD:
+               } break;
 
-                       /*{create output data and create serialized data}
-                               hdr->cmd = ;
-                               out_obj = sipc_util_marshal_object_create();
-                               sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                               sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT);
-                               .......
-                       */
+               case TNOTI_CALL_STATUS_ACTIVE: {
+                       struct tnoti_call_status_active *status = 0;
+                       status = (struct tnoti_call_status_active*)data;
 
-                       //TAPI_EVENT_CLASS_CALL_VOICE,
-                       //TAPI_EVENT_CALL_HOLD_IND,
-                       break;
+                       sipc_util_marshal_object_add_data(out_obj, "call_type", &status->type, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &status->id, SIPC_MARSHAL_DATA_INT_TYPE);
+
+           } break;
+
+               case TNOTI_CALL_STATUS_HELD: {
+                       struct tnoti_call_status_held *status;
+                       status = (struct tnoti_call_status_held*)data;
+
+                       sipc_util_marshal_object_add_data(out_obj, "call_type", &status->type, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "call_id", &status->id, SIPC_MARSHAL_DATA_INT_TYPE);
+
+               } break;
 
                case TNOTI_CALL_STATUS_INCOMING: {
                        struct tnoti_call_status_incoming *incoming = 0;
-                       char id[2] = {0, };
-                       char cli[2] = {0, };
-                       char forward[2] = {0, };
-                       char active_line[2] = {0, };
-                       char cna[2] = {0, };
-                       char number[83] = {0, };
-                       char name[83] = {0, };
-                       int ret = 0;
+                       incoming = (struct tnoti_call_status_incoming*)data;
 
-                       bundle *kb  = 0;
+                       dbg("incoming noti publish");
 
-                       incoming = (struct tnoti_call_status_incoming*)data;
+                       if ( incoming->type == CALL_TYPE_VOICE )
+                               _launch_voice_call( incoming );
+                       else
+                               _launch_video_call( incoming );
 
-                       snprintf( id, 2, "%d", incoming->id );
-                       dbg("id : [%s]", id );
-                       snprintf( cli, 2, "%d", incoming->cli.mode );
-                       dbg("cli : [%s]", id );
-                       snprintf( number, 83, "%s", incoming->cli.number );
-                       dbg("number : [%s]", number );
-                       snprintf( forward, 2, "%d", incoming->forward );
-                       dbg("forward : [%s]", forward );
-                       snprintf( active_line, 2, "%d", incoming->active_line );
-                       dbg("active_line : [%s]", active_line );
-                       snprintf( cna, 2, "%d", incoming->cna.mode );
-                       dbg("cna : [%s]", cna );
-                       snprintf( name, 83, "%s", incoming->cna.name );
-                       dbg("name : [%s]", name );
-
-                       kb = bundle_create();
-                       bundle_add(kb, "launch-type", "MT");
-                       bundle_add(kb, "handle", id);
-                       bundle_add(kb, "number", number);
-                       bundle_add(kb, "name_mode", cna);
-                       bundle_add(kb, "name", name);
-                       bundle_add(kb, "clicause", cli);
-                       bundle_add(kb, "fwded", forward);
-                       bundle_add(kb, "activeline", active_line);
-
-                       ret = aul_launch_app("com.samsung.call", kb);
-                       bundle_free(kb);
-
-                       dbg("aul_launch_app [ voice call ] : %d", ret);
-                       return TRUE;
-               }
-                       break;
+
+               } break;
 
                case TNOTI_CALL_STATUS_WAITING:
                default:
+                       dbg("unknown notification");
+                       return FALSE;
                        break;
        }
 
-       if(out_obj){
+       if (out_obj) {
                serial_d = sipc_util_marshal_object_serializer(out_obj);
                hdr.data_len = strlen(serial_d);
                sipc_util_marshal_object_destory(out_obj);
@@ -748,17 +627,105 @@ gboolean scomm_service_notification_call(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);
+       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;
        }
 
        return TRUE;
 }
+
+static void _launch_voice_call( struct tnoti_call_status_incoming* incoming )
+{
+       char id[2] = {0, };
+       char cli[2] = {0, };
+       char forward[2] = {0, };
+       char active_line[2] = {0, };
+       char cna[2] = {0, };
+       char number[83] = {0, };
+       char name[83] = {0, };
+       int ret = 0;
+
+       bundle *kb  = 0;
+
+       snprintf( id, 2, "%d", incoming->id );
+       dbg("id : [%s]", id );
+       snprintf( cli, 2, "%d", incoming->cli.mode );
+       dbg("cli : [%s]", id );
+       snprintf( number, 83, "%s", incoming->cli.number );
+       dbg("number : [%s]", number );
+       snprintf( forward, 2, "%d", incoming->forward );
+       dbg("forward : [%s]", forward );
+       snprintf( active_line, 2, "%d", incoming->active_line );
+       dbg("active_line : [%s]", active_line );
+
+#if 0
+       if ( incoming->cna.mode == CALL_CNA_MODE_PRESENT )
+               snprintf( cna, 2, "%d", TAPI_CALL_NAME_AVAIL );
+       else
+               snprintf( cna, 2, "%d", TAPI_CALL_NAME_RESTRICTED );
+#endif
+
+       snprintf( cna, 2, "%d", incoming->cna.mode );
+       dbg("cna : [%s]", cna );
+       snprintf( name, 83, "%s", incoming->cna.name );
+       dbg("name : [%s]", name );
+
+       kb = bundle_create();
+       bundle_add(kb, "launch-type", "MT");
+       bundle_add(kb, "handle", id);
+       bundle_add(kb, "number", number);
+       bundle_add(kb, "name_mode", cna);
+       bundle_add(kb, "name", name);
+       bundle_add(kb, "clicause", cli);
+       bundle_add(kb, "fwded", forward);
+       bundle_add(kb, "activeline", active_line);
+
+       ret = aul_launch_app("com.samsung.call", kb);
+       bundle_free(kb);
+
+       dbg("aul_launch_app [ voice call ] : %d", ret );
+}
+
+static void _launch_video_call( struct tnoti_call_status_incoming* incoming )
+{
+       char id[2] = {0, };
+       char cli[2] = {0, };
+       char forward[2] = {0, };
+       char number[83] = {0, };
+       int ret = 0;
+
+       bundle *kb  = 0;
+
+       dbg("Func Entrance");
+
+       snprintf( id, 2, "%d", incoming->id );
+       dbg("id : [%s]", id );
+       snprintf( number, 83, "%s", incoming->cli.number );
+       dbg("number : [%s]", number );
+       snprintf( cli, 2, "%d", incoming->cli.mode );
+       dbg("cli : [%s]", id );
+       snprintf( forward, 2, "%d", incoming->forward );
+       dbg("forward : [%s]", forward );
+
+       kb = bundle_create();
+       bundle_add(kb, "KEY_CALL_TYPE", "mt");
+       bundle_add(kb, "KEY_CALL_HANDLE", id);
+       bundle_add(kb, "KEY_CALLING_PARTY_NUMBER", number);
+       bundle_add(kb, "KEY_CLI_CAUSE", cli);
+       bundle_add(kb, "KEY_FORWARDED", forward);
+
+       ret = aul_launch_app("com.samsung.vtmain", kb);
+       bundle_free(kb);
+
+       dbg("VT AUL return %d",ret);
+}
+
index 46c0648..2bc0148 100644 (file)
@@ -42,7 +42,7 @@
 static void _request_fail(UserRequest *ur, int cmd, int resp_len, void *resp)
 {
        tcore_user_request_send_response(ur, cmd, resp_len, resp);
-       tcore_user_request_free(ur);
+       tcore_user_request_unref(ur);
 }
 
 gboolean scomm_service_request_network(unsigned int ch_id, Communicator *c, TcorePlugin *plugin,
@@ -371,7 +371,7 @@ RETURN:
        sipc_util_marshal_object_destory(out_obj);
 
        if (result == FALSE) {
-               tcore_user_request_free(ur);
+               tcore_user_request_unref(ur);
                return FALSE;
        }
 
@@ -400,6 +400,7 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu
        const struct tresp_network_set_power_on_attach *resp_set_power_on_attach = data;
        const struct tresp_network_get_power_on_attach *resp_get_power_on_attach = data;
        const struct tresp_network_set_cancel_manual_search *resp_set_cancel_manual_search = data;
+       const struct tresp_network_get_serving_network *resp_get_serving_network = data;
 
        int ret = 0;
        int i = 0;
@@ -435,21 +436,22 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu
                                        SIPC_MARSHAL_DATA_INT_TYPE);
 
                        dbg("count = %d", resp_network_search->list_count);
-                       entry_obj = sipc_util_marshal_object_create();
                        for (i = 0; i < resp_network_search->list_count; i++) {
-                               sipc_util_marshal_object_add_data(entry_obj, "plmn", resp_network_search->list[0].plmn,
+                               entry_obj = sipc_util_marshal_object_create();
+                               sipc_util_marshal_object_add_data(entry_obj, "plmn", resp_network_search->list[i].plmn,
                                                SIPC_MARSHAL_DATA_STRING_TYPE);
-                               sipc_util_marshal_object_add_data(entry_obj, "status", &resp_network_search->list[0].status,
+                               sipc_util_marshal_object_add_data(entry_obj, "status", &resp_network_search->list[i].status,
                                                SIPC_MARSHAL_DATA_INT_TYPE);
-                               sipc_util_marshal_object_add_data(entry_obj, "act", &resp_network_search->list[0].act,
+                               sipc_util_marshal_object_add_data(entry_obj, "act", &resp_network_search->list[i].act,
                                                SIPC_MARSHAL_DATA_INT_TYPE);
 
                                snprintf(entry_key, 10, "%d", i);
                                sipc_util_marshal_object_add_data(out_obj, entry_key, entry_obj, SIPC_MARSHAL_DATA_OBJECT_TYPE);
 
                                dbg(
-                                               "key=%s, plmn=%s, status=%d, act=%d",
-                                               entry_key, resp_network_search->list[0].plmn, resp_network_search->list[0].status, resp_network_search->list[0].act);
+                                               "entry=%p, key=%s, plmn=%s, status=%d, act=%d",
+                                               entry_obj,
+                                               entry_key, resp_network_search->list[i].plmn, resp_network_search->list[i].status, resp_network_search->list[i].act);
                        }
                        break;
 
@@ -459,8 +461,21 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu
                        break;
 
                case TRESP_NETWORK_GET_PLMN_SELECTION_MODE:
-                       sipc_util_marshal_object_add_data(out_obj, "mode", &resp_get_plmn_selection_mode->mode,
-                                       SIPC_MARSHAL_DATA_INT_TYPE);
+                       switch (resp_get_plmn_selection_mode->mode) {
+                               case NETWORK_SELECT_MODE_GSM_MANUAL:
+                                       sipc_util_marshal_object_add_data(out_obj, "mode", "manual", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+
+                               case NETWORK_SELECT_MODE_CDMA:
+                                       sipc_util_marshal_object_add_data(out_obj, "mode", "cdma", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+
+                               case NETWORK_SELECT_MODE_GLOBAL_AUTOMATIC:
+                               default:
+                                       sipc_util_marshal_object_add_data(out_obj, "mode", "automatic", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       sipc_util_marshal_object_add_data(out_obj, "mode", "automatic", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+                       }
                        break;
 
                case TRESP_NETWORK_SET_SERVICE_DOMAIN:
@@ -469,8 +484,20 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu
                        break;
 
                case TRESP_NETWORK_GET_SERVICE_DOMAIN:
-                       sipc_util_marshal_object_add_data(out_obj, "domain", &resp_get_service_domain->domain,
-                                       SIPC_MARSHAL_DATA_INT_TYPE);
+                       switch (resp_get_service_domain->domain) {
+                               case NETWORK_SERVICE_DOMAIN_CS:
+                                       sipc_util_marshal_object_add_data(out_obj, "domain", "circuit", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+
+                               case NETWORK_SERVICE_DOMAIN_PS:
+                                       sipc_util_marshal_object_add_data(out_obj, "domain", "packet", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+
+                               case NETWORK_SERVICE_DOMAIN_COMBINED:
+                               default:
+                                       sipc_util_marshal_object_add_data(out_obj, "domain", "combined", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+                       }
                        break;
 
                case TRESP_NETWORK_SET_BAND:
@@ -479,6 +506,12 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu
 
                case TRESP_NETWORK_GET_BAND:
                        sipc_util_marshal_object_add_data(out_obj, "band", &resp_get_band->band, SIPC_MARSHAL_DATA_INT_TYPE);
+                       if (resp_get_band->mode == NETWORK_BAND_MODE_ONLY) {
+                               sipc_util_marshal_object_add_data(out_obj, "mode", "only", SIPC_MARSHAL_DATA_STRING_TYPE);
+                       }
+                       else if (resp_get_band->mode == NETWORK_BAND_MODE_PREFERRED) {
+                               sipc_util_marshal_object_add_data(out_obj, "mode", "preferred", SIPC_MARSHAL_DATA_STRING_TYPE);
+                       }
                        break;
 
                case TRESP_NETWORK_SET_PREFERRED_PLMN:
@@ -490,13 +523,13 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu
                        sipc_util_marshal_object_add_data(out_obj, "count", &resp_get_preferred_plmn->list_count,
                                        SIPC_MARSHAL_DATA_INT_TYPE);
 
-                       entry_obj = sipc_util_marshal_object_create();
                        for (i = 0; i < resp_network_search->list_count; i++) {
-                               sipc_util_marshal_object_add_data(entry_obj, "plmn", resp_get_preferred_plmn->list[0].plmn,
+                               entry_obj = sipc_util_marshal_object_create();
+                               sipc_util_marshal_object_add_data(entry_obj, "plmn", resp_get_preferred_plmn->list[i].plmn,
                                                SIPC_MARSHAL_DATA_STRING_TYPE);
-                               sipc_util_marshal_object_add_data(entry_obj, "ef_index", &resp_get_preferred_plmn->list[0].ef_index,
+                               sipc_util_marshal_object_add_data(entry_obj, "ef_index", &resp_get_preferred_plmn->list[i].ef_index,
                                                SIPC_MARSHAL_DATA_INT_TYPE);
-                               sipc_util_marshal_object_add_data(entry_obj, "act", &resp_get_preferred_plmn->list[0].act,
+                               sipc_util_marshal_object_add_data(entry_obj, "act", &resp_get_preferred_plmn->list[i].act,
                                                SIPC_MARSHAL_DATA_INT_TYPE);
                                snprintf(entry_key, 10, "%d", i);
                                sipc_util_marshal_object_add_data(out_obj, entry_key, entry_obj, SIPC_MARSHAL_DATA_OBJECT_TYPE);
@@ -508,7 +541,25 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu
                        break;
 
                case TRESP_NETWORK_GET_ORDER:
-                       sipc_util_marshal_object_add_data(out_obj, "result", &resp_get_order->order, SIPC_MARSHAL_DATA_INT_TYPE);
+                       switch (resp_get_order->order) {
+                               case NETWORK_ORDER_GSM_FIRST:
+                                       sipc_util_marshal_object_add_data(out_obj, "order", "gsm", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+
+                               case NETWORK_ORDER_WCDMA_FIRST:
+                                       sipc_util_marshal_object_add_data(out_obj, "order", "wcdma", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+
+                               case NETWORK_ORDER_NO_CHANGE:
+                                       sipc_util_marshal_object_add_data(out_obj, "order", "no_change", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+
+                               case NETWORK_ORDER_AUTO:
+                               default:
+                                       sipc_util_marshal_object_add_data(out_obj, "order", "auto", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+
+                       }
                        break;
 
                case TRESP_NETWORK_SET_POWER_ON_ATTACH:
@@ -518,7 +569,7 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu
 
                case TRESP_NETWORK_GET_POWER_ON_ATTACH:
                        sipc_util_marshal_object_add_data(out_obj, "enabled", &resp_get_power_on_attach->enabled,
-                                       SIPC_MARSHAL_DATA_INT_TYPE);
+                                       SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
                        break;
 
                case TRESP_NETWORK_SET_CANCEL_MANUAL_SEARCH:
@@ -527,7 +578,17 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu
                        break;
 
                case TRESP_NETWORK_GET_SERVING_NETWORK:
-                       //
+                       sipc_util_marshal_object_add_data(out_obj, "plmn", resp_get_serving_network->plmn, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "act", &resp_get_serving_network->act, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "lac", &resp_get_serving_network->gsm.lac, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "carrier", &resp_get_serving_network->cdma.carrier, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "sid", &resp_get_serving_network->cdma.sid, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "nid", &resp_get_serving_network->cdma.nid, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "bs_id", &resp_get_serving_network->cdma.bs_id, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "bs_lat", &resp_get_serving_network->cdma.bs_lat, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "bs_long", &resp_get_serving_network->cdma.bs_long, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "reg_zone", &resp_get_serving_network->cdma.reg_zone, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "pilot_pn", &resp_get_serving_network->cdma.pilot_pn, SIPC_MARSHAL_DATA_INT_TYPE);
                        break;
        }
 
@@ -538,10 +599,6 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu
                sipc_util_marshal_object_destory(out_obj);
        }
 
-       if (entry_obj) {
-               sipc_util_marshal_object_destory(out_obj);
-       }
-
        out_d = g_new0(char, sizeof(struct _tapi_header) + hdr.data_len);
        memcpy(out_d, &hdr, sizeof(struct _tapi_header));
 
@@ -571,6 +628,7 @@ gboolean scomm_service_notification_network(Communicator *comm, CoreObject *sour
        const struct tnoti_network_icon_info *noti_icon_info = data;
        const struct tnoti_network_change *noti_change = data;
        const struct tnoti_network_timeinfo *noti_timeinfo = data;
+       const struct tnoti_network_identity *noti_identity = data;
 
        int ret = 0;
        struct custom_data *ctx = NULL;
@@ -578,6 +636,8 @@ gboolean scomm_service_notification_network(Communicator *comm, CoreObject *sour
        struct _sipc_marshal_object* out_obj = NULL;
        gchar *out_d = NULL, *serial_d = NULL;
 
+       memset(&hdr, 0, sizeof(struct _tapi_header));
+
        ctx = tcore_communicator_ref_user_data(comm);
        if (!ctx) {
                dbg("user_data is NULL");
@@ -591,10 +651,39 @@ gboolean scomm_service_notification_network(Communicator *comm, CoreObject *sour
                        hdr.cmd = TAPI_NOTI_NETWORK_REGISTRATION_STATUS;
 
                        out_obj = sipc_util_marshal_object_create();
-                       sipc_util_marshal_object_add_data(out_obj, "cs_domain_status", &noti_registration_status->cs_domain_status, SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(out_obj, "ps_domain_status", &noti_registration_status->ps_domain_status, SIPC_MARSHAL_DATA_INT_TYPE);
+                       switch (noti_registration_status->cs_domain_status) {
+                               case NETWORK_SERVICE_DOMAIN_STATUS_EMERGENCY:
+                                       sipc_util_marshal_object_add_data(out_obj, "circuit", "emergency", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+                               case NETWORK_SERVICE_DOMAIN_STATUS_FULL:
+                                       sipc_util_marshal_object_add_data(out_obj, "circuit", "full", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+                               case NETWORK_SERVICE_DOMAIN_STATUS_SEARCH:
+                                       sipc_util_marshal_object_add_data(out_obj, "circuit", "search", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+                               case NETWORK_SERVICE_DOMAIN_STATUS_NO:
+                               default:
+                                       sipc_util_marshal_object_add_data(out_obj, "circuit", "none", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+                       }
+
+                       switch (noti_registration_status->ps_domain_status) {
+                               case NETWORK_SERVICE_DOMAIN_STATUS_EMERGENCY:
+                                       sipc_util_marshal_object_add_data(out_obj, "packet", "emergency", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+                               case NETWORK_SERVICE_DOMAIN_STATUS_FULL:
+                                       sipc_util_marshal_object_add_data(out_obj, "packet", "full", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+                               case NETWORK_SERVICE_DOMAIN_STATUS_SEARCH:
+                                       sipc_util_marshal_object_add_data(out_obj, "packet", "search", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+                               case NETWORK_SERVICE_DOMAIN_STATUS_NO:
+                               default:
+                                       sipc_util_marshal_object_add_data(out_obj, "packet", "none", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+                       }
                        sipc_util_marshal_object_add_data(out_obj, "service_type", &noti_registration_status->service_type, SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(out_obj, "roaming_status", &noti_registration_status->roaming_status, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "roaming_status", &noti_registration_status->roaming_status, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
                        break;
 
                case TNOTI_NETWORK_LOCATION_CELLINFO:
@@ -609,10 +698,18 @@ gboolean scomm_service_notification_network(Communicator *comm, CoreObject *sour
                        hdr.cmd = TAPI_NOTI_NETWORK_ICON_INFO;
 
                        out_obj = sipc_util_marshal_object_create();
-                       sipc_util_marshal_object_add_data(out_obj, "type", &noti_icon_info->type, SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(out_obj, "rssi", &noti_icon_info->rssi, SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(out_obj, "battery", &noti_icon_info->battery, SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(out_obj, "hdr_rssi", &noti_icon_info->hdr_rssi, SIPC_MARSHAL_DATA_INT_TYPE);
+                       if (noti_icon_info->type & 0x01) {
+                               sipc_util_marshal_object_add_data(out_obj, "rssi", &noti_icon_info->rssi,
+                                               SIPC_MARSHAL_DATA_INT_TYPE);
+                       }
+                       if (noti_icon_info->type & 0x02) {
+                               sipc_util_marshal_object_add_data(out_obj, "battery", &noti_icon_info->battery,
+                                               SIPC_MARSHAL_DATA_INT_TYPE);
+                       }
+                       if (noti_icon_info->type & 0x04) {
+                               sipc_util_marshal_object_add_data(out_obj, "hdr_rssi", &noti_icon_info->hdr_rssi,
+                                               SIPC_MARSHAL_DATA_INT_TYPE);
+                       }
                        break;
 
                case TNOTI_NETWORK_CHANGE:
@@ -628,7 +725,7 @@ gboolean scomm_service_notification_network(Communicator *comm, CoreObject *sour
                        sipc_util_marshal_object_add_data(out_obj, "bs_id", &noti_change->cdma.bs_id, SIPC_MARSHAL_DATA_INT_TYPE);
                        sipc_util_marshal_object_add_data(out_obj, "bs_lat", &noti_change->cdma.bs_lat, SIPC_MARSHAL_DATA_INT_TYPE);
                        sipc_util_marshal_object_add_data(out_obj, "bs_long", &noti_change->cdma.bs_long, SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(out_obj, "reg_sonze", &noti_change->cdma.reg_sonze, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "reg_zone", &noti_change->cdma.reg_zone, SIPC_MARSHAL_DATA_INT_TYPE);
                        sipc_util_marshal_object_add_data(out_obj, "pilot_pn", &noti_change->cdma.pilot_pn, SIPC_MARSHAL_DATA_INT_TYPE);
                        break;
 
@@ -649,7 +746,18 @@ gboolean scomm_service_notification_network(Communicator *comm, CoreObject *sour
                        sipc_util_marshal_object_add_data(out_obj, "isdst", &noti_timeinfo->isdst, SIPC_MARSHAL_DATA_INT_TYPE);
                        break;
 
+               case TNOTI_NETWORK_IDENTITY:
+                       hdr.cmd = TAPI_NOTI_NETWORK_IDENTITY;
+
+                       out_obj = sipc_util_marshal_object_create();
+                       sipc_util_marshal_object_add_data(out_obj, "plmn", noti_identity->plmn, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "short_name", noti_identity->short_name, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "full_name", noti_identity->full_name, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       break;
+
                default:
+                       dbg("unknown notification");
+                       return FALSE;
                        break;
        }
 
@@ -666,7 +774,7 @@ gboolean scomm_service_notification_network(Communicator *comm, CoreObject *sour
                g_free(serial_d);
        }
 
-       dbg("len = %d, out_d = [%s]", sizeof(struct _tapi_header) + hdr.data_len, out_d);
+       dbg("len = %d, cmd = 0x%x, serialize = [%s]", sizeof(struct _tapi_header) + hdr.data_len, hdr.cmd, out_d);
 
        ret = sipc_server_broadcast(ctx->sk_server, out_d, sizeof(struct _tapi_header) + hdr.data_len);
        dbg("ret = %d", ret);
index 8231c53..9a360c0 100644 (file)
@@ -67,11 +67,13 @@ gboolean scomm_service_reqeust_pb(unsigned int ch_id, Communicator *c, TcorePlug
 
        g_slist_free(co_list);
 
+#if 0
        if (cmd == TAPI_SERVICE_PB_GET_INITINFO ) {
                /*synchronous data return case*/
                out_o.cmd = cmd;
                out_o.mo = sipc_util_marshal_object_create();
        } else {
+#endif
                /*asynchronous data return case*/
                ur = tcore_user_request_new(c, tcore_plugin_get_description(plugin)->name);
                if (!ur) {
@@ -88,9 +90,12 @@ gboolean scomm_service_reqeust_pb(unsigned int ch_id, Communicator *c, TcorePlug
                        dbg("err - data deserializer failed");
                        return FALSE;
                }
+#if 0
        }
+#endif
 
        switch (cmd) {
+#if 0
                case TAPI_SERVICE_PB_GET_INITINFO : {
                        gboolean g_init;
                        struct tel_phonebook_support_list *g_pb_list;
@@ -110,7 +115,7 @@ gboolean scomm_service_reqeust_pb(unsigned int ch_id, Communicator *c, TcorePlug
                        g_free(tmp);
                }
                        break;
-
+#endif
                case TAPI_SERVICE_PB_GET_COUNT : {
                        struct treq_phonebook_get_count pb_count;
                        enum tel_phonebook_type g_pb_type;
@@ -122,7 +127,7 @@ gboolean scomm_service_reqeust_pb(unsigned int ch_id, Communicator *c, TcorePlug
                }
                        break;
 
-               case TAPI_SERVICE_PB_GET_META : {
+               case TAPI_SERVICE_PB_GET_METAINFO : {
                        struct treq_phonebook_get_info pb_info;
                        struct treq_phonebook_get_usim_info pb_usim;
                        enum tel_phonebook_type g_pb_type;
@@ -233,15 +238,19 @@ gboolean scomm_service_reqeust_pb(unsigned int ch_id, Communicator *c, TcorePlug
                        break;
        }
 
+#if 0
        if (cmd == TAPI_SERVICE_PB_GET_INITINFO  ) {
                /*synchronous data return case*/
        } else {
+#endif
                /*asynchronous data return case*/
                ret = tcore_communicator_dispatch_request(c, ur);
                if (ret != TCORE_RETURN_SUCCESS) {
                        return FALSE;
                }
+#if 0
        }
+#endif
 
        return TRUE;
 }
index 99601a4..7b8c7ff 100644 (file)
 static void _request_fail(UserRequest *ur, int cmd, int resp_len, void *resp)
 {
        tcore_user_request_send_response(ur, cmd, resp_len, resp);
-       tcore_user_request_free(ur);
+       tcore_user_request_unref(ur);
+}
+static char *_get_ip_string(const unsigned char str[4])
+{
+       union tcore_ip4_type ip;
+
+       ip.i = 0;
+       ip.s[0] = str[0];
+       ip.s[1] = str[1];
+       ip.s[2] = str[2];
+       ip.s[3] = str[3];
+
+       return tcore_util_get_string_by_ip4type(ip);
 }
 
 gboolean scomm_service_request_ps(unsigned int ch_id, Communicator *c, TcorePlugin *plugin,
@@ -224,12 +236,18 @@ gboolean scomm_service_notification_ps(Communicator *comm, CoreObject *source, e
                unsigned int data_len, const void *data)
 {
        const struct tnoti_ps_dun_pin_control *noti_pin_info = data;
+       const struct tnoti_ps_call_status *noti_call_status = data;
+       const struct tnoti_ps_pdp_ipconfiguration *noti_pdp_ipconfiguration = data;
+       const struct tnoti_ps_protocol_status *noti_protocol_status = data;
 
        int ret = 0;
        struct custom_data *ctx = NULL;
        struct _tapi_header hdr;
        struct _sipc_marshal_object* out_obj = NULL;
        gchar *out_d = NULL, *serial_d = NULL;
+       char *ipstr;
+
+       memset(&hdr, 0, sizeof(struct _tapi_header));
 
        ctx = tcore_communicator_ref_user_data(comm);
        if (!ctx) {
@@ -285,6 +303,73 @@ gboolean scomm_service_notification_ps(Communicator *comm, CoreObject *source, e
                        hdr.cmd = TAPI_NOTI_PS_EXTERNAL_CALL;
                        /* no data */
                        break;
+
+               case TNOTI_PS_CALL_STATUS:
+                       hdr.cmd = TAPI_NOTI_PS_CALL_STATUS;
+                       out_obj = sipc_util_marshal_object_create();
+                       sipc_util_marshal_object_add_data(out_obj, "context_id", &noti_call_status->context_id,
+                                       SIPC_MARSHAL_DATA_INT_TYPE);
+                       if (noti_call_status->state == 1) {
+                               sipc_util_marshal_object_add_data(out_obj, "state", "activated", SIPC_MARSHAL_DATA_STRING_TYPE);
+                       }
+                       else {
+                               sipc_util_marshal_object_add_data(out_obj, "state", "deactivated", SIPC_MARSHAL_DATA_STRING_TYPE);
+                       }
+                       break;
+
+               case TNOTI_PS_PDP_IPCONFIGURATION:
+                       hdr.cmd = TAPI_NOTI_PS_PDP_IPCONFIGURATION;
+                       out_obj = sipc_util_marshal_object_create();
+                       sipc_util_marshal_object_add_data(out_obj, "context_id", &noti_pdp_ipconfiguration->context_id,
+                                       SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_obj, "secondary_context_id",
+                                       &noti_pdp_ipconfiguration->secondary_context_id, SIPC_MARSHAL_DATA_INT_TYPE);
+                       ipstr = _get_ip_string(noti_pdp_ipconfiguration->ip_address);
+                       sipc_util_marshal_object_add_data(out_obj, "ip_address", ipstr, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       free(ipstr);
+                       ipstr = _get_ip_string(noti_pdp_ipconfiguration->primary_dns);
+                       sipc_util_marshal_object_add_data(out_obj, "primary_dns", ipstr, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       free(ipstr);
+                       ipstr = _get_ip_string(noti_pdp_ipconfiguration->secondary_dns);
+                       sipc_util_marshal_object_add_data(out_obj, "secondary_dns", ipstr, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       free(ipstr);
+                       ipstr = _get_ip_string(noti_pdp_ipconfiguration->gateway);
+                       sipc_util_marshal_object_add_data(out_obj, "gateway", ipstr, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       free(ipstr);
+                       ipstr = _get_ip_string(noti_pdp_ipconfiguration->subnet_mask);
+                       sipc_util_marshal_object_add_data(out_obj, "subnet_mask", ipstr, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       free(ipstr);
+                       sipc_util_marshal_object_add_data(out_obj, "devname", &noti_pdp_ipconfiguration->devname,
+                                       SIPC_MARSHAL_DATA_STRING_TYPE);
+                       break;
+
+               case TNOTI_PS_PROTOCOL_STATUS:
+                       hdr.cmd = TAPI_NOTI_PS_PROTOCOL_STATUS;
+                       out_obj = sipc_util_marshal_object_create();
+                       switch (noti_protocol_status->status) {
+                               case 1:
+                                       sipc_util_marshal_object_add_data(out_obj, "status", "hsdpa", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+
+                               case 2:
+                                       sipc_util_marshal_object_add_data(out_obj, "status", "hspa+", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+
+                               case 3:
+                                       sipc_util_marshal_object_add_data(out_obj, "status", "hsupa", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+
+                               case 0:
+                               default:
+                                       sipc_util_marshal_object_add_data(out_obj, "status", "none", SIPC_MARSHAL_DATA_STRING_TYPE);
+                                       break;
+                       }
+                       break;
+
+               default:
+                       dbg("unknown notification");
+                       return FALSE;
+                       break;
        }
 
        if (out_obj) {
index d5ab25b..c5fc59e 100644 (file)
@@ -83,7 +83,7 @@ gboolean scomm_service_reqeust_sap(unsigned int ch_id, Communicator *c, TcorePlu
        }
 
        switch (cmd) {
-               case TAPI_SERVICE_SAP_CONNECT :{
+               case TAPI_SERVICE_SAP_REQ_CONNECT :{
                        struct treq_sap_req_connect req_conn = {0, };
                        gint g_max_size;
                        g_max_size = sipc_util_marshal_object_get_int(in_o, "max_size");
@@ -93,21 +93,21 @@ gboolean scomm_service_reqeust_sap(unsigned int ch_id, Communicator *c, TcorePlu
                }
                        break;
 
-               case TAPI_SERVICE_SAP_DISCONNECT: {
+               case TAPI_SERVICE_SAP_REQ_DISCONNECT: {
                        struct treq_sap_req_disconnect req_disconn;
                        tcore_user_request_set_data(ur, sizeof(struct treq_sap_req_disconnect), &req_disconn);
                        tcore_user_request_set_command(ur, TREQ_SAP_REQ_DISCONNECT);
                }
                        break;
 
-               case TAPI_SERVICE_SAP_GET_CONNECTSTATUS: {
+               case TAPI_SERVICE_SAP_REQ_STATUS: {
                        struct treq_sap_req_status req_status;
                        tcore_user_request_set_data(ur, sizeof(struct treq_sap_req_status), &req_status);
                        tcore_user_request_set_command(ur, TREQ_SAP_REQ_STATUS);
                }
                        break;
 
-               case TAPI_SERVICE_SAP_GET_ATR : {
+               case TAPI_SERVICE_SAP_REQ_ATR : {
                        struct treq_sap_req_atr req_atr;
                        tcore_user_request_set_data(ur, sizeof(struct treq_sap_req_atr), &req_atr);
                        tcore_user_request_set_command(ur, TREQ_SAP_REQ_ATR);
@@ -148,7 +148,7 @@ gboolean scomm_service_reqeust_sap(unsigned int ch_id, Communicator *c, TcorePlu
                }
                        break;
 
-               case TAPI_SERVICE_SAP_GET_READERSTATUS : {
+               case TAPI_SERVICE_SAP_REQ_CARDREADERSTATUS : {
                        struct treq_sap_req_cardreaderstatus req_reader;
                        tcore_user_request_set_data(ur, sizeof(struct treq_sap_req_cardreaderstatus), &req_reader);
                        tcore_user_request_set_command(ur, TREQ_SAP_REQ_CARDREADERSTATUS);
@@ -273,7 +273,6 @@ gboolean scomm_service_notification_sap(Communicator *comm, CoreObject *source,
        int ret = 0;
        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* out_o = NULL;
@@ -286,28 +285,29 @@ gboolean scomm_service_notification_sap(Communicator *comm, CoreObject *source,
                return FALSE;
        }
 
-       s = ctx->sk_server;
        dbg("notification !!! (command = 0x%x, data_len = %d)", command, data_len);
 
        out_o = sipc_util_marshal_object_create();
 
        switch (command) {
-               case TNOTI_SAP_STATUS :
+               case TNOTI_SAP_STATUS:
                        dbg("notified sap_status[%d]", n_sap_status->status);
-                       sipc_util_marshal_object_add_data(out_o, "status", (void*)&n_sap_status->status, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_o, "status", (void*) &n_sap_status->status,
+                                       SIPC_MARSHAL_DATA_INT_TYPE);
                        break;
 
-               case TNOTI_SAP_DISCONNECT :
+               case TNOTI_SAP_DISCONNECT:
                        dbg("notified sap_disconnect type[%d]", n_sap_disconn->type);
-                       sipc_util_marshal_object_add_data(out_o, "type", (void*)&n_sap_disconn->type, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_o, "type", (void*) &n_sap_disconn->type, SIPC_MARSHAL_DATA_INT_TYPE);
                        break;
 
-               default :
-                       dbg("not handled command [%d] here",command);
+               default:
+                       dbg("unknown notification");
+                       return FALSE;
                        break;
        }
 
-       if(out_o){
+       if (out_o) {
                serial_d = sipc_util_marshal_object_serializer(out_o);
                hdr.data_len = strlen(serial_d);
                sipc_util_marshal_object_destory(out_o);
@@ -315,15 +315,15 @@ gboolean scomm_service_notification_sap(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);
+       ret = sipc_server_broadcast(ctx->sk_server, out_d, sizeof(struct _tapi_header) + hdr.data_len);
        g_free(out_d);
 
-       if(ret < 0){
+       if (ret < 0) {
                return FALSE;
        }
        return TRUE;
diff --git a/plugin/src/socket_sat.c b/plugin/src/socket_sat.c
new file mode 100644 (file)
index 0000000..b647079
--- /dev/null
@@ -0,0 +1,225 @@
+/*
+ * tel-plugin-socket-communicator
+ *
+ * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: Ja-young Gu <jygu@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <glib-object.h>
+
+#include <tcore.h>
+#include <server.h>
+#include <plugin.h>
+#include <hal.h>
+#include <communicator.h>
+#include <core_object.h>
+#include <queue.h>
+#include <user_request.h>
+#include <util.h>
+#include <co_sat.h>
+
+#include "sipc.h"
+#include "tapi_common.h"
+#include "module_req.h"
+
+gboolean scomm_service_reqeust_sat(unsigned int ch_id, Communicator *c, TcorePlugin *plugin, tapi_service_command_e cmd, gchar *data, void **outparam)
+{
+       int ret = 0;
+       int err_cause = 0;
+       gboolean result = TRUE;
+       int s_data_len = 0;
+       gchar *serial_d = NULL;
+
+       GSList *co_list = NULL;
+       CoreObject *co_sat = NULL;
+       UserRequest *ur = NULL;
+       struct tcore_user_info ui = { 0, 0, 0, NULL,0,0, NULL };
+
+       struct _sipc_marshal_object *out_obj = NULL;
+       struct _sipc_marshal_object *in_obj = NULL;
+
+       co_list = tcore_plugin_get_core_objects_bytype(plugin, CORE_OBJECT_TYPE_SAT);
+       if (!co_list) {
+               dbg("coreobjects does not exist");
+               result = FALSE;
+               goto RETURN;
+       }
+
+       co_sat = (CoreObject *)co_list->data;
+       if (!co_sat) {
+               dbg("sat objects does not exist");
+               result = FALSE;
+               goto RETURN;
+       }
+       g_slist_free(co_list);
+
+       in_obj = sipc_util_marshal_object_deserializer(data);
+       if(in_obj){
+               dbg("in_obj is NULL");
+               result = FALSE;
+               goto RETURN;
+       }
+
+       ui.channel_id = ch_id;
+       ui.client_cmd = (unsigned int)cmd;
+       ur = tcore_user_request_new(c, tcore_plugin_get_description(plugin)->name);
+       if (!ur) {
+               dbg("ur is NULL");
+               result = FALSE;
+               goto RETURN;
+       }
+       tcore_user_request_set_user_info(ur, &ui);
+
+       switch (cmd) {
+               case TAPI_SERVICE_SAT_MENU_SELECTION_ENVELOP: {
+                       gchar item_identifier = '\0';
+                       gboolean help_request = FALSE;
+                       struct treq_sat_envelop_cmd_data envelop_data;
+
+                       dbg("TAPI_CS_SIMATK_SEND_MENU_SELECTION_ENVELOPE");
+
+                       item_identifier = sipc_util_marshal_object_get_char(in_obj,"item_identifier");
+                       help_request = sipc_util_marshal_object_get_boolean(in_obj, "help_request");
+                       dbg("[SAT] menu selection envelop item_identifier(0x%x) help_request(%d)");
+
+                       memset(&envelop_data, 0, sizeof(struct treq_sat_envelop_cmd_data));
+
+                       envelop_data.sub_cmd = ENVELOP_MENU_SELECTION;
+                       envelop_data.envelop_data.menu_select.device_identitie.src = DEVICE_ID_KEYPAD;
+                       envelop_data.envelop_data.menu_select.device_identitie.dest = DEVICE_ID_SIM;
+                       envelop_data.envelop_data.menu_select.item_identifier.item_identifier = item_identifier;
+                       envelop_data.envelop_data.menu_select.help_request = help_request;
+
+                       tcore_user_request_set_data(ur, sizeof(struct treq_sat_envelop_cmd_data), (void *) &envelop_data);
+                       tcore_user_request_set_command(ur, TREQ_SAT_REQ_ENVELOPE);
+
+                       ret = tcore_communicator_dispatch_request(c, ur);
+                       if (ret != TCORE_RETURN_SUCCESS){
+                               dbg("dispatch request fail");
+                               result = FALSE;
+                               goto RETURN;
+                       }
+               }break;
+               /*case TAPI_SERVICE_SAT_SEND_EVENT_DOWNLOAD: {
+                       tcore_user_request_set_data(ur, 0, NULL);
+                       tcore_user_request_set_command(ur, TREQ_SAT_REQ_ENVELOPE);
+                       ret = tcore_communicator_dispatch_request(ctx->comm, ur);
+                       if (ret != TCORE_RETURN_SUCCESS)
+                               api_err = TAPI_API_OPERATION_FAILED;
+
+                       g_array_append_vals(*out_param2, &request_id, sizeof(int));
+                       dbg("ret = 0x%x", ret);
+               }break;
+               case TAPI_SERVICE_SAT_UI_USER_CONFIRM: {
+                       TelSatUiUserConfirmInfo_t cnf;
+                       TelSatTextInfo_t* additional_data = NULL;
+
+                       memset(&cnf, 0x00, sizeof(TelSatUiUserConfirmInfo_t));
+                       cnf.commandId = g_array_index(in_param1,int, 0);
+                       cnf.commandType = g_array_index(in_param1,int, 1);
+                       cnf.keyType = g_array_index(in_param1, int, 2);
+                       cnf.dataLen = g_array_index(in_param1, int, 3);
+
+                       dbg("command_id = 0x%x", cnf.commandId);
+                       dbg("command_type = 0x%x", cnf.commandType);
+                       dbg("key_type = 0x%x", cnf.keyType);
+                       dbg("data_length = %d", cnf.dataLen);
+
+                       if (cnf.dataLen > 0) {
+                               additional_data = &g_array_index(in_param2, TelSatTextInfo_t, 0);
+                               dbg("tel_send_sat_ui_user_confirm :[%d]", additional_data->string[0]);
+                               api_err = sat_mgr_handle_user_confirm(ctx, plugin, conn_name.name, &cnf,        additional_data->string, additional_data->stringLen);
+                               if (api_err != TAPI_API_SUCCESS)
+                                       dbg("return_value = %d", api_err);
+                       }
+                       else if (cnf.dataLen == 0) {
+                               api_err = sat_mgr_handle_user_confirm(ctx, plugin, conn_name.name, &cnf, NULL, 0);
+                               if (api_err != TAPI_API_SUCCESS)
+                                       dbg("return_value = %d", api_err);
+                       }
+                       else if (cnf.dataLen < 0) {
+                               api_err = TAPI_API_SERVER_FAILURE;
+                       }
+                       if (api_err != TCORE_RETURN_SUCCESS) {
+                               api_err = TAPI_API_OPERATION_FAILED;
+                       }
+                       dbg("api_err = 0x%x", api_err);
+               }break;
+               case TAPI_SERVICE_SEND_APP_EXEC_RESULT: {
+                       TelSatAppsRetInfo_t* app_req_info = NULL;
+                       dbg("TAPI_CS_SIMATK_SEND_APP_EXEC_RESULT");
+                       app_req_info = &g_array_index(in_param1, TelSatAppsRetInfo_t, 0);
+                       ret = sat_mgr_handle_app_exec_result(ctx, plugin, conn_name.name, app_req_info);
+                       if (ret != TCORE_RETURN_SUCCESS)
+                               api_err = TAPI_API_OPERATION_FAILED;
+
+                       dbg("ret = 0x%x", ret);
+               }break;
+               case TAPI_SERVICE_GET_MAIN_MENU_INFO: {
+                       dbg("TAPI_CS_SIMATK_GET_MAIN_MENU_INFO");
+                       if (ctx->pSatMainMenu != NULL && ctx->pSatMainMenu->satMainMenuNum > 0) {
+                               dbg("[SAT] pSatMainMenu->satMainMenuNum: [%d]", ctx->pSatMainMenu->satMainMenuNum);
+                               dbg("[SAT] pSatMainMenu->satiMainTitle [%s]", ctx->pSatMainMenu->satMainTitle);
+                               ctx->pSatMainMenu->bIsMainMenuPresent = TRUE;
+                               g_array_append_vals(*out_param2, ctx->pSatMainMenu, sizeof(TelSatSetupMenuInfo_t));
+                       }
+                       else {
+                               memset(&satMainMenu, 0x00, sizeof(TelSatSetupMenuInfo_t));
+                               satMainMenu.bIsMainMenuPresent = FALSE;
+                               g_array_append_vals(*out_param2, &satMainMenu, sizeof(TelSatSetupMenuInfo_t));
+                       }
+               }break;*/
+               case TAPI_SERVICE_SAT_UI_DISPLAY_STATUS:
+               default :
+                       break;
+       }
+
+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) {
+               tcore_user_request_unref(ur);
+               return FALSE;
+       }
+
+       ret = tcore_communicator_dispatch_request(c, ur);
+       if (ret != TCORE_RETURN_SUCCESS) {
+               return FALSE;
+       }
+
+       return TRUE;
+}
+
+gboolean scomm_service_response_sat(Communicator *comm, UserRequest *ur, enum tcore_response_command command, unsigned int data_len, const void *data)
+{
+       return FALSE;
+}
+
+gboolean scomm_service_notification_sat(Communicator *comm, CoreObject *source, enum tcore_notification_command command, unsigned int data_len, const void *data)
+{
+       return FALSE;
+}
index fe95de9..2a156c6 100644 (file)
 #include "tapi_common.h"
 #include "module_req.h"
 
+static gchar* _convert_access_result_to_string(enum tel_sim_access_result rt)
+{
+       gchar *string_rt = NULL;
+       switch (rt) {
+               case SIM_ACCESS_SUCCESS :
+                       string_rt = "ok\0";
+                       break;
+               case SIM_ACCESS_CARD_ERROR :
+                       string_rt = "card_error\0";
+                       break;
+               case SIM_ACCESS_FILE_NOT_FOUND :
+                       string_rt = "file_not_found\0";
+                       break;
+               case SIM_ACCESS_CONDITION_NOT_SATISFIED :
+                       string_rt = "condition_not_satisfied\0";
+                       break;
+               case SIM_ACCESS_FAILED :
+                       string_rt = "failed\0";
+                       break;
+               default :
+                       dbg("error - rt[%d] is not handled");
+                       string_rt = "failed\0";
+                       break;
+       }
+       return string_rt;
+}
+
 gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlugin *plugin, tapi_service_command_e cmd, gchar *data, void **outparam)
 {
        GSList *co_list = NULL;
@@ -46,37 +73,42 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu
        UserRequest *ur = NULL;
        struct tcore_user_info ui = { 0, 0, 0, NULL,0,0, NULL };
        int ret = 0;
+       gboolean result = TRUE;
 
        gchar *tmp = NULL;
        int tmp_len = 0;
        struct _tapi_service_object out_o = {0,};
-       struct _sipc_marshal_object *in_o;
+       struct _sipc_marshal_object *in_o = NULL;
 
        co_list = tcore_plugin_get_core_objects_bytype(plugin, CORE_OBJECT_TYPE_SIM);
        if (!co_list) {
                dbg("err-no sim core object list in current plugin");
-               return FALSE;
+               result = FALSE;
+               goto RETURN;
        }
 
        co_sim = (CoreObject *)co_list->data;
        if (!co_sim) {
                dbg("err-no sim core object in current plugin");
-               return FALSE;
+               result = FALSE;
+               goto RETURN;
        }
 
        g_slist_free(co_list);
 
-       if (cmd == TAPI_SERVICE_SIM_GET_SIMINITINFO || cmd == TAPI_SERVICE_SIM_GET_TYPE
-                       || cmd == TAPI_SERVICE_SIM_GET_IMSI ) {
-               /*synchronous data return case*/
-               out_o.cmd = cmd;
-               out_o.mo = sipc_util_marshal_object_create();
-       } else {
-               /*asynchronous data return case*/
+       dbg("request cmd[0x%x]",cmd);
+
+       out_o.cmd = cmd;
+       out_o.mo = sipc_util_marshal_object_create();
+
+       if ( cmd !=TAPI_SERVICE_SIM_GET_SIMINITINFO
+                       && cmd != TAPI_SERVICE_SIM_GET_TYPE
+                       && cmd != TAPI_SERVICE_SIM_GET_IMSI ) {
                ur = tcore_user_request_new(c, tcore_plugin_get_description(plugin)->name);
                if (!ur) {
                        dbg("err - ur creation failed");
-                       return FALSE;
+                       result = FALSE;
+                       goto RETURN;
                }
 
                ui.channel_id = ch_id;
@@ -84,9 +116,10 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu
                tcore_user_request_set_user_info(ur, &ui);
 
                in_o = sipc_util_marshal_object_deserializer(data);
-               if(in_o){
-                       dbg("err - data deserializer failed");
-                       return FALSE;
+               if(!in_o){
+                       dbg("err - data deserializer failed, in_o is null");
+                       result = FALSE;
+                       goto RETURN;
                }
        }
 
@@ -99,24 +132,34 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu
                                        SIPC_MARSHAL_DATA_INT_TYPE);
                        sipc_util_marshal_object_add_data(out_o.mo, "new_sim", &sim_changed,
                                        SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
-                       tmp = sipc_util_marshal_object_serializer(out_o.mo);
-                       tmp_len = strlen(tmp);
-                       *outparam = g_new0(char, tmp_len+1);
-                       memcpy(*outparam, tmp, tmp_len);
-                       g_free(tmp);
                }
                        break;
 
                case TAPI_SERVICE_SIM_GET_TYPE : {
                        enum tel_sim_type type = SIM_TYPE_UNKNOWN;
+                       gchar *stype = NULL;
                        type = tcore_sim_get_type(co_sim);
-                       sipc_util_marshal_object_add_data(out_o.mo, "type", &type,
-                                       SIPC_MARSHAL_DATA_INT_TYPE);
-                       tmp = sipc_util_marshal_object_serializer(out_o.mo);
-                       tmp_len = strlen(tmp);
-                       *outparam = g_new0(char, tmp_len+1);
-                       memcpy(*outparam, tmp, tmp_len);
-                       g_free(tmp);
+                       switch (type) {
+                               case SIM_TYPE_UNKNOWN:
+                                       stype = "unknown";
+                                       break;
+                               case SIM_TYPE_GSM:
+                                       stype = "sim";
+                                       break;
+                               case SIM_TYPE_USIM:
+                                       stype = "usim";
+                                       break;
+                               case SIM_TYPE_RUIM:
+                                       stype = "ruim";
+                                       break;
+                               case SIM_TYPE_ISIM:
+                                       stype = "isim";
+                                       break;
+                               default:
+                                       break;
+                       }
+                       sipc_util_marshal_object_add_data(out_o.mo, "type", stype,
+                                       SIPC_MARSHAL_DATA_STRING_TYPE);
                }
                        break;
 
@@ -131,11 +174,6 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu
                                                SIPC_MARSHAL_DATA_STRING_TYPE);
                                sipc_util_marshal_object_add_data(out_o.mo, "msin", n_imsi->msin,
                                                SIPC_MARSHAL_DATA_STRING_TYPE);
-                               tmp = sipc_util_marshal_object_serializer(out_o.mo);
-                               tmp_len = strlen(tmp);
-                               *outparam = g_new0(char, tmp_len+1);
-                               memcpy(*outparam, tmp, tmp_len);
-                               g_free(tmp);
                        }
                }
                        break;
@@ -154,10 +192,52 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu
 
                case TAPI_SERVICE_SIM_SET_LANGUAGE : {
                        struct treq_sim_set_language set_language = { 0, };
-                       enum tel_sim_language_type      g_language;
-                       g_language = sipc_util_marshal_object_get_int(in_o, "language");
-
-                       set_language.language = g_language;
+                       gchar *g_language = NULL;
+                       g_language = sipc_util_marshal_object_get_string(in_o, "language");
+                       dbg("tmp - g_language[%s]",g_language);
+
+                       if (!g_strcmp0(g_language, "de")) {
+                               set_language.language = SIM_LANG_GERMAN;
+                       } else if (!g_strcmp0(g_language, "en")) {
+                               set_language.language = SIM_LANG_ENGLISH;
+                       } else if (!g_strcmp0(g_language, "it")) {
+                               set_language.language = SIM_LANG_ITALIAN;
+                       } else if (!g_strcmp0(g_language, "fr")) {
+                               set_language.language = SIM_LANG_FRENCH;
+                       } else if (!g_strcmp0(g_language, "es")) {
+                               set_language.language = SIM_LANG_SPANISH;
+                       } else if (!g_strcmp0(g_language, "nl")) {
+                               set_language.language = SIM_LANG_DUTCH;
+                       } else if (!g_strcmp0(g_language, "sv")) {
+                               set_language.language = SIM_LANG_SWEDISH;
+                       } else if (!g_strcmp0(g_language, "da")) {
+                               set_language.language = SIM_LANG_DANISH;
+                       } else if (!g_strcmp0(g_language, "pt")) {
+                               set_language.language = SIM_LANG_PORTUGUESE;
+                       } else if (!g_strcmp0(g_language, "fi")) {
+                               set_language.language = SIM_LANG_FINNISH;
+                       } else if (!g_strcmp0(g_language, "no")) {
+                               set_language.language = SIM_LANG_NORWEGIAN;
+                       } else if (!g_strcmp0(g_language, "el")) {
+                               set_language.language = SIM_LANG_GREEK;
+                       } else if (!g_strcmp0(g_language, "tr")) {
+                               set_language.language = SIM_LANG_TURKISH;
+                       } else if (!g_strcmp0(g_language, "hu")) {
+                               set_language.language = SIM_LANG_HUNGARIAN;
+                       } else if (!g_strcmp0(g_language, "pl")) {
+                               set_language.language = SIM_LANG_POLISH;
+                       } else if (!g_strcmp0(g_language, "ko")) {
+                               set_language.language = SIM_LANG_KOREAN;
+                       } else if (!g_strcmp0(g_language, "zh")) {
+                               set_language.language = SIM_LANG_CHINESE;
+                       } else if (!g_strcmp0(g_language, "ru")) {
+                               set_language.language = SIM_LANG_RUSSIAN;
+                       } else if (!g_strcmp0(g_language, "ja")) {
+                               set_language.language = SIM_LANG_JAPANESE;
+                       } else  {
+                               result = FALSE;
+                               goto RETURN;
+                       }
 
                        tcore_user_request_set_data(ur, sizeof(struct treq_sim_set_language), &set_language);
                        tcore_user_request_set_command(ur, TREQ_SIM_SET_LANGUAGE);
@@ -192,20 +272,44 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu
                        tcore_user_request_set_command(ur, TREQ_SIM_GET_CPHS_INFO);
                        break;
 
+               case TAPI_SERVICE_SIM_GET_MSISDN :
+                       tcore_user_request_set_command(ur, TREQ_SIM_GET_MSISDN);
+                       break;
+
+               case TAPI_SERVICE_SIM_GET_OPLMNWACT :
+                       tcore_user_request_set_command(ur, TREQ_SIM_GET_OPLMNWACT);
+                       break;
+
                case TAPI_SERVICE_SIM_AUTHENTICATION : {
                        struct treq_sim_req_authentication req_auth = { 0, };
-                       enum tel_sim_auth_type g_auth_type;
+                       gchar *g_auth_type = NULL;
                        unsigned int g_autn_length;
-                       unsigned char *g_autn_data;
+                       unsigned char *g_autn_data = NULL;
                        unsigned int g_rand_length;
-                       unsigned char *g_rand_data;
-                       g_auth_type = sipc_util_marshal_object_get_int(in_o, "type");
+                       unsigned char *g_rand_data = NULL;
+                       g_auth_type = sipc_util_marshal_object_get_string(in_o, "type");
                        g_autn_data = sipc_util_marshal_object_get_string(in_o, "autn_data");
-                       g_autn_length = strlen(g_autn_data);
+                       g_autn_length = sipc_util_marshal_object_get_int(in_o, "autn_data_length");
                        g_rand_data = sipc_util_marshal_object_get_string(in_o, "rand_data");
-                       g_rand_length = strlen(g_rand_data);
+                       g_rand_length = sipc_util_marshal_object_get_int(in_o, "rand_data_length");
+
+                       dbg("tmp - g_auth_type[%s]",g_auth_type);
+                       if(g_rand_length)
+                               dbg("tmp - g_rand_data[%s]",g_rand_data);
+                       if(g_autn_length)
+                               dbg("tmp - g_autn_data[%s]",g_autn_data);
+
+                        if (!g_strcmp0(g_auth_type, "ims")) {
+                                req_auth.auth_type = SIM_AUTH_TYPE_IMS;
+                        } else if (!g_strcmp0(g_auth_type, "gsm")) {
+                                req_auth.auth_type = SIM_AUTH_TYPE_GSM;
+                        } else if (!g_strcmp0(g_auth_type, "3g")) {
+                                req_auth.auth_type = SIM_AUTH_TYPE_3G;
+                        } else {
+                                result = FALSE;
+                                goto RETURN;
+                        }
 
-                       req_auth.auth_type = g_auth_type;
                        req_auth.autn_length = g_autn_length;
                        if(req_auth.autn_length)
                                memcpy(req_auth.autn_data, g_autn_data, req_auth.autn_length);
@@ -220,14 +324,31 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu
 
                case TAPI_SERVICE_SIM_VERIFYSEC : {
                        struct treq_sim_verify_pins verify_pins = { 0, };
-                       enum tel_sim_pin_type g_pin_type;
+                       gchar *g_pin_type = NULL;
                        unsigned int g_pin_length;
-                       unsigned char *g_pin;
-                       g_pin_type = sipc_util_marshal_object_get_int(in_o, "type");
+                       unsigned char *g_pin = NULL;
+                       g_pin_type = sipc_util_marshal_object_get_string(in_o, "type");
                        g_pin = sipc_util_marshal_object_get_string(in_o, "pw");
                        g_pin_length = strlen(g_pin);
 
-                       verify_pins.pin_type = g_pin_type;
+                       dbg("tmp - g_pin_type[%s]",g_pin_type);
+                       dbg("tmp - g_pin_length[%d]",g_pin_length);
+                       if(g_pin_length)
+                               dbg("tmp - g_pin[%s]",g_pin);
+
+                        if (!g_strcmp0(g_pin_type, "pin1")) {
+                                verify_pins.pin_type = SIM_PTYPE_PIN1;
+                        } else if (!g_strcmp0(g_pin_type, "pin2")) {
+                                verify_pins.pin_type = SIM_PTYPE_PIN2;
+                        } else if (!g_strcmp0(g_pin_type, "admin")) {
+                                verify_pins.pin_type = SIM_PTYPE_ADM;
+                        } else if (!g_strcmp0(g_pin_type, "sim")) {
+                                verify_pins.pin_type = SIM_PTYPE_SIM;
+                        } else {
+                                result = FALSE;
+                                goto RETURN;
+                        }
+
                        verify_pins.pin_length = g_pin_length;
                        memcpy(verify_pins.pin, g_pin, verify_pins.pin_length);
 
@@ -238,18 +359,32 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu
 
                case TAPI_SERVICE_SIM_VERIFYPUK : {
                        struct treq_sim_verify_puks verify_puks = { 0, };
-                       enum tel_sim_pin_type g_puk_type;
+                       gchar *g_puk_type = NULL;
                        unsigned int g_puk_length;
-                       unsigned char *g_puk;
+                       unsigned char *g_puk = NULL;
                        unsigned int g_pin_length;
-                       unsigned char *g_pin;
-                       g_puk_type = sipc_util_marshal_object_get_int(in_o, "type");
+                       unsigned char *g_pin = NULL;
+                       g_puk_type = sipc_util_marshal_object_get_string(in_o, "type");
                        g_puk = sipc_util_marshal_object_get_string(in_o, "puk");
                        g_puk_length = strlen(g_puk);
                        g_pin = sipc_util_marshal_object_get_string(in_o, "pin");
                        g_pin_length = strlen(g_pin);
 
-                       verify_puks.puk_type = g_puk_type;
+                       dbg("tmp - g_puk_type[%s]",g_puk_type);
+                       if(g_puk_length)
+                               dbg("tmp - g_puk[%s]",g_puk);
+                       if(g_pin_length)
+                               dbg("tmp - g_pin[%s]",g_pin);
+
+                        if (!g_strcmp0(g_puk_type, "puk1")) {
+                                verify_puks.puk_type = SIM_PTYPE_PUK1;
+                        } else if (!g_strcmp0(g_puk_type, "puk2")) {
+                                verify_puks.puk_type = SIM_PTYPE_PUK2;
+                        } else {
+                                result = FALSE;
+                                goto RETURN;
+                        }
+
                        verify_puks.puk_length = g_puk_length;
                        memcpy(verify_puks.puk, g_puk, verify_puks.puk_length);
                        verify_puks.pin_length = g_pin_length;
@@ -262,18 +397,32 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu
 
                case TAPI_SERVICE_SIM_CHANGEPIN : {
                        struct treq_sim_change_pins change_pins = { 0, };
-                       enum tel_sim_pin_type g_type;
+                       gchar *g_type = NULL;
                        unsigned int g_old_pw_length;
-                       unsigned char *g_old_pw;
+                       unsigned char *g_old_pw = NULL;
                        unsigned int g_new_pw_length;
-                       unsigned char *g_new_pw;
-                       g_type = sipc_util_marshal_object_get_int(in_o, "type");
+                       unsigned char *g_new_pw = NULL;
+                       g_type = sipc_util_marshal_object_get_string(in_o, "type");
                        g_old_pw = sipc_util_marshal_object_get_string(in_o, "old_pw");
                        g_old_pw_length = strlen(g_old_pw);
                        g_new_pw = sipc_util_marshal_object_get_string(in_o, "new_pw");
                        g_new_pw_length = strlen(g_new_pw);
 
-                       change_pins.type = g_type;
+                       dbg("tmp - g_type[%s]",g_type);
+                       if(g_old_pw_length)
+                               dbg("tmp - g_old_pw[%s]",g_old_pw);
+                       if(g_new_pw_length)
+                               dbg("tmp - g_new_pw[%s]",g_new_pw);
+
+                        if (!g_strcmp0(g_type, "pin1")) {
+                                change_pins.type = SIM_PTYPE_PIN1;
+                        } else if (!g_strcmp0(g_type, "pin2")) {
+                                change_pins.type = SIM_PTYPE_PIN2;
+                        } else {
+                                result = FALSE;
+                                goto RETURN;
+                        }
+
                        change_pins.old_pin_length = g_old_pw_length;
                        memcpy(change_pins.old_pin, g_old_pw, change_pins.old_pin_length);
                        change_pins.new_pin_length = g_new_pw_length;
@@ -286,14 +435,36 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu
 
                case TAPI_SERVICE_SIM_DISABLE_FACILITY : {
                        struct treq_sim_disable_facility dis_facility = { 0, };
-                       enum tel_sim_facility_type g_dis_type;
+                       gchar *g_dis_type = NULL;
                        unsigned int g_dis_pw_length;
-                       unsigned char *g_dis_pw;
-                       g_dis_type = sipc_util_marshal_object_get_int(in_o, "type");
+                       unsigned char *g_dis_pw = NULL;
+                       g_dis_type = sipc_util_marshal_object_get_string(in_o, "type");
                        g_dis_pw = sipc_util_marshal_object_get_string(in_o, "pw");
                        g_dis_pw_length = strlen(g_dis_pw);
 
-                       dis_facility.type = g_dis_type;
+                       dbg("tmp - g_dis_type[%s]",g_dis_type);
+                       if(g_dis_pw_length)
+                               dbg("tmp - g_dis_pw[%s]",g_dis_pw);
+
+                        if (!g_strcmp0(g_dis_type, "ps")) {
+                                dis_facility.type = SIM_FACILITY_PS;
+                        } else if (!g_strcmp0(g_dis_type, "sc")) {
+                                dis_facility.type = SIM_FACILITY_SC;
+                        } else if (!g_strcmp0(g_dis_type, "fd")) {
+                                dis_facility.type = SIM_FACILITY_FD;
+                        } else if (!g_strcmp0(g_dis_type, "pn")) {
+                                dis_facility.type = SIM_FACILITY_PN;
+                        } else if (!g_strcmp0(g_dis_type, "pu")) {
+                                dis_facility.type = SIM_FACILITY_PU;
+                        } else if (!g_strcmp0(g_dis_type, "pp")) {
+                                dis_facility.type = SIM_FACILITY_PP;
+                        } else if (!g_strcmp0(g_dis_type, "pc")) {
+                                dis_facility.type = SIM_FACILITY_PC;
+                        } else {
+                                result = FALSE;
+                                goto RETURN;
+                        }
+
                        dis_facility.password_length = g_dis_pw_length;
                        memcpy(dis_facility.password, g_dis_pw, dis_facility.password_length);
 
@@ -304,14 +475,36 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu
 
                case TAPI_SERVICE_SIM_ENABLE_FACILITY : {
                        struct treq_sim_enable_facility en_facility = { 0, };
-                       enum tel_sim_facility_type g_en_type;
+                       gchar *g_en_type = NULL;
                        unsigned int g_en_pw_length;
-                       unsigned char *g_en_pw;
-                       g_en_type = sipc_util_marshal_object_get_int(in_o, "type");
+                       unsigned char *g_en_pw = NULL;
+                       g_en_type = sipc_util_marshal_object_get_string(in_o, "type");
                        g_en_pw = sipc_util_marshal_object_get_string(in_o, "pw");
                        g_en_pw_length = strlen(g_en_pw);
 
-                       en_facility.type = g_en_type;
+                       dbg("tmp - g_en_type[%s]",g_en_type);
+                       if(g_en_pw_length)
+                               dbg("tmp - g_en_pw[%s]",g_en_pw);
+
+                        if (!g_strcmp0(g_en_type, "ps")) {
+                                en_facility.type = SIM_FACILITY_PS;
+                        } else if (!g_strcmp0(g_en_type, "sc")) {
+                                en_facility.type = SIM_FACILITY_SC;
+                        } else if (!g_strcmp0(g_en_type, "fd")) {
+                                en_facility.type = SIM_FACILITY_FD;
+                        } else if (!g_strcmp0(g_en_type, "pn")) {
+                                en_facility.type = SIM_FACILITY_PN;
+                        } else if (!g_strcmp0(g_en_type, "pu")) {
+                                en_facility.type = SIM_FACILITY_PU;
+                        } else if (!g_strcmp0(g_en_type, "pp")) {
+                                en_facility.type = SIM_FACILITY_PP;
+                        } else if (!g_strcmp0(g_en_type, "pc")) {
+                                en_facility.type = SIM_FACILITY_PC;
+                        } else {
+                                result = FALSE;
+                                goto RETURN;
+                        }
+
                        en_facility.password_length = g_en_pw_length;
                        memcpy(en_facility.password, g_en_pw, en_facility.password_length);
 
@@ -322,10 +515,28 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu
 
                case TAPI_SERVICE_SIM_GET_FACILITY : {
                        struct treq_sim_get_facility_status facility = { 0, };
-                       enum tel_sim_facility_type g_facility_type;
-                       sipc_util_marshal_object_get_data(in_o, "type", (void **)&g_facility_type, TAPI_OBJECT_DATA_TYPE_INT);
-
-                       facility.type = g_facility_type;
+                       gchar *g_facility_type = NULL;
+                       g_facility_type = sipc_util_marshal_object_get_string(in_o, "type");
+                       dbg("tmp - g_facility_type[%s]",g_facility_type);
+
+                        if (!g_strcmp0(g_facility_type, "ps")) {
+                                facility.type = SIM_FACILITY_PS;
+                        } else if (!g_strcmp0(g_facility_type, "sc")) {
+                                facility.type = SIM_FACILITY_SC;
+                        } else if (!g_strcmp0(g_facility_type, "fd")) {
+                                facility.type = SIM_FACILITY_FD;
+                        } else if (!g_strcmp0(g_facility_type, "pn")) {
+                                facility.type = SIM_FACILITY_PN;
+                        } else if (!g_strcmp0(g_facility_type, "pu")) {
+                                facility.type = SIM_FACILITY_PU;
+                        } else if (!g_strcmp0(g_facility_type, "pp")) {
+                                facility.type = SIM_FACILITY_PP;
+                        } else if (!g_strcmp0(g_facility_type, "pc")) {
+                                facility.type = SIM_FACILITY_PC;
+                        } else {
+                                result = FALSE;
+                                goto RETURN;
+                        }
 
                        tcore_user_request_set_data(ur, sizeof(struct treq_sim_get_facility_status), &facility);
                        tcore_user_request_set_command(ur, TREQ_SIM_GET_FACILITY_STATUS);
@@ -335,9 +546,9 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu
                case TAPI_SERVICE_SIM_APDU : {
                        struct treq_sim_transmit_apdu send_apdu ={ 0, };
                        gint g_apdu_length;
-                       gchar *g_apdu;
+                       gchar *g_apdu = NULL;
+                       g_apdu_length = sipc_util_marshal_object_get_int(in_o, "apdu_length");
                        g_apdu = sipc_util_marshal_object_get_string(in_o, "apdu");
-                       g_apdu_length = strlen(g_apdu);
 
                        send_apdu.apdu_length = (unsigned int)g_apdu_length;
                        memcpy(send_apdu.apdu, g_apdu, send_apdu.apdu_length);
@@ -356,18 +567,33 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu
                        break;
        }
 
-       if (cmd == TAPI_SERVICE_SIM_GET_SIMINITINFO || cmd == TAPI_SERVICE_SIM_GET_TYPE
-                       || cmd == TAPI_SERVICE_SIM_GET_IMSI ) {
-               /*synchronous data return case*/
+RETURN:
+       sipc_util_marshal_object_destory(in_o);
+       sipc_util_marshal_object_add_data(out_o.mo, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+
+       dbg("result = %d", result);
+
+       tmp = sipc_util_marshal_object_serializer(out_o.mo);
+       tmp_len = strlen(tmp);
+       *outparam = g_new0(char, tmp_len+1);
+       memcpy(*outparam, tmp, tmp_len);
+       sipc_util_marshal_object_destory(out_o.mo);
+       g_free(tmp);
+
+       if ( cmd !=TAPI_SERVICE_SIM_GET_SIMINITINFO
+                       && cmd != TAPI_SERVICE_SIM_GET_TYPE
+                       && cmd != TAPI_SERVICE_SIM_GET_IMSI ) {
+               if (result == FALSE) {
+                       tcore_user_request_unref(ur);
+                       return FALSE;
+               }
 
-       } else {
-               /*asynchronous data return case*/
                ret = tcore_communicator_dispatch_request(c, ur);
                if (ret != TCORE_RETURN_SUCCESS) {
+                       dbg("error - dispatch result[%d]", ret);
                        return FALSE;
                }
        }
-
        return TRUE;
 }
 
@@ -413,112 +639,319 @@ gboolean scomm_service_response_sim(Communicator *comm, UserRequest *ur, enum tc
        out_o = sipc_util_marshal_object_create();
 
        switch (command) {
-               case TRESP_SIM_VERIFY_PINS:
+               case TRESP_SIM_VERIFY_PINS: {
+                       gchar *gtype = NULL;
                        dbg("resp comm - TRESP_SIM_VERIFY_PINS");
+
+                        if (resp_verify_pins->pin_type == SIM_PTYPE_PIN1) {
+                                gtype = "pin1\0";
+                        } else if (resp_verify_pins->pin_type == SIM_PTYPE_PIN2) {
+                                gtype = "pin2\0";
+                        } else if (resp_verify_pins->pin_type == SIM_PTYPE_ADM) {
+                                gtype = "adm\0";
+                        } else if (resp_verify_pins->pin_type == SIM_PTYPE_SIM) {
+                                gtype = "sim\0";
+                        } else {
+                                dbg("error - [%d] is not handled case in here", resp_verify_pins->pin_type);
+                        }
+                        dbg("gtype[%s]",gtype);
                        sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_verify_pins->result, SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(out_o, "type", (void*)&resp_verify_pins->pin_type, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_o, "type", (void*)gtype, SIPC_MARSHAL_DATA_STRING_TYPE);
                        sipc_util_marshal_object_add_data(out_o, "remain_count", (void*)&resp_verify_pins->retry_count, SIPC_MARSHAL_DATA_INT_TYPE);
+               }
                        break;
 
-               case TRESP_SIM_VERIFY_PUKS:
+               case TRESP_SIM_VERIFY_PUKS: {
+                       gchar *gtype = NULL;
                        dbg("resp comm - TRESP_SIM_VERIFY_PUKS");
+
+                        if (resp_verify_puks->pin_type == SIM_PTYPE_PUK1) {
+                                gtype = "puk1\0";
+                        } else if (resp_verify_puks->pin_type == SIM_PTYPE_PUK2) {
+                                gtype = "puk2\0";
+                        } else {
+                                dbg("error - [%d] is not handled case in here", resp_verify_puks->pin_type);
+                        }
+                        dbg("gtype[%s]",gtype);
                        sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_verify_puks->result, SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(out_o, "type", (void*)&resp_verify_puks->pin_type, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_o, "type", (void*)gtype, SIPC_MARSHAL_DATA_STRING_TYPE);
                        sipc_util_marshal_object_add_data(out_o, "remain_count", (void*)&resp_verify_puks->retry_count, SIPC_MARSHAL_DATA_INT_TYPE);
+               }
                        break;
 
-               case TRESP_SIM_CHANGE_PINS:
+               case TRESP_SIM_CHANGE_PINS: {
+                       gchar *gtype = NULL;
                        dbg("resp comm - TRESP_SIM_CHANGE_PINS");
+
+                        if (resp_change_pins->pin_type == SIM_PTYPE_PIN1) {
+                                gtype = "pin1\0";
+                        } else if (resp_change_pins->pin_type == SIM_PTYPE_PIN2) {
+                                gtype = "pin2\0";
+                        } else {
+                                dbg("error - [%d] is not handled case in here", resp_change_pins->pin_type);
+                        }
+                        dbg("gtype[%s]",gtype);
                        sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_change_pins->result, SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(out_o, "type", (void*)&resp_change_pins->pin_type, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_o, "type", (void*)gtype, SIPC_MARSHAL_DATA_STRING_TYPE);
                        sipc_util_marshal_object_add_data(out_o, "remain_count", (void*)&resp_change_pins->retry_count, SIPC_MARSHAL_DATA_INT_TYPE);
+               }
                        break;
 
-               case TRESP_SIM_GET_FACILITY_STATUS:
+               case TRESP_SIM_GET_FACILITY_STATUS: {
+                       gchar *ftype = NULL;
+                       gchar *gstatus = NULL;
                        dbg("resp comm - TRESP_SIM_GET_FACILITY_STATUS");
+
+                        if (resp_get_facility->type == SIM_FACILITY_PS) {
+                                ftype = "ps\0";
+                        } else if (resp_get_facility->type == SIM_FACILITY_SC) {
+                                ftype = "sc\0";
+                        } else if (resp_get_facility->type == SIM_FACILITY_FD) {
+                                ftype = "fd\0";
+                        } else if (resp_get_facility->type == SIM_FACILITY_PN) {
+                                ftype = "pn\0";
+                        } else if (resp_get_facility->type == SIM_FACILITY_PU) {
+                                ftype = "pu\0";
+                        } else if (resp_get_facility->type == SIM_FACILITY_PP) {
+                                ftype = "pp\0";
+                        } else if (resp_get_facility->type == SIM_FACILITY_PC) {
+                                ftype = "pc\0";
+                        } else {
+                                dbg("error - [%d] is not handled case in here", resp_get_facility->type);
+                        }
+                       dbg("ftype[%s]",ftype);
                        sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_get_facility->result, SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(out_o, "type", (void*)&resp_get_facility->type, SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(out_o, "enabled", (void*)&resp_get_facility->b_enable, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       sipc_util_marshal_object_add_data(out_o, "type", (void*)ftype, SIPC_MARSHAL_DATA_STRING_TYPE);
+
+                       if (resp_get_facility->result == SIM_PUK_REQUIRED) {
+                               gstatus = "blocked\0";
+                       } else if (resp_get_facility->result == SIM_CARD_ERROR) {
+                               gstatus = "permanent_blocked\0";
+                       } else if (resp_get_facility->result == SIM_PIN_OPERATION_SUCCESS) {
+                               if ( resp_get_facility->b_enable )
+                                       gstatus = "enabled\0";
+                               else
+                                       gstatus = "disabled\0";
+                       } else {
+                               gstatus = "unknown\0";
+                       }
+                       dbg("gstatus[%s]",gstatus);
+                       sipc_util_marshal_object_add_data(out_o, "status", (void*)gstatus, SIPC_MARSHAL_DATA_STRING_TYPE);
+               }
                        break;
 
-               case TRESP_SIM_DISABLE_FACILITY:
+               case TRESP_SIM_DISABLE_FACILITY: {
+                       gchar *ftype = NULL;
                        dbg("resp comm - TRESP_SIM_DISABLE_FACILITY");
+                        if (resp_dis_facility->type == SIM_FACILITY_PS) {
+                                ftype = "ps\0";
+                        } else if (resp_dis_facility->type == SIM_FACILITY_SC) {
+                                ftype = "sc\0";
+                        } else if (resp_dis_facility->type == SIM_FACILITY_FD) {
+                                ftype = "fd\0";
+                        } else if (resp_dis_facility->type == SIM_FACILITY_PN) {
+                                ftype = "pn\0";
+                        } else if (resp_dis_facility->type == SIM_FACILITY_PU) {
+                                ftype = "pu\0";
+                        } else if (resp_dis_facility->type == SIM_FACILITY_PP) {
+                                ftype = "pp\0";
+                        } else if (resp_dis_facility->type == SIM_FACILITY_PC) {
+                                ftype = "pc\0";
+                        } else {
+                                dbg("error - [%d] is not handled case in here", resp_dis_facility->type);
+                        }
+                        dbg("ftype[%s]",ftype);
                        sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_dis_facility->result, SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(out_o, "type", (void*)&resp_dis_facility->type, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_o, "type", (void*)ftype, SIPC_MARSHAL_DATA_STRING_TYPE);
                        sipc_util_marshal_object_add_data(out_o, "remain_count", (void*)&resp_dis_facility->retry_count, SIPC_MARSHAL_DATA_INT_TYPE);
+               }
                        break;
 
-               case TRESP_SIM_ENABLE_FACILITY:
+               case TRESP_SIM_ENABLE_FACILITY: {
+                       gchar *ftype = NULL;
                        dbg("resp comm - TRESP_SIM_ENABLE_FACILITY");
+                        if (resp_en_facility->type == SIM_FACILITY_PS) {
+                                ftype = "ps\0";
+                        } else if (resp_en_facility->type == SIM_FACILITY_SC) {
+                                ftype = "sc\0";
+                        } else if (resp_en_facility->type == SIM_FACILITY_FD) {
+                                ftype = "fd\0";
+                        } else if (resp_en_facility->type == SIM_FACILITY_PN) {
+                                ftype = "pn\0";
+                        } else if (resp_en_facility->type == SIM_FACILITY_PU) {
+                                ftype = "pu\0";
+                        } else if (resp_en_facility->type == SIM_FACILITY_PP) {
+                                ftype = "pp\0";
+                        } else if (resp_en_facility->type == SIM_FACILITY_PC) {
+                                ftype = "pc\0";
+                        } else {
+                                dbg("error - [%d] is not handled case in here", resp_en_facility->type);
+                        }
+                        dbg("ftype[%s]",ftype);
                        sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_en_facility->result, SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(out_o, "type", (void*)&resp_en_facility->type, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_o, "type", (void*)ftype, SIPC_MARSHAL_DATA_STRING_TYPE);
                        sipc_util_marshal_object_add_data(out_o, "remain_count", (void*)&resp_en_facility->retry_count, SIPC_MARSHAL_DATA_INT_TYPE);
+               }
                        break;
 
-               case TRESP_SIM_TRANSMIT_APDU:
+               case TRESP_SIM_TRANSMIT_APDU: {
+                       gchar *access_rt = NULL;
                        dbg("resp comm - TRESP_SIM_TRANSMIT_APDU");
-                       sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_apdu->result, SIPC_MARSHAL_DATA_INT_TYPE);
+                       access_rt = _convert_access_result_to_string(resp_apdu->result);
+                       sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       sipc_util_marshal_object_add_data(out_o, "apdu_length", (void*)&resp_apdu->apdu_resp_length, SIPC_MARSHAL_DATA_INT_TYPE);
                        sipc_util_marshal_object_add_data(out_o, "apdu", (void*)&resp_apdu->apdu_resp, SIPC_MARSHAL_DATA_STRING_TYPE);
+               }
                        break;
 
-               case TRESP_SIM_GET_ATR:
+               case TRESP_SIM_GET_ATR: {
+                       gchar *access_rt = NULL;
                        dbg("resp comm - TRESP_SIM_GET_ATR");
-                       sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_get_atr->result, SIPC_MARSHAL_DATA_INT_TYPE);
+                       access_rt = _convert_access_result_to_string(resp_get_atr->result);
+                       sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       sipc_util_marshal_object_add_data(out_o, "atr_length", (void*)&resp_get_atr->atr_length, SIPC_MARSHAL_DATA_INT_TYPE);
                        sipc_util_marshal_object_add_data(out_o, "atr", (void*)&resp_get_atr->atr, SIPC_MARSHAL_DATA_STRING_TYPE);
+               }
                        break;
 
-               case TRESP_SIM_REQ_AUTHENTICATION:
+               case TRESP_SIM_REQ_AUTHENTICATION: {
+                       gchar *access_rt = NULL;
+                       gchar *auth_rt = NULL;
                        dbg("resp comm - TRESP_SIM_REQ_AUTHENTICATION");
-                       sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_auth->auth_result, SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(out_o, "type", (void*)&resp_auth->auth_type, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       access_rt = _convert_access_result_to_string(resp_auth->result);
+                       sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       sipc_util_marshal_object_add_data(out_o, "type", (void*)&resp_auth->auth_type, SIPC_MARSHAL_DATA_INT_TYPE);
+
+                       switch (resp_auth->auth_result) {
+                               case SIM_AUTH_NO_ERROR:
+                                       auth_rt = "ok\0";
+                                       break;
+                               case SIM_AUTH_CANNOT_PERFORM:
+                                       auth_rt = "can_not_perform\0";
+                                       break;
+                               case SIM_AUTH_SKIP_RESPONSE:
+                                       auth_rt = "skip_response\0";
+                                       break;
+                               case SIM_AUTH_MAK_CODE_FAILURE:
+                                       auth_rt = "mak_failure\0";
+                                       break;
+                               case SIM_AUTH_SQN_FAILURE:
+                                       auth_rt = "sqn_failure\0";
+                                       break;
+                               case SIM_AUTH_SYNCH_FAILURE:
+                                       auth_rt = "synch_failure\0";
+                                       break;
+                               case SIM_AUTH_UNSUPPORTED_CONTEXT:
+                                       auth_rt = "unsupported_context\0";
+                                       break;
+                               default:
+                                       dbg("[%d] is not handled in here",resp_auth->auth_result );
+                                       auth_rt = "";
+                                       break;
+                       }
+                       sipc_util_marshal_object_add_data(out_o, "auth_result", (void*)auth_rt, SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_o, "authentication_key_length", (void*)&resp_auth->authentication_key_length, SIPC_MARSHAL_DATA_INT_TYPE);
                        if(resp_auth->authentication_key_length)
                                sipc_util_marshal_object_add_data(out_o, "authentication_key", (void*)&resp_auth->authentication_key, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       sipc_util_marshal_object_add_data(out_o, "cipher_length", (void*)&resp_auth->cipher_length, SIPC_MARSHAL_DATA_INT_TYPE);
                        if(resp_auth->cipher_length)
                                sipc_util_marshal_object_add_data(out_o, "cipher_data", (void*)&resp_auth->cipher_data, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       sipc_util_marshal_object_add_data(out_o, "integrity_length", (void*)&resp_auth->integrity_length, SIPC_MARSHAL_DATA_INT_TYPE);
                        if(resp_auth->integrity_length)
                                sipc_util_marshal_object_add_data(out_o, "integrity_data", (void*)&resp_auth->integrity_data, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       sipc_util_marshal_object_add_data(out_o, "resp_length", (void*)&resp_auth->resp_length, SIPC_MARSHAL_DATA_INT_TYPE);
                        if(resp_auth->resp_length)
                                sipc_util_marshal_object_add_data(out_o, "resp_data", (void*)&resp_auth->resp_data, SIPC_MARSHAL_DATA_STRING_TYPE);
+               }
                        break;
 
-               case TRESP_SIM_SET_LANGUAGE:
+               case TRESP_SIM_SET_LANGUAGE: {
+                       gchar *access_rt = NULL;
                        dbg("resp comm - TRESP_SIM_SET_LANGUAGE");
-                       sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_set_language->result, SIPC_MARSHAL_DATA_INT_TYPE);
+                       access_rt = _convert_access_result_to_string(resp_read->result);
+                       sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE);
+               }
                        break;
 
-               case TRESP_SIM_GET_ECC:
+               case TRESP_SIM_GET_ECC: {
+                       gchar *access_rt = NULL;
                        dbg("resp comm - TRESP_SIM_GET_ECC");
-                       sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE);
+                       access_rt = _convert_access_result_to_string(resp_read->result);
+                       sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE);
                        sipc_util_marshal_object_add_data(out_o, "count", (void*)&resp_read->data.ecc.ecc_count, SIPC_MARSHAL_DATA_INT_TYPE);
-                       entry_o = sipc_util_marshal_object_create();
+
+                       dbg("tmp - resp_read->data.ecc.ecc_count[%d]",resp_read->data.ecc.ecc_count);
+
                        for(i=0;i < resp_read->data.ecc.ecc_count; i++){
                                gchar *entry_key = NULL;
+                               gchar *gcategory = NULL;
+                               entry_o = sipc_util_marshal_object_create();
+                               dbg("tmp - resp_read->data.ecc.ecc[%d].ecc_string[%s]",i, resp_read->data.ecc.ecc[i].ecc_string);
+                               dbg("tmp - resp_read->data.ecc.ecc[%d].ecc_num[%s]",i, resp_read->data.ecc.ecc[i].ecc_num);
+                               dbg("tmp - resp_read->data.ecc.ecc[%d].ecc_category[%d]",i, resp_read->data.ecc.ecc[i].ecc_category);
                                sipc_util_marshal_object_add_data(entry_o, "name", (void*)&resp_read->data.ecc.ecc[i].ecc_string, SIPC_MARSHAL_DATA_STRING_TYPE);
                                sipc_util_marshal_object_add_data(entry_o, "number", (void*)&resp_read->data.ecc.ecc[i].ecc_num, SIPC_MARSHAL_DATA_STRING_TYPE);
-                               sipc_util_marshal_object_add_data(entry_o, "category", (void*)&resp_read->data.ecc.ecc[i].ecc_category, SIPC_MARSHAL_DATA_INT_TYPE);
+
+                               switch (resp_read->data.ecc.ecc[i].ecc_category) {
+                                       case SIM_ECC_POLICE:
+                                               gcategory = "police\0";
+                                               break;
+                                       case SIM_ECC_AMBULANCE:
+                                               gcategory = "ambulance\0";
+                                               break;
+                                       case SIM_ECC_FIREBRIGADE :
+                                               gcategory = "firebrigade\0";
+                                               break;
+                                       case SIM_ECC_MARAINEGUARD :
+                                               gcategory = "maraineguard\0";
+                                               break;
+                                       case SIM_ECC_MOUTAINRESCUE :
+                                               gcategory = "mountainrescue\0";
+                                               break;
+                                       case SIM_ECC_SPARE :
+                                       default:
+                                               gcategory = "spare\0";
+                                               break;
+                               }
+                               sipc_util_marshal_object_add_data(entry_o, "category", (void*)gcategory, SIPC_MARSHAL_DATA_STRING_TYPE);
                                entry_key = g_strdup_printf("%d", i);
                                sipc_util_marshal_object_add_data(out_o, entry_key, entry_o, SIPC_MARSHAL_DATA_OBJECT_TYPE);
                        }
+               }
                        break;
 
-               case TRESP_SIM_GET_LANGUAGE:
+               case TRESP_SIM_GET_LANGUAGE: {
+                       gchar *access_rt = NULL;
+                       char *language_tb[] = { "de", "en", "it", "fr", "es", "nl", "sv", "da", "pt", "fi", "no", "el",
+                                                                                                                       "tr", "hu", "pl", "ko", "zh", "ru", "ja" };
                        dbg("resp comm - TRESP_SIM_GET_LANGUAGE");
-                       sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(out_o, "language", (void*)&resp_read->data.language.language[0] , SIPC_MARSHAL_DATA_INT_TYPE);
+                       access_rt = _convert_access_result_to_string(resp_read->result);
+                       dbg("tmp - access_rt[%s]",access_rt);
+                       dbg("tmp - resp_read->data.language.language[0][%d]",resp_read->data.language.language[0]);
+                       sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE);
+                       dbg("tmp-language[%s]",language_tb[resp_read->data.language.language[0]]);
+                       sipc_util_marshal_object_add_data(out_o, "language", (void*)language_tb[resp_read->data.language.language[0]] , SIPC_MARSHAL_DATA_STRING_TYPE);
+               }
                        break;
 
-               case TRESP_SIM_GET_ICCID:
+               case TRESP_SIM_GET_ICCID: {
+                       gchar *access_rt = NULL;
                        dbg("resp comm - TRESP_SIM_GET_ICCID");
-                       sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE);
+                       access_rt = _convert_access_result_to_string(resp_read->result);
+                       sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE);
                        sipc_util_marshal_object_add_data(out_o, "iccid", (void*)&resp_read->data.iccid.iccid , SIPC_MARSHAL_DATA_STRING_TYPE);
+               }
                        break;
 
-               case TRESP_SIM_GET_MAILBOX:
+               case TRESP_SIM_GET_MAILBOX: {
+                       gchar *access_rt = NULL;
                        dbg("resp comm - TRESP_SIM_GET_MAILBOX");
-                       sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE);
-                       entry_o = sipc_util_marshal_object_create();
+                       access_rt = _convert_access_result_to_string(resp_read->result);
+                       sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE);
+
                        if(resp_read->data.mailbox.voice1.DiallingnumLength){
                                count ++;
+                               entry_o = sipc_util_marshal_object_create();
                                sipc_util_marshal_object_add_data(entry_o, "type", "voice1", SIPC_MARSHAL_DATA_STRING_TYPE);
                                sipc_util_marshal_object_add_data(entry_o, "name", (void*)&resp_read->data.mailbox.voice1.AlphaId, SIPC_MARSHAL_DATA_STRING_TYPE);
                                sipc_util_marshal_object_add_data(entry_o, "number", (void*)&resp_read->data.mailbox.voice1.DiallingNum , SIPC_MARSHAL_DATA_STRING_TYPE);
@@ -526,10 +959,15 @@ gboolean scomm_service_response_sim(Communicator *comm, UserRequest *ur, enum tc
                                sipc_util_marshal_object_add_data(entry_o, "npi", (void*)&resp_read->data.mailbox.voice1.NumberingPlanIdent , SIPC_MARSHAL_DATA_INT_TYPE);
                                entry_key = g_strdup_printf("%d", count);
                                sipc_util_marshal_object_add_data(out_o, entry_key, entry_o, SIPC_MARSHAL_DATA_OBJECT_TYPE);
+                               dbg("tmp - resp_read->data.mailbox.voice1.AlphaId[%s]",resp_read->data.mailbox.voice1.AlphaId);
+                               dbg("tmp - resp_read->data.mailbox.voice1.DiallingNum[%s]",resp_read->data.mailbox.voice1.DiallingNum);
+                               dbg("tmp - resp_read->data.mailbox.voice1.TypeOfNumber[%d]",resp_read->data.mailbox.voice1.TypeOfNumber);
+                               dbg("tmp - resp_read->data.mailbox.voice1.NumberingPlanIdent[%d]",resp_read->data.mailbox.voice1.NumberingPlanIdent);
                        }
 
                        if(resp_read->data.mailbox.voice2.DiallingnumLength){
                                count ++;
+                               entry_o = sipc_util_marshal_object_create();
                                sipc_util_marshal_object_add_data(entry_o, "type", "voice2", SIPC_MARSHAL_DATA_STRING_TYPE);
                                sipc_util_marshal_object_add_data(entry_o, "name", (void*)&resp_read->data.mailbox.voice2.AlphaId, SIPC_MARSHAL_DATA_STRING_TYPE);
                                sipc_util_marshal_object_add_data(entry_o, "number", (void*)&resp_read->data.mailbox.voice2.DiallingNum , SIPC_MARSHAL_DATA_STRING_TYPE);
@@ -537,10 +975,15 @@ gboolean scomm_service_response_sim(Communicator *comm, UserRequest *ur, enum tc
                                sipc_util_marshal_object_add_data(entry_o, "npi", (void*)&resp_read->data.mailbox.voice2.NumberingPlanIdent , SIPC_MARSHAL_DATA_INT_TYPE);
                                entry_key = g_strdup_printf("%d", count);
                                sipc_util_marshal_object_add_data(out_o, entry_key, entry_o, SIPC_MARSHAL_DATA_OBJECT_TYPE);
+                               dbg("tmp - resp_read->data.mailbox.voice2.AlphaId[%s]",resp_read->data.mailbox.voice2.AlphaId);
+                               dbg("tmp - resp_read->data.mailbox.voice2.DiallingNum[%s]",resp_read->data.mailbox.voice2.DiallingNum);
+                               dbg("tmp - resp_read->data.mailbox.voice2.TypeOfNumber[%d]",resp_read->data.mailbox.voice2.TypeOfNumber);
+                               dbg("tmp - resp_read->data.mailbox.voice2.NumberingPlanIdent[%d]",resp_read->data.mailbox.voice2.NumberingPlanIdent);
                        }
 
                        if(resp_read->data.mailbox.fax.DiallingnumLength){
                                count ++;
+                               entry_o = sipc_util_marshal_object_create();
                                sipc_util_marshal_object_add_data(entry_o, "type", "fax", SIPC_MARSHAL_DATA_STRING_TYPE);
                                sipc_util_marshal_object_add_data(entry_o, "name", (void*)&resp_read->data.mailbox.fax.AlphaId, SIPC_MARSHAL_DATA_STRING_TYPE);
                                sipc_util_marshal_object_add_data(entry_o, "number", (void*)&resp_read->data.mailbox.fax.DiallingNum , SIPC_MARSHAL_DATA_STRING_TYPE);
@@ -548,10 +991,15 @@ gboolean scomm_service_response_sim(Communicator *comm, UserRequest *ur, enum tc
                                sipc_util_marshal_object_add_data(entry_o, "npi", (void*)&resp_read->data.mailbox.fax.NumberingPlanIdent , SIPC_MARSHAL_DATA_INT_TYPE);
                                entry_key = g_strdup_printf("%d", count);
                                sipc_util_marshal_object_add_data(out_o, entry_key, entry_o, SIPC_MARSHAL_DATA_OBJECT_TYPE);
+                               dbg("tmp - resp_read->data.mailbox.fax.AlphaId[%s]",resp_read->data.mailbox.fax.AlphaId);
+                               dbg("tmp - resp_read->data.mailbox.fax.DiallingNum[%s]",resp_read->data.mailbox.fax.DiallingNum);
+                               dbg("tmp - resp_read->data.mailbox.fax.TypeOfNumber[%d]",resp_read->data.mailbox.fax.TypeOfNumber);
+                               dbg("tmp - resp_read->data.mailbox.fax.NumberingPlanIdent[%d]",resp_read->data.mailbox.fax.NumberingPlanIdent);
                        }
 
                        if(resp_read->data.mailbox.video.DiallingnumLength){
                                count ++;
+                               entry_o = sipc_util_marshal_object_create();
                                sipc_util_marshal_object_add_data(entry_o, "type", "video", SIPC_MARSHAL_DATA_STRING_TYPE);
                                sipc_util_marshal_object_add_data(entry_o, "name", (void*)&resp_read->data.mailbox.video.AlphaId, SIPC_MARSHAL_DATA_STRING_TYPE);
                                sipc_util_marshal_object_add_data(entry_o, "number", (void*)&resp_read->data.mailbox.video.DiallingNum , SIPC_MARSHAL_DATA_STRING_TYPE);
@@ -559,64 +1007,105 @@ gboolean scomm_service_response_sim(Communicator *comm, UserRequest *ur, enum tc
                                sipc_util_marshal_object_add_data(entry_o, "npi", (void*)&resp_read->data.mailbox.video.NumberingPlanIdent , SIPC_MARSHAL_DATA_INT_TYPE);
                                entry_key = g_strdup_printf("%d", count);
                                sipc_util_marshal_object_add_data(out_o, entry_key, entry_o, SIPC_MARSHAL_DATA_OBJECT_TYPE);
+                               dbg("tmp - resp_read->data.mailbox.video.AlphaId[%s]",resp_read->data.mailbox.video.AlphaId);
+                               dbg("tmp - resp_read->data.mailbox.video.DiallingNum[%s]",resp_read->data.mailbox.video.DiallingNum);
+                               dbg("tmp - resp_read->data.mailbox.video.TypeOfNumber[%d]",resp_read->data.mailbox.video.TypeOfNumber);
+                               dbg("tmp - resp_read->data.mailbox.video.NumberingPlanIdent[%d]",resp_read->data.mailbox.video.NumberingPlanIdent);
                        }
+                       sipc_util_marshal_object_add_data(out_o, "count", (void*)&count, SIPC_MARSHAL_DATA_INT_TYPE);
+                       dbg("tmp - count[%d]", count);
+               }
                        break;
 
-               case TRESP_SIM_GET_CALLFORWARDING:
+               case TRESP_SIM_GET_CALLFORWARDING: {
+                       gchar *access_rt = NULL;
                        dbg("resp comm - TRESP_SIM_GET_CALLFORWARDING");
-                       sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE);
+                       access_rt = _convert_access_result_to_string(resp_read->result);
+                       sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE);
                        sipc_util_marshal_object_add_data(out_o, "line1_status", (void*)&resp_read->data.cf.voice1, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
                        sipc_util_marshal_object_add_data(out_o, "line2_status", (void*)&resp_read->data.cf.voice2, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       dbg("tmp - resp_read->data.cf.voice1[%d]", resp_read->data.cf.voice1);
+                       dbg("tmp - resp_read->data.cf.voice2[%d]", resp_read->data.cf.voice2);
+               }
                        break;
 
-               case TRESP_SIM_GET_MESSAGEWAITING:
+               case TRESP_SIM_GET_MESSAGEWAITING: {
+                       gchar *access_rt = NULL;
                        dbg("resp comm - TRESP_SIM_GET_MESSAGEWAITING");
-                       sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE);
+                       access_rt = _convert_access_result_to_string(resp_read->result);
+                       sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE);
                        if (resp_read->data.mw.b_cphs) {
                                sipc_util_marshal_object_add_data(out_o, "line1_count", (void*)&resp_read->data.mw.mw_data_u.cphs_mw.b_voice1, SIPC_MARSHAL_DATA_INT_TYPE);
                                sipc_util_marshal_object_add_data(out_o, "line2_count", (void*)&resp_read->data.mw.mw_data_u.cphs_mw.b_voice2, SIPC_MARSHAL_DATA_INT_TYPE);
                                sipc_util_marshal_object_add_data(out_o, "fax_count", (void*)&resp_read->data.mw.mw_data_u.cphs_mw.b_fax, SIPC_MARSHAL_DATA_INT_TYPE);
                                sipc_util_marshal_object_add_data(out_o, "video_count", (void*)&resp_read->data.mw.mw_data_u.cphs_mw.b_data, SIPC_MARSHAL_DATA_INT_TYPE);
+                               dbg("tmp - resp_read->data.mw.mw_data_u.cphs_mw.b_voice1[%d]", resp_read->data.mw.mw_data_u.cphs_mw.b_voice1);
+                               dbg("tmp - resp_read->data.mw.mw_data_u.cphs_mw.b_voice2[%d]", resp_read->data.mw.mw_data_u.cphs_mw.b_voice2);
+                               dbg("tmp - resp_read->data.mw.mw_data_u.cphs_mw.b_fax[%d]", resp_read->data.mw.mw_data_u.cphs_mw.b_fax);
+                               dbg("tmp - resp_read->data.mw.mw_data_u.cphs_mw.b_data[%d]", resp_read->data.mw.mw_data_u.cphs_mw.b_data);
                        } else {
                                sipc_util_marshal_object_add_data(out_o, "line1_count", (void*)&resp_read->data.mw.mw_data_u.mw.voice_count, SIPC_MARSHAL_DATA_INT_TYPE);
 /*                             sipc_util_marshal_object_add_data(out_o, "line2_count", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE);*/
                                sipc_util_marshal_object_add_data(out_o, "fax_count", (void*)&resp_read->data.mw.mw_data_u.mw.fax_count, SIPC_MARSHAL_DATA_INT_TYPE);
                                sipc_util_marshal_object_add_data(out_o, "video_count", (void*)&resp_read->data.mw.mw_data_u.mw.video_count, SIPC_MARSHAL_DATA_INT_TYPE);
+                               dbg("tmp - resp_read->data.mw.mw_data_u.mw.voice_count[%d]", resp_read->data.mw.mw_data_u.mw.voice_count);
+                               dbg("tmp - resp_read->data.mw.mw_data_u.mw.fax_count[%d]", resp_read->data.mw.mw_data_u.mw.fax_count);
+                               dbg("tmp - resp_read->data.mw.mw_data_u.mw.video_count[%d]", resp_read->data.mw.mw_data_u.mw.video_count);
                        }
+                       dbg("tmp - resp_read->data.mw.b_cphs[%d]", resp_read->data.mw.b_cphs);
+               }
                        break;
 
-               case TRESP_SIM_GET_CPHS_INFO:
+               case TRESP_SIM_GET_CPHS_INFO: {
+                       gchar *access_rt = NULL;
                        dbg("resp comm - TRESP_SIM_GET_CPHS_INFO");
-                       sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE);
+                       access_rt = _convert_access_result_to_string(resp_read->result);
+                       sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE);
+               }
                        break;
 
-               case TRESP_SIM_GET_MSISDN:
+               case TRESP_SIM_GET_MSISDN: {
+                       gchar *access_rt = NULL;
                        dbg("resp comm - TRESP_SIM_GET_MSISDN");
-                       sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE);
+                       access_rt = _convert_access_result_to_string(resp_read->result);
+                       sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE);
                        sipc_util_marshal_object_add_data(out_o, "count", (void*)&resp_read->data.msisdn_list.count, SIPC_MARSHAL_DATA_INT_TYPE);
-                       entry_o = sipc_util_marshal_object_create();
+                       dbg("tmp - resp_read->data.msisdn_list.count[%d]", resp_read->data.msisdn_list.count);
+
                        for(i=0;i < resp_read->data.msisdn_list.count; i++){
                                gchar *entry_key = NULL;
+                               entry_o = sipc_util_marshal_object_create();
                                sipc_util_marshal_object_add_data(entry_o, "name", (void*)&resp_read->data.msisdn_list.msisdn[i].name, SIPC_MARSHAL_DATA_STRING_TYPE);
                                sipc_util_marshal_object_add_data(entry_o, "number", (void*)&resp_read->data.msisdn_list.msisdn[i].num, SIPC_MARSHAL_DATA_STRING_TYPE);
                                entry_key = g_strdup_printf("%d", i);
                                sipc_util_marshal_object_add_data(out_o, entry_key, entry_o, SIPC_MARSHAL_DATA_OBJECT_TYPE);
+                               dbg("tmp - resp_read->data.msisdn_list.msisdn[%d].name[%s]", i, resp_read->data.msisdn_list.msisdn[i].name);
+                               dbg("tmp - resp_read->data.msisdn_list.msisdn[%d].num[%s]", i, resp_read->data.msisdn_list.msisdn[i].num);
                        }
+               }
                        break;
 
-               case TRESP_SIM_GET_OPLMNWACT:
+               case TRESP_SIM_GET_OPLMNWACT: {
+                       gchar *access_rt = NULL;
                        dbg("resp comm - TRESP_SIM_GET_OPLMNWACT");
-                       sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE);
+                       access_rt = _convert_access_result_to_string(resp_read->result);
+                       sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE);
                        sipc_util_marshal_object_add_data(out_o, "count", (void*)&resp_read->data.opwa.opwa_count, SIPC_MARSHAL_DATA_INT_TYPE);
-                       entry_o = sipc_util_marshal_object_create();
+                       dbg("tmp - resp_read->data.opwa.opwa_count[%d]",resp_read->data.opwa.opwa_count);
+
                        for(i=0;i < resp_read->data.opwa.opwa_count; i++){
                                gchar *entry_key = NULL;
+                               entry_o = sipc_util_marshal_object_create();
                                sipc_util_marshal_object_add_data(entry_o, "plmn", (void*)&resp_read->data.opwa.opwa[i].plmn, SIPC_MARSHAL_DATA_STRING_TYPE);
                                sipc_util_marshal_object_add_data(entry_o, "b_umts", (void*)&resp_read->data.opwa.opwa[i].b_umts, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
                                sipc_util_marshal_object_add_data(entry_o, "b_gsm", (void*)&resp_read->data.opwa.opwa[i].b_gsm, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
                                entry_key = g_strdup_printf("%d", i);
                                sipc_util_marshal_object_add_data(out_o, entry_key, entry_o, SIPC_MARSHAL_DATA_OBJECT_TYPE);
+                               dbg("resp_read->data.opwa.opwa[%d].plmn[%s]",i, resp_read->data.opwa.opwa[i].plmn);
+                               dbg("resp_read->data.opwa.opwa[%d].b_umts[%d]",i, resp_read->data.opwa.opwa[i].b_umts);
+                               dbg("resp_read->data.opwa.opwa[%d].b_gsm[%d]",i, resp_read->data.opwa.opwa[i].b_gsm);
                        }
+               }
                        break;
 
                default:
@@ -656,7 +1145,6 @@ gboolean scomm_service_notification_sim(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* out_o = NULL;
@@ -669,24 +1157,27 @@ gboolean scomm_service_notification_sim(Communicator *comm, CoreObject *source,
                return FALSE;
        }
 
-       s = ctx->sk_server;
        dbg("notification !!! (command = 0x%x, data_len = %d)", command, data_len);
 
        out_o = sipc_util_marshal_object_create();
 
        switch (command) {
-               case TNOTI_SIM_STATUS :
+               case TNOTI_SIM_STATUS:
                        dbg("notified sim_status[%d]", n_sim_status->sim_status);
-                       sipc_util_marshal_object_add_data(out_o, "status", (void*)&n_sim_status->sim_status, SIPC_MARSHAL_DATA_INT_TYPE);
-                       sipc_util_marshal_object_add_data(out_o, "new_sim", (void*)&n_sim_status->b_changed, SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
+                       hdr.cmd = TAPI_NOTI_SIM_STATUS;
+                       sipc_util_marshal_object_add_data(out_o, "status", (void*) &n_sim_status->sim_status,
+                                       SIPC_MARSHAL_DATA_INT_TYPE);
+                       sipc_util_marshal_object_add_data(out_o, "new_sim", (void*) &n_sim_status->b_changed,
+                                       SIPC_MARSHAL_DATA_BOOLEAN_TYPE);
                        break;
 
-               default :
-                       dbg("not handled command [%d] here",command);
+               default:
+                       dbg("unknown notification");
+                       return FALSE;
                        break;
        }
 
-       if(out_o){
+       if (out_o) {
                serial_d = sipc_util_marshal_object_serializer(out_o);
                hdr.data_len = strlen(serial_d);
                sipc_util_marshal_object_destory(out_o);
@@ -694,15 +1185,15 @@ gboolean scomm_service_notification_sim(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);
+       ret = sipc_server_broadcast(ctx->sk_server, out_d, sizeof(struct _tapi_header) + hdr.data_len);
        g_free(out_d);
 
-       if(ret < 0){
+       if (ret < 0) {
                return FALSE;
        }
        return TRUE;
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;
        }
 
diff --git a/test/Makefile b/test/Makefile
deleted file mode 100644 (file)
index 2ee5e47..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-TARGET = teltest
-
-SRCS   = main.c menu.c gprs.c network.c modem.c custom.c
-OBJS   = $(SRCS:.c=.o)
-PKGS   = libsocket-comm-client glib-2.0 gobject-2.0 libsocket-comm-client
-
-CC             = gcc
-CFLAGS = -Wall -g `pkg-config --cflags $(PKGS)`
-LIBS   = `pkg-config --libs $(PKGS)`
-
-all: $(TARGET)
-
-$(TARGET): $(OBJS)
-       $(CC) $(OBJS) $(LIBS) -o $(TARGET)
-
-.c.o: $(SRCS)
-       $(CC) $(CFLAGS) -c $^ -o $@
-
-clean:
-       rm -f $(OBJS) $(TARGET)
diff --git a/test/custom.c b/test/custom.c
deleted file mode 100644 (file)
index bd37aed..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * tel-plugin-socket-communicator
- *
- * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Ja-young Gu <jygu@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <glib.h>
-#include <glib-object.h>
-
-#include "menu.h"
-
-
-struct menu_data menu_custom[] = {
-       { "1", "None", NULL, NULL, NULL},
-       { NULL, NULL, },
-};
-
diff --git a/test/gprs.c b/test/gprs.c
deleted file mode 100644 (file)
index ea482e0..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * tel-plugin-socket-communicator
- *
- * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Ja-young Gu <jygu@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <glib.h>
-#include <glib-object.h>
-
-#include <tapi_sipc.h>
-
-#include "menu.h"
-#include "noti.h"
-
-static char data_gprs_dun_signal[MENU_DATA_SIZE + 1] = "dtr";
-static char data_gprs_dun_status[MENU_DATA_SIZE + 1] = "off";
-
-
-
-gboolean on_noti_ps_dun_pin_control(tapi_service_object_t *data, void *user_data)
-{
-       gchar *str_signal;
-       gboolean status;
-
-       msg("TAPI_NOTI_PS_DUN_PIN_CONTROL receive !!");
-
-       str_signal = tapi_service_object_get_string(data, "signal");
-       status = tapi_service_object_get_boolean(data, "status");
-
-       msg("signal = %s", str_signal);
-       msg("status = %d", status);
-       return TRUE;
-}
-
-
-gboolean on_noti_ps_external_call(tapi_service_object_t *data, void *user_data)
-{
-       msg("TAPI_NOTI_PS_EXTERNAL_CALL receive !!");
-
-       /* no data */
-
-       return TRUE;
-}
-
-static gboolean on_gprs_dun_callback(tapi_service_object_t *data, void *cb_data)
-{
-       int result;
-
-       msg("TAPI_SERVICE_PS_SET_DUN_PIN_CONTROL response receive");
-       result = tapi_service_object_get_int(data, "result");
-
-       msg("result = %d (0 = success)", result);
-
-       return TRUE;
-}
-
-static int run_gprs_dun(MManager *mm, struct menu_data *menu)
-{
-       tapi_handle_t *handle = menu_manager_ref_user_data(mm);
-       tapi_service_object_t *in = NULL;
-       gboolean in_status = FALSE;
-
-       if (!g_strcmp0(data_gprs_dun_status, "on")) {
-               in_status = TRUE;
-       }
-       else if (!g_strcmp0(data_gprs_dun_status, "off")) {
-               in_status = FALSE;
-       }
-       else {
-               msg("wrong value in STATUS");
-               return -1;
-       }
-
-       msg("SIGNAL = %s", data_gprs_dun_signal);
-       msg("STATUS = %s (convert to boolean = %d)", data_gprs_dun_status, in_status);
-       msg("call [%s] tapi service !!!", menu->title);
-
-       in = tapi_create_service_object(TAPI_SERVICE_PS_SET_DUN_PIN_CONTROL);
-       tapi_service_object_add_data(in, "signal", data_gprs_dun_signal, TAPI_OBJECT_DATA_TYPE_STRING);
-       tapi_service_object_add_data(in, "status", &in_status, TAPI_OBJECT_DATA_TYPE_BOOLEAN);
-
-       tel_processing_command_async(handle, in, on_gprs_dun_callback, NULL);
-
-       return 0;
-}
-
-struct menu_data menu_gprs_dun[] = {
-       { "1", "SIGNAL (dcd / dtr / dsr / rts / cts / ri)", NULL, NULL, data_gprs_dun_signal},
-       { "2", "STATUS (on / off)", NULL, NULL, data_gprs_dun_status},
-       { "3", "run", NULL, run_gprs_dun, NULL},
-       { NULL, NULL, },
-};
-
-struct menu_data menu_gprs[] = {
-       { "1", "DUN Pin Control", menu_gprs_dun, NULL, NULL},
-       { NULL, NULL, },
-};
-
diff --git a/test/main.c b/test/main.c
deleted file mode 100644 (file)
index 9311fad..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * tel-plugin-socket-communicator
- *
- * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Ja-young Gu <jygu@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <glib.h>
-#include <glib-object.h>
-
-#include <tapi_sipc.h>
-
-#include "menu.h"
-#include "noti.h"
-
-extern struct menu_data menu_modem[];
-extern struct menu_data menu_gprs[];
-extern struct menu_data menu_net[];
-extern struct menu_data menu_custom[];
-
-static struct menu_data menu_xxx[] = {
-       { "1", "XXX",           NULL,   NULL,           NULL},
-       { NULL, NULL, },
-};
-
-static struct menu_data menu_main[] = {
-       { "1", "Common",        menu_xxx,       NULL,           NULL},
-       { "2", "Modem",         menu_modem,     NULL,           NULL},
-       { "3", "Call",          menu_xxx,       NULL,           NULL},
-       { "4", "SIM",           menu_xxx,       NULL,           NULL},
-       { "5", "SS",            menu_xxx,       NULL,           NULL},
-       { "6", "SMS",           menu_xxx,       NULL,           NULL},
-       { "7", "Network",       menu_net,       NULL,           NULL},
-       { "8", "SAT",           menu_xxx,       NULL,           NULL},
-       { "9", "GPRS",          menu_gprs,      NULL,           NULL},
-       { "a", "SOUND",         menu_xxx,       NULL,           NULL},
-       { "b", "Custom",        menu_custom,NULL,               NULL},
-       { NULL, NULL, },
-};
-
-tapi_handle_t *register_client(void)
-{
-       tapi_handle_t *handle;
-
-       handle = tapi_init("com.xxx.test", "default");
-       if (!handle) {
-               printf("fail to register server\n");
-               return NULL;
-       }
-
-       printf("success to register server\n");
-       return handle;
-}
-
-void register_event(tapi_handle_t *handle)
-{
-       int ret;
-
-       /* PS */
-       ret = tapi_register_notification(handle, TAPI_NOTI_PS_DUN_PIN_CONTROL, on_noti_ps_dun_pin_control, NULL);
-       ret = tapi_register_notification(handle, TAPI_NOTI_PS_EXTERNAL_CALL, on_noti_ps_external_call, NULL);
-
-       /* Network */
-       ret = tapi_register_notification(handle, TAPI_NOTI_NETWORK_REGISTRATION_STATUS, on_noti_network_registration_status, NULL);
-       ret = tapi_register_notification(handle, TAPI_NOTI_NETWORK_LOCATION_CELLINFO, on_noti_network_location_cellinfo, NULL);
-       ret = tapi_register_notification(handle, TAPI_NOTI_NETWORK_ICON_INFO, on_noti_network_icon_info, NULL);
-       ret = tapi_register_notification(handle, TAPI_NOTI_NETWORK_CHANGE, on_noti_network_change, NULL);
-       ret = tapi_register_notification(handle, TAPI_NOTI_NETWORK_TIMEINFO, on_noti_network_timeinfo, NULL);
-}
-
-void deregister_client(tapi_handle_t *handle)
-{
-       gboolean rv = FALSE;
-
-       if (!handle)
-               return;
-
-       rv = tapi_deinit(handle);
-       if (!rv) {
-               printf("fail to deregister server\n");
-               return;
-       }
-
-       printf("success to deregister server\n");
-       return;
-}
-
-int main(int arg, char **argv)
-{
-       GMainLoop *mainloop;
-       GIOChannel *channel = g_io_channel_unix_new(STDIN_FILENO);
-       MManager *manager;
-       tapi_handle_t *handle;
-
-       mainloop = g_main_loop_new(NULL, FALSE);
-       handle = register_client();
-
-       register_event(handle);
-
-       printf("******* Integrated TAPI Test Application: Version 0.4  *****\n");
-       printf("******* Buid On: %s  %s  ********\n", __DATE__, __TIME__);
-
-       manager = menu_manager_new(menu_main, mainloop);
-       menu_manager_set_user_data(manager, handle);
-       menu_manager_run(manager);
-
-       g_io_add_watch(channel, (G_IO_IN | G_IO_ERR | G_IO_HUP | G_IO_NVAL), on_menu_manager_keyboard, manager);
-
-       g_main_loop_run(mainloop);
-
-       printf("******* Bye bye *******\n");
-
-       deregister_client(handle);
-
-       return 0;
-}
-
diff --git a/test/menu.c b/test/menu.c
deleted file mode 100644 (file)
index 5c82451..0000000
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * tel-plugin-socket-communicator
- *
- * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Ja-young Gu <jygu@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <glib.h>
-#include <glib-object.h>
-
-#include "menu.h"
-
-#define DEFAULT_MENU_MENU      "m"
-#define DEFAULT_MENU_PREV      "p"
-#define DEFAULT_MENU_QUIT      "q"
-
-
-struct menu_manager {
-       GQueue *stack;
-       GQueue *title_stack;
-
-       struct menu_data *menu;
-
-       char *buf;
-
-       void *user_data;
-       GMainLoop *mainloop;
-};
-
-
-char key_buffer[MENU_DATA_SIZE];
-
-static void _show_prompt()
-{
-       msgn(" >> ");
-}
-
-static void _show_reserved_menu()
-{
-       msg(ANSI_COLOR_DARKGRAY "--------------------------------------------" ANSI_COLOR_NORMAL);
-       msg(" [%3s] Previous menu ", DEFAULT_MENU_PREV);
-       msg(" [%3s] Show Menu ", DEFAULT_MENU_MENU);
-       msg(" [%3s] Quit ", DEFAULT_MENU_QUIT);
-}
-
-static void _show_input_ok()
-{
-       msg("OK.");
-}
-
-static void _show_menu(MManager *m, struct menu_data menu[])
-{
-       int i = 0;
-       int len = 0;
-       struct menu_data *item;
-
-       if (!menu)
-               return;
-
-       msg("");
-       msg("============================================");
-       len = g_queue_get_length(m->title_stack);
-       msgn(ANSI_COLOR_YELLOW " Main");
-       if (len > 0) {
-               for (i = 0; i < len; i++) {
-                       msgn(ANSI_COLOR_NORMAL " >> " ANSI_COLOR_YELLOW "%s", (char *)g_queue_peek_nth(m->title_stack, i));
-               }
-       }
-       msg(ANSI_COLOR_NORMAL);
-       msg("--------------------------------------------");
-
-       i = 0;
-       while (1) {
-               item = menu + i;
-               if (item->key == NULL)
-                       break;
-
-               //msgn(" [%p][%3s] ", item, item->key);
-               msgn(" [%3s] ", item->key);
-               if (item->data) {
-                       msg("%s " ANSI_COLOR_LIGHTBLUE "(%s)" ANSI_COLOR_NORMAL, item->title, item->data);
-               }
-               else {
-                       msg("%s", item->title);
-               }
-
-               i++;
-       }
-
-       _show_reserved_menu();
-
-       msg("============================================");
-
-       _show_prompt();
-}
-
-static void _show_item_data_input_msg(struct menu_data *item)
-{
-       msg("");
-       msg("============================================");
-       msg(" Input [%s] data ", item->title);
-       msg("--------------------------------------------");
-       msg(" current = [%s]", item->data);
-       msgn(" new >> ");
-}
-
-static void _move_menu(MManager *mm, struct menu_data menu[], char *key)
-{
-       struct menu_data *item;
-       int i = 0;
-
-       if (!mm->menu)
-               return;
-
-       if (!g_strcmp0(DEFAULT_MENU_PREV, key)) {
-               if (g_queue_get_length(mm->stack) > 0) {
-                       mm->menu = g_queue_pop_tail(mm->stack);
-                       g_queue_pop_tail(mm->title_stack);
-               }
-               _show_menu(mm, mm->menu);
-               mm->buf = key_buffer;
-       }
-       else if (!g_strcmp0(DEFAULT_MENU_MENU, key)) {
-               _show_menu(mm, mm->menu);
-       }
-       else if (!g_strcmp0(DEFAULT_MENU_QUIT, key)) {
-               g_main_loop_quit(mm->mainloop);
-       }
-
-       while (1) {
-               item = menu + i;
-               if (item->key == NULL)
-                       break;
-
-               if (!g_strcmp0(item->key, key)) {
-                       if (item->sub_menu) {
-                               g_queue_push_tail(mm->stack, mm->menu);
-                               g_queue_push_tail(mm->title_stack, item->title);
-
-                               mm->menu = item->sub_menu;
-                               _show_menu(mm, mm->menu);
-                               mm->buf = key_buffer;
-                       }
-
-                       if (item->callback)
-                               item->callback(mm, item);
-
-                       if (item->data) {
-                               _show_item_data_input_msg(item);
-                               mm->buf = item->data;
-                       }
-                       return;
-               }
-
-               i++;
-       }
-
-       _show_prompt();
-}
-
-MManager *menu_manager_new(struct menu_data items[], GMainLoop *mainloop)
-{
-       MManager *mm;
-
-       mm = calloc(sizeof(struct menu_manager), 1);
-       mm->stack = g_queue_new();
-       mm->title_stack = g_queue_new();
-       mm->menu = items;
-       mm->mainloop = mainloop;
-
-       return mm;
-}
-
-int menu_manager_run(MManager *mm)
-{
-       _show_menu(mm, mm->menu);
-
-       mm->buf = key_buffer;
-
-       return 0;
-}
-
-int menu_manager_set_user_data(MManager *mm, void *user_data)
-{
-       if (!mm)
-               return -1;
-
-       mm->user_data = user_data;
-
-       return 0;
-}
-
-void *menu_manager_ref_user_data(MManager *mm)
-{
-       if (!mm)
-               return NULL;
-
-       return mm->user_data;
-}
-
-gboolean on_menu_manager_keyboard(GIOChannel *src, GIOCondition con, gpointer data)
-{
-       MManager *mm = data;
-       char local_buf[MENU_DATA_SIZE + 1] = {
-                       0, };
-
-       fgets(local_buf, MENU_DATA_SIZE, stdin);
-
-       if (strlen(local_buf) > 0) {
-               if (local_buf[strlen(local_buf) - 1] == '\n')
-                       local_buf[strlen(local_buf) - 1] = '\0';
-       }
-
-       if (mm->buf == key_buffer) {
-               if (strlen(local_buf) < 1) {
-                       _show_prompt();
-                       return TRUE;
-               }
-
-               _move_menu(mm, mm->menu, local_buf);
-       }
-       else {
-               if (mm->buf) {
-                       memset(mm->buf, 0, MENU_DATA_SIZE);
-                       memcpy(mm->buf, local_buf, MENU_DATA_SIZE);
-                       _show_input_ok();
-               }
-               mm->buf = key_buffer;
-               _move_menu(mm, mm->menu, DEFAULT_MENU_MENU);
-       }
-
-       return TRUE;
-}
diff --git a/test/menu.h b/test/menu.h
deleted file mode 100644 (file)
index c84fc1a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * tel-plugin-socket-communicator
- *
- * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Ja-young Gu <jygu@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __MENU_H__
-#define __MENU_H__
-
-__BEGIN_DECLS
-
-#define ANSI_COLOR_NORMAL "\e[0m"
-
-#define ANSI_COLOR_BLACK "\e[0;30m"
-#define ANSI_COLOR_RED "\e[0;31m"
-#define ANSI_COLOR_GREEN "\e[0;32m"
-#define ANSI_COLOR_BROWN "\e[0;33m"
-#define ANSI_COLOR_BLUE "\e[0;34m"
-#define ANSI_COLOR_MAGENTA "\e[0;35m"
-#define ANSI_COLOR_CYAN "\e[0;36m"
-#define ANSI_COLOR_LIGHTGRAY "\e[0;37m"
-
-#define ANSI_COLOR_DARKGRAY "\e[1;30m"
-#define ANSI_COLOR_LIGHTRED "\e[1;31m"
-#define ANSI_COLOR_LIGHTGREEN "\e[1;32m"
-#define ANSI_COLOR_YELLOW "\e[1;33m"
-#define ANSI_COLOR_LIGHTBLUE "\e[1;34m"
-#define ANSI_COLOR_LIGHTMAGENTA "\e[1;35m"
-#define ANSI_COLOR_LIGHTCYAN "\e[1;36m"
-#define ANSI_COLOR_WHITE "\e[1;37m"
-
-#define msg(fmt,args...)  { fprintf(stdout, fmt "\n", ##args); fflush(stdout); }
-#define msgn(fmt,args...)  { fprintf(stdout, fmt, ##args); fflush(stdout); }
-
-#define MENU_DATA_SIZE         255
-
-typedef struct menu_manager MManager;
-
-struct menu_data {
-       char *key;
-       char *title;
-       struct menu_data *sub_menu;
-       int (*callback)(MManager *mm, struct menu_data *menu);
-       char *data;
-};
-
-MManager* menu_manager_new(struct menu_data items[], GMainLoop *mainloop);
-int       menu_manager_run(MManager *mm);
-int       menu_manager_set_user_data(MManager *mm, void *user_data);
-void*     menu_manager_ref_user_data(MManager *mm);
-
-gboolean  on_menu_manager_keyboard(GIOChannel *src, GIOCondition con, gpointer data);
-
-__END_DECLS
-
-#endif
diff --git a/test/modem.c b/test/modem.c
deleted file mode 100644 (file)
index 0fabe74..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * tel-plugin-socket-communicator
- *
- * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Ja-young Gu <jygu@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <glib.h>
-#include <glib-object.h>
-
-#include "menu.h"
-
-static char data_modem_set_flight_mode_enable[MENU_DATA_SIZE + 1] = "true";
-
-
-static int run_modem_set_flight_mode(MManager *mm, struct menu_data *menu)
-{
-       msg("enable = %s", data_modem_set_flight_mode_enable);
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-static int run_modem_get_flight_mode(MManager *mm, struct menu_data *menu)
-{
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-static int run_modem_get_imei(MManager *mm, struct menu_data *menu)
-{
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-static int run_modem_get_version(MManager *mm, struct menu_data *menu)
-{
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-
-static struct menu_data menu_modem_set_flight_mode[] = {
-       { "1", "enable (true / false)", NULL, NULL, data_modem_set_flight_mode_enable},
-       { "2", "run", NULL, run_modem_set_flight_mode, NULL},
-       { NULL, NULL, },
-};
-
-static struct menu_data menu_modem_get_flight_mode[] = {
-       { "1", "run", NULL, run_modem_get_flight_mode, NULL},
-       { NULL, NULL, },
-};
-
-
-static struct menu_data menu_modem_get_imei[] = {
-       { "1", "run", NULL, run_modem_get_imei, NULL},
-       { NULL, NULL, },
-};
-
-static struct menu_data menu_modem_get_version[] = {
-       { "1", "run", NULL, run_modem_get_version, NULL},
-       { NULL, NULL, },
-};
-
-
-struct menu_data menu_modem[] = {
-       { "1", "SET Flight mode", menu_modem_set_flight_mode, NULL, NULL},
-       { "2", "GET Flight mode", menu_modem_get_flight_mode, NULL, NULL},
-       { "3", "GET IMEI", menu_modem_get_imei, NULL, NULL},
-       { "4", "GET Version", menu_modem_get_version, NULL, NULL},
-       { NULL, NULL, },
-};
diff --git a/test/network.c b/test/network.c
deleted file mode 100644 (file)
index 5a894cf..0000000
+++ /dev/null
@@ -1,428 +0,0 @@
-/*
- * tel-plugin-socket-communicator
- *
- * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Ja-young Gu <jygu@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <glib.h>
-#include <glib-object.h>
-
-#include <tapi_sipc.h>
-
-#include "menu.h"
-#include "noti.h"
-
-static char data_menu_net_set_plmn_mode_mode[MENU_DATA_SIZE + 1] = "automatic";
-static char data_menu_net_set_plmn_mode_plmn[MENU_DATA_SIZE + 1] = "450001";
-
-static char data_net_set_service_domain_domain[MENU_DATA_SIZE + 1] = "combined";
-
-static char data_net_set_band_mode[MENU_DATA_SIZE + 1] = "only";
-static char data_net_set_band_band[MENU_DATA_SIZE + 1] = "1";
-
-static char data_net_set_preferred_plmn_mode[MENU_DATA_SIZE + 1] = "add";
-static char data_net_set_preferred_plmn_plmn[MENU_DATA_SIZE + 1] = "45001";
-static char data_net_set_preferred_plmn_act[MENU_DATA_SIZE + 1] = "1";
-static char data_net_set_preferred_plmn_ef_index[MENU_DATA_SIZE + 1] = "0";
-
-static char data_net_set_order_order[MENU_DATA_SIZE + 1] = "auto";
-
-static char data_net_set_poa_enable[MENU_DATA_SIZE + 1] = "true";
-
-
-gboolean on_noti_network_registration_status(tapi_service_object_t *data, void *user_data)
-{
-       gint cs_domain_status, ps_domain_status, service_type, roaming_status;
-
-       msg("TAPI_NOTI_NETWORK_REGISTRATION_STATUS receive !!");
-
-       cs_domain_status = tapi_service_object_get_int(data, "cs_domain_status");
-       ps_domain_status = tapi_service_object_get_int(data, "ps_domain_status");
-       service_type = tapi_service_object_get_int(data, "service_type");
-       roaming_status = tapi_service_object_get_int(data, "roaming_status");
-
-       msg("cs_domain_status = %d", cs_domain_status);
-       msg("ps_domain_status = %d", ps_domain_status);
-       msg("service_type = %d", service_type);
-       msg("roaming_status = %d", roaming_status);
-
-       return TRUE;
-}
-
-gboolean on_noti_network_location_cellinfo(tapi_service_object_t *data, void *user_data)
-{
-       gint lac, cell_id;
-
-       msg("TAPI_NOTI_NETWORK_LOCATION_CELLINFO receive !!");
-
-       lac = tapi_service_object_get_int(data, "lac");
-       cell_id = tapi_service_object_get_int(data, "cell_id");
-
-       msg("lac = %d", lac);
-       msg("cell_id = %d", cell_id);
-
-       return TRUE;
-}
-
-gboolean on_noti_network_icon_info(tapi_service_object_t *data, void *user_data)
-{
-       gint type, rssi, battery, hdr_rssi;
-
-       msg("TAPI_NOTI_NETWORK_ICON_INFO receive !!");
-
-       type = tapi_service_object_get_int(data, "type");
-       rssi = tapi_service_object_get_int(data, "rssi");
-       battery = tapi_service_object_get_int(data, "battery");
-       hdr_rssi = tapi_service_object_get_int(data, "hdr_rssi");
-
-       msg("type = %d", type);
-       msg("rssi = %d", rssi);
-       msg("battery = %d", battery);
-       msg("hdr_rssi = %d", hdr_rssi);
-
-       return TRUE;
-}
-
-gboolean on_noti_network_change(tapi_service_object_t *data, void *user_data)
-{
-       gchar *plmn;
-       gint act, lac, carrier, sid, nid, bs_id, bs_lat, bs_long, reg_sonze, pilot_pn;
-
-       msg("TAPI_NOTI_NETWORK_CHANGE receive !!");
-
-       plmn = tapi_service_object_get_string(data, "plmn");
-       act = tapi_service_object_get_int(data, "act");
-       lac = tapi_service_object_get_int(data, "lac");
-       carrier = tapi_service_object_get_int(data, "carrier");
-       sid = tapi_service_object_get_int(data, "sid");
-       nid = tapi_service_object_get_int(data, "nid");
-       bs_id = tapi_service_object_get_int(data, "bs_id");
-       bs_lat = tapi_service_object_get_int(data, "bs_lat");
-       bs_long = tapi_service_object_get_int(data, "bs_long");
-       reg_sonze = tapi_service_object_get_int(data, "reg_sonze");
-       pilot_pn = tapi_service_object_get_int(data, "pilot_pn");
-
-       msg("plmn = %s", plmn);
-       msg("act = %d", act);
-       msg("lac = %d", lac);
-       msg("carrier = %d", carrier);
-       msg("sid = %d", sid);
-       msg("nid = %d", nid);
-       msg("bs_id = %d", bs_id);
-       msg("bs_lat = %d", bs_lat);
-       msg("bs_long = %d", bs_long);
-       msg("reg_sonze = %d", reg_sonze);
-       msg("pilot_pn = %d", pilot_pn);
-
-       return TRUE;
-}
-
-gboolean on_noti_network_timeinfo(tapi_service_object_t *data, void *user_data)
-{
-       gchar *plmn;
-       gint year, month, day, hour, minute, second, wday, gmtoff, dstoff, isdst;
-
-       msg("TAPI_NOTI_NETWORK_TIMEINFO receive !!");
-
-       plmn = tapi_service_object_get_string(data, "plmn");
-       year = tapi_service_object_get_int(data, "year");
-       month = tapi_service_object_get_int(data, "month");
-       day = tapi_service_object_get_int(data, "day");
-       hour = tapi_service_object_get_int(data, "hour");
-       minute = tapi_service_object_get_int(data, "minute");
-       second = tapi_service_object_get_int(data, "second");
-       wday = tapi_service_object_get_int(data, "wday");
-       gmtoff = tapi_service_object_get_int(data, "gmtoff");
-       dstoff = tapi_service_object_get_int(data, "dstoff");
-       isdst = tapi_service_object_get_int(data, "isdst");
-
-       msg("plmn = %s", plmn);
-       msg("year = %d", year);
-       msg("month = %d", month);
-       msg("day = %d", day);
-       msg("hour = %d", hour);
-       msg("minute = %d", minute);
-       msg("second = %d", second);
-       msg("wday = %d", wday);
-       msg("gmtoff = %d", gmtoff);
-       msg("dstoff = %d", dstoff);
-       msg("isdst = %d", isdst);
-
-       return TRUE;
-}
-
-static gboolean on_net_search(tapi_service_object_t *data, void *cb_data)
-{
-       int count;
-       int i;
-       char buf[10] = {0, };
-       char *plmn;
-       int status;
-       int act;
-       tapi_service_object_t *entry;
-
-       msg("TAPI_SERVICE_NETWORK_SEARCH response receive");
-       count = tapi_service_object_get_int(data, "count");
-
-       msg("count = %d", count);
-       for (i = 0; i < count; i++) {
-               snprintf(buf, 10, "%d", i);
-               entry = tapi_service_object_get_object(data, buf);
-               if (!entry)
-                       continue;
-
-               plmn = tapi_service_object_get_string(entry, "plmn");
-               status = tapi_service_object_get_int(entry, "status");
-               act = tapi_service_object_get_int(entry, "act");
-               msg("[%2d] plmn=[%s], status=%d, act=%d", i, plmn, status, act);
-       }
-
-       return TRUE;
-}
-
-static int run_net_search(MManager *mm, struct menu_data *menu)
-{
-       tapi_handle_t *handle = menu_manager_ref_user_data(mm);
-       tapi_service_object_t *in = NULL;
-
-       msg("call [%s] tapi service !!!", menu->title);
-
-       in = tapi_create_service_object(TAPI_SERVICE_NETWORK_SEARCH);
-
-       tel_processing_command_async(handle, in, on_net_search, NULL);
-
-       return 0;
-}
-
-static int run_net_set_plmn_mode(MManager *mm, struct menu_data *menu)
-{
-       msg("mode = %s", data_menu_net_set_plmn_mode_mode);
-       msg("plmn = %s", data_menu_net_set_plmn_mode_plmn);
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-static int run_net_get_plmn_mode(MManager *mm, struct menu_data *menu)
-{
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-static int run_net_set_service_domain(MManager *mm, struct menu_data *menu)
-{
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-static int run_net_get_service_domain(MManager *mm, struct menu_data *menu)
-{
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-static int run_net_set_band(MManager *mm, struct menu_data *menu)
-{
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-static int run_net_get_band(MManager *mm, struct menu_data *menu)
-{
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-static int run_net_set_preferred_plmn(MManager *mm, struct menu_data *menu)
-{
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-static int run_net_get_preferred_plmn(MManager *mm, struct menu_data *menu)
-{
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-static int run_net_set_order(MManager *mm, struct menu_data *menu)
-{
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-static int run_net_get_order(MManager *mm, struct menu_data *menu)
-{
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-static int run_net_set_poa(MManager *mm, struct menu_data *menu)
-{
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-static int run_net_get_poa(MManager *mm, struct menu_data *menu)
-{
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-static int run_net_set_cancel_manual_search(MManager *mm, struct menu_data *menu)
-{
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-static int run_net_get_serving_network(MManager *mm, struct menu_data *menu)
-{
-       msg("call [%s] tapi service !!!", menu->title);
-
-       return 0;
-}
-
-
-static struct menu_data menu_net_search[] = {
-       { "1", "run", NULL, run_net_search, NULL},
-       { NULL, NULL, },
-};
-
-static struct menu_data menu_net_set_plmn_mode[] = {
-       { "1", "mode (automatic / manual)", NULL, NULL, data_menu_net_set_plmn_mode_mode},
-       { "2", "plmn (45001)", NULL, NULL, data_menu_net_set_plmn_mode_plmn},
-       { "3", "run", NULL, run_net_set_plmn_mode, NULL},
-       { NULL, NULL, },
-};
-
-static struct menu_data menu_net_get_plmn_mode[] = {
-       { "1", "run", NULL, run_net_get_plmn_mode, NULL},
-       { NULL, NULL, },
-};
-
-
-static struct menu_data menu_net_set_service_domain[] = {
-       { "1", "domain (circuit / packet / combined)", NULL, NULL, data_net_set_service_domain_domain},
-       { "2", "run", NULL, run_net_set_service_domain, NULL},
-       { NULL, NULL, },
-};
-
-static struct menu_data menu_net_get_service_domain[] = {
-       { "1", "run", NULL, run_net_get_service_domain, NULL},
-       { NULL, NULL, },
-};
-
-
-static struct menu_data menu_net_set_band[] = {
-       { "1", "mode (only / preferred)", NULL, NULL, data_net_set_band_mode},
-       { "2", "band (1=.., 2=..)", NULL, NULL, data_net_set_band_band},
-       { "3", "run", NULL, run_net_set_band, NULL},
-       { NULL, NULL, },
-};
-
-static struct menu_data menu_net_get_band[] = {
-       { "1", "run", NULL, run_net_get_band, NULL},
-       { NULL, NULL, },
-};
-
-
-static struct menu_data menu_net_set_preferred_plmn[] = {
-       { "1", "mode (add / edit / delete)", NULL, NULL, data_net_set_preferred_plmn_mode},
-       { "2", "plmn (45001)", NULL, NULL, data_net_set_preferred_plmn_plmn},
-       { "3", "act (1=.., 2=..)", NULL, NULL, data_net_set_preferred_plmn_act},
-       { "4", "ef_index (0,...)", NULL, NULL, data_net_set_preferred_plmn_ef_index},
-       { "5", "run", NULL, run_net_set_preferred_plmn, NULL},
-       { NULL, NULL, },
-};
-
-static struct menu_data menu_net_get_preferred_plmn[] = {
-       { "1", "run", NULL, run_net_get_preferred_plmn, NULL},
-       { NULL, NULL, },
-};
-
-
-static struct menu_data menu_net_set_order[] = {
-       { "1", "order (auto / gsm / wcdma / no_change)", NULL, NULL, data_net_set_order_order},
-       { "2", "run", NULL, run_net_set_order, NULL},
-       { NULL, NULL, },
-};
-
-static struct menu_data menu_net_get_order[] = {
-       { "1", "run", NULL, run_net_get_order, NULL},
-       { NULL, NULL, },
-};
-
-
-static struct menu_data menu_net_set_poa[] = {
-       { "1", "enable (true / false)", NULL, NULL, data_net_set_poa_enable},
-       { "2", "run", NULL, run_net_set_poa, NULL},
-       { NULL, NULL, },
-};
-
-static struct menu_data menu_net_get_poa[] = {
-       { "1", "run", NULL, run_net_get_poa, NULL},
-       { NULL, NULL, },
-};
-
-
-static struct menu_data menu_net_set_cancel_manual_search[] = {
-       { "1", "run", NULL, run_net_set_cancel_manual_search, NULL},
-       { NULL, NULL, },
-};
-
-
-static struct menu_data menu_net_get_serving_network[] = {
-       { "1", "run", NULL, run_net_get_serving_network, NULL},
-       { NULL, NULL, },
-};
-
-
-struct menu_data menu_net[] = {
-       { "1", "Search", menu_net_search, NULL, NULL},
-       { "2s", "SET PLMN Selection mode", menu_net_set_plmn_mode, NULL, NULL},
-       { "2g", "GET PLMN Selection mode", menu_net_get_plmn_mode, NULL, NULL},
-       { "3s", "SET Service Domain", menu_net_set_service_domain, NULL, NULL},
-       { "3g", "GET_Service Domain", menu_net_get_service_domain, NULL, NULL},
-       { "4s", "SET Band", menu_net_set_band, NULL, NULL},
-       { "4g", "GET Band", menu_net_get_band, NULL, NULL},
-       { "5s", "SET Preferred PLMN", menu_net_set_preferred_plmn, NULL, NULL},
-       { "5g", "GET Preferred PLMN", menu_net_get_preferred_plmn, NULL, NULL},
-       { "6s", "SET Order", menu_net_set_order, NULL, NULL},
-       { "6g", "GET Order", menu_net_get_order, NULL, NULL},
-       { "7s", "SET Power on attach", menu_net_set_poa, NULL, NULL},
-       { "7g", "GET Power on attach", menu_net_get_poa, NULL, NULL},
-       { "8s", "SET Cancel manual search", menu_net_set_cancel_manual_search, NULL, NULL},
-       { "9g", "GET Serving network", menu_net_get_serving_network, NULL, NULL},
-       { NULL, NULL, },
-};
diff --git a/test/noti.h b/test/noti.h
deleted file mode 100644 (file)
index d8e3bd3..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * tel-plugin-socket-communicator
- *
- * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Ja-young Gu <jygu@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __NOTI_H__
-#define __NOTI_H__
-
-gboolean on_noti_ps_dun_pin_control(tapi_service_object_t *data, void *user_data);
-gboolean on_noti_ps_external_call(tapi_service_object_t *data, void *user_data);
-
-gboolean on_noti_network_registration_status(tapi_service_object_t *data, void *user_data);
-gboolean on_noti_network_location_cellinfo(tapi_service_object_t *data, void *user_data);
-gboolean on_noti_network_icon_info(tapi_service_object_t *data, void *user_data);
-gboolean on_noti_network_change(tapi_service_object_t *data, void *user_data);
-gboolean on_noti_network_timeinfo(tapi_service_object_t *data, void *user_data);
-
-#endif