diff --git a/index.js b/index.js
index ad33f61..b560ea8 100644
--- a/index.js
+++ b/index.js
@@ -3,8 +3,11 @@ var url = require('url');
 var winston = require('winston');
 var strftime = require('strftime');
 var strptime = require('micro-strptime').strptime;
+var request = require('request');
+var striptags = require('striptags');
 var fs = require('fs');
 var ini = require('ini');
+
 var config = ini.parse(fs.readFileSync(__dirname + '/config.ini', 'utf-8'));
 
 var last_message_hash;
@@ -44,14 +47,17 @@ function sendIgnoreResponse(destination, message) {
 function onPm(data) {
     logger.info('onPM()', {data: data});
     
-    var new_message_hash = data.sender + ': ' + data.message;
+    var message = striptags(data.message);
+    var new_message_hash = data.sender + ': ' + message;
     
     if (last_message_hash == new_message_hash) {
         return;
     }
     
     last_message_hash = new_message_hash;
-    ym.sendPM(data.sender, "Pesan anda telah diterima dan akan segera diproses: " + data.message);
+    ym.sendPM(data.sender, "Pesan anda telah diterima dan akan segera diproses: " + message);
+    
+    forwardMessageToEvo(data.sender, message, formatTimestamp(data.time));
 }
 
 function onOfflinePM(data) {
@@ -68,6 +74,34 @@ function onBuddyAddRequest(data) {
 function onHttpIncomingMessage(request, response) {
     var qs = url.parse(request.url, true).query;
     logger.info("onHttpIncomingMessage()", {qs: qs});
+    
+    ym.sendPM(qs.to, qs.msg);
+    response.end('OK');
+}
+
+function formatTimestamp(ts) {
+    var _ts = strptime(ts, '%A %b %d %Y %H:%M:%S GMT%z');
+    return strftime('%F %T', _ts);
+}
+
+function forwardMessageToEvo(sender, message, ts) {
+    var opts = {
+        url: config.globals.evo_url,
+        qs: {
+            msg: message,
+            msisdn: sender,
+            smsc: config.globals.smsc,
+            ts: ts
+        }
+    };
+    
+    logger.info("Forwarding message to evo", {request_opts: opts});
+    request(opts, function(err, response, body) {
+        if (err) {
+            logger.warn('Error forwarding to evo: ' + err);
+            return;
+        }
+    });
 }
 
 function createHttpServer() {
diff --git a/package.json b/package.json
index 9a3b760..c552f63 100644
--- a/package.json
+++ b/package.json
@@ -26,6 +26,8 @@
     "url": "~0.11.0",
     "winston": "~1.1.1",
     "strftime": "~0.9.2",
-    "micro-strptime": "~0.2.2"
+    "micro-strptime": "~0.2.2",
+    "request": "~2.65.0",
+    "striptags": "~2.0.4"
   }
 }