diff --git a/mbtk/mbtk_rild_v2/src/ril_data_call.c b/mbtk/mbtk_rild_v2/src/ril_data_call.c
index a9ebd12..2a0994b 100755
--- a/mbtk/mbtk_rild_v2/src/ril_data_call.c
+++ b/mbtk/mbtk_rild_v2/src/ril_data_call.c
@@ -1294,6 +1294,33 @@
     return err;
 }
 
+void get_gate_way_v4(uint32 ip_v4,  void* gateWay)
+{
+     uint32 local_gateWay=ip_v4;
+     if((local_gateWay & 0xff000000) < 0xfe000000)
+     {
+         local_gateWay+=(1 << 24);
+     }
+     else
+     {
+         local_gateWay-=(1 << 24);
+     }
+     (* (uint32*) gateWay) = local_gateWay;
+}
+
+void get_gate_way_v6(void* ip_v6, void* gateWay)
+{
+    memcpy(gateWay,ip_v6,32);
+    if((((uint32*)gateWay)[3] & 0xff000000)!=0xff000000)
+    {
+        ((uint32*)gateWay)[3] += (1 << 24);
+    }
+    else
+    {
+        ((uint32*)gateWay)[3] -= (1 << 24);
+    }
+}
+
 /*
 AT+CGCONTRDP=1
 +CGCONTRDP: 1,7,"cmnet-2.MNC000.MCC460.GPRS","10.255.74.26","","223.87.253.100","223.87.253.253","","",0,0
@@ -1393,6 +1420,18 @@
                 //log_hex("IPv6", &(ipv6->GateWay), 16);
             }
         }
+        else
+        {
+            if(ip_info->ipv4.valid)
+            {
+                get_gate_way_v4(ip_info->ipv4.IPAddr,&(ip_info->ipv4.GateWay));
+                ip_info->ipv4.NetMask=0xffffff;
+            }
+            else if(ip_info->ipv6.valid)
+            {
+                get_gate_way_v6(ip_info->ipv6.IPV6Addr,ip_info->ipv6.GateWay);
+            }
+        }
 
         err = at_tok_nextstr(&line, &tmp_ptr); // prim_DNS
         if (err < 0)
