diff --git a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/cc.cpp b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/cc.cpp
index 536ae72..d0f50c8 100755
--- a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/cc.cpp
+++ b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/cc.cpp
@@ -1530,8 +1530,19 @@
 //RIL_REQUEST_SET_MUTE
 int setMute(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI)
 {
+    
     android::Parcel p;
     printf("WARREN TEST002!!!\n");
+    
+#ifdef MOBILETEK_TARGET_PLATFORM_T106
+    RLOGD("Enter set Mute");
+    size_t pos = p.dataPosition();
+    p.writeInt32(1);
+    p.writeInt32(atoi(argv[1]));
+    p.setDataPosition(pos);
+    pRI->pCI->dispatchFunction(p, pRI);
+#else
+
     if(argc<2)
     {
         if(pRI)
@@ -1560,6 +1571,7 @@
     if(pRI) {
         free(pRI);
     }
+#endif
     return 0;
 }
 
@@ -1569,6 +1581,12 @@
 
     android::Parcel p;
     printf("WARREN TEST001!!!\n");
+#ifdef MOBILETEK_TARGET_PLATFORM_T106
+    RLOGD("Enter get Mute");
+    pRI->pCI->dispatchFunction(p, pRI);
+    
+#else
+
     int mute = getCallMute();
     //TBC -200 fail status
     if(mute < 0) {
@@ -1587,6 +1605,8 @@
         android::LYNQ_RIL_respSocket(p,(void *)pRI);
         free(pRI);
     }
+#endif
+
     return 0;
 }
 
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-call/lynq_call.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-call/lynq_call.cpp
index 9525e75..724138a 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-call/lynq_call.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-call/lynq_call.cpp
@@ -870,12 +870,19 @@
         LYERRLOG("status is null");
         return LYNQ_E_PARAMETER_ANONALY;
     }
-
+    
+    int numInts = -1;
     Parcel* p=NULL;
     int ret=lynq_send_common_request(p,g_wait_time,request_id,0,"");
     if(ret==RESULT_OK)
     {
+#ifdef MOBILETEK_TARGET_PLATFORM_T106
+        
+        p->readInt32(&numInts);
         p->readInt32(status);
+#else
+        p->readInt32(status);
+#endif
         delete p;        
     }
     return ret;   
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-call/makefile b/cap/zx297520v3/src/lynq/lib/liblynq-call/makefile
index 21e0cb5..57d6e2d 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-call/makefile
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-call/makefile
@@ -17,6 +17,10 @@
 LOCAL_CFLAGS += -DBINDER_IPC_32BIT=1 -DHAVE_ENDIAN_H -DHAVE_PTHREADS -DHAVE_SYS_UIO_H -DHAVE_POSIX_FILEMAP -DHAVE_STRLCPY -DHAVE_PRCTL -DHAVE_MEMSET16 -DHAVE_MEMSET32 -DANDROID_SMP=0
 endif
 
+ifeq ($(strip $(TARGET_PLATFORM)), T106)
+    LOCAL_CFLAGS += -DMOBILETEK_TARGET_PLATFORM_T106
+endif
+
 $(warning ################# lynq data demo ROOT: $(ROOT),includedir:$(includedir))
 LOCAL_PATH   = .
 
