diff --git a/lib/apiserver/index.js b/lib/apiserver/index.js
index 600eee4..6a2d9b5 100644
--- a/lib/apiserver/index.js
+++ b/lib/apiserver/index.js
@@ -57,6 +57,8 @@ function onIncomingSms(req, res) {
         name: req.query.modem,
         imsi: req.query.modem_imsi,
         msisdn: req.query.modem_msisdn,
+        device: req.query.modem_device,
+        uptime: req.query.uptime,
         reportIp: req.query.report_ip || req.ip,
         reportPort: req.query.report_port,
         reportApikey: req.query.report_apikey,
diff --git a/lib/modems2.js b/lib/modems2.js
index 66cc557..42bab84 100644
--- a/lib/modems2.js
+++ b/lib/modems2.js
@@ -13,6 +13,8 @@ const modemList = {
  * @property  {string} name - nama modem
  * @property  {string} imsi - IMSI modem
  * @property  {string} msisdn - MSISDN modem
+ * @property  {number} uptime - modem uptime in seconds
+ * @property  {string} device - modem device path
  * @property  {string} reportIp - IP modem
  * @property  {number} reportPort - TCP port modem
  * @property  {string} reportApikey - APIKEY modem
@@ -64,7 +66,9 @@ function touchByMSISDN(val) {
  * @see ModemData
  */
 function touch(val) {
-    if (!val) return;
+    if (!val || typeof val !== 'object') return;
+
+    val._ts = new Date();
 
     if (!val.reportIp) {
         val.reportIp = '127.0.0.1';