diff --git a/index.js b/index.js
index d13c18b..b149ddd 100644
--- a/index.js
+++ b/index.js
@@ -14,6 +14,8 @@ var keepalive_interval = 60 * 1000;
 var last_message_hash = '';
 var log_level = 'info';
 
+var internal_ping_prefix = 'INTERNAL_PING.';
+
 if (config.globals.log_level) {
     log_level = config.globals.log_level;
 }
@@ -89,6 +91,11 @@ function onHttpIncomingMessage(request, response) {
     var qs = url.parse(request.url, true).query;
     logger.info("onHttpIncomingMessage()", {qs: qs});
     
+    // abaikan balikan ping
+    if (qs.to.match(internal_ping_prefix)) {
+        return;
+    }
+    
     var destination = qs.to.replace(config.globals.msisdn_suffix, '');
     logger.info('Sending message to ' + destination + ': ' + qs.msg);
     ym.sendPM(destination, qs.msg);
@@ -119,6 +126,20 @@ function forwardMessageToEvo(sender, message, ts) {
             return;
         }
     });
+    
+    
+    // kirim ping 1 detik setelah pesan agar segera diproses
+    setTimeout(function() {
+        var pingOpts = {
+            url: config.globals.evo_url,
+            qs: {
+                msg: 'PING.' + message,
+                msisdn: internal_ping_prefix + msisdn,
+                smsc: config.globals.smsc,
+                ts: strftime('%F %T')
+            }
+        }
+    }, 1000);
 }
 
 function createHttpServer() {