Commit 364e6b5d755485fb74668ce6ad401a9f16f4f16a

Authored by Adhidarma Hadiwinoto
1 parent cd032c1433
Exists in master

ready to use

Showing 7 changed files with 725 additions and 0 deletions Side-by-side Diff

center-http-response-server.js
... ... @@ -0,0 +1,35 @@
  1 +"use strict";
  2 +
  3 +const http = require('http');
  4 +const url = require('url');
  5 +
  6 +const config = require('komodo-sdk/config');
  7 +const logger = require('komodo-sdk/logger');
  8 +
  9 +let transport;
  10 +
  11 +function onRequest(request, response) {
  12 + response.end('OK');
  13 + var qs = url.parse(request.url, true).query;
  14 + logger.verbose('Got reverse report from CORE', {qs: qs});
  15 +
  16 + if (transport && transport.send && qs && qs.terminal_name && qs.message) {
  17 + transport.send(qs.terminal_name, qs.message);
  18 + }
  19 +}
  20 +
  21 +function setTransport(newTransport) {
  22 + transport = newTransport;
  23 +}
  24 +
  25 +function create() {
  26 + let listenPort = config.listen_port;
  27 +
  28 + http.createServer(onRequest).listen(listenPort, function() {
  29 + logger.info('HTTP Reverse/Report server listen on port ' + listenPort);
  30 + });;
  31 +}
  32 +
  33 +create();
  34 +
  35 +exports.setTransport = setTransport;
... ... @@ -0,0 +1,8 @@
  1 +{
  2 + "origin": "change-me",
  3 + "username": "change-me@change-me",
  4 + "password": "change-me",
  5 + "warming_up_ms": 60000,
  6 + "core_url": "http://localhost:32972/apikey/PLEASE-CHANGE-WITH-VALID-APIKEY",
  7 + "listen_port": 14232
  8 +}
... ... @@ -0,0 +1,9 @@
  1 +"use strict";
  2 +
  3 +const transport = require('./transport-xmpp');
  4 +const trxCenter = require('./trx-center');
  5 +const httpResponseServer = require('./center-http-response-server');
  6 +
  7 +transport.init(trxCenter.callback);
  8 +trxCenter.setTransport(transport);
  9 +httpResponseServer.setTransport(transport);
... ... @@ -0,0 +1,469 @@
  1 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:01:03"}
  2 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:01:03"}
  3 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:02:03"}
  4 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:04:53"}
  5 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:04:54"}
  6 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:05:54"}
  7 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:10:42"}
  8 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:10:43"}
  9 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:11:43"}
  10 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:12:35"}
  11 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:12:36"}
  12 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:13:56"}
  13 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:13:57"}
  14 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:14:14"}
  15 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:14:15"}
  16 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:15:00"}
  17 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:15:05"}
  18 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:15:15"}
  19 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:15:16"}
  20 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:15:56"}
  21 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:15:57"}
  22 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:16:14"}
  23 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:16:14"}
  24 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:16:52"}
  25 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:16:52"}
  26 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:17:38"}
  27 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:17:38"}
  28 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:37:03"}
  29 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:37:03"}
  30 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"test","level":"warn","message":"Warming up is not finished yet, ignoring message","timestamp":"2017-08-19 14:37:42"}
  31 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:37:54"}
  32 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:37:54"}
  33 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:37:55"}
  34 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:38:49"}
  35 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:38:50"}
  36 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:38:51"}
  37 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:38:51"}
  38 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"s.123","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 14:39:00"}
  39 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:39:19"}
  40 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:39:19"}
  41 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:39:20"}
  42 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:39:20"}
  43 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"s.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 14:39:25"}
  44 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 14:39:25"}
  45 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"s.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 14:39:25"}
  46 +{"err":{"code":"ECONNREFUSED","errno":"ECONNREFUSED","syscall":"connect","address":"127.0.0.1","port":32972},"level":"warn","message":"Error reporting to CORE","timestamp":"2017-08-19 14:39:25"}
  47 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"s.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 14:39:58"}
  48 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 14:39:58"}
  49 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"s.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 14:39:58"}
  50 +{"err":{"code":"ECONNRESET"},"level":"warn","message":"Error reporting to CORE","timestamp":"2017-08-19 14:39:58"}
  51 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"s.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 14:42:24"}
  52 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 14:42:24"}
  53 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"s.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 14:42:24"}
  54 +{"err":{"code":"ECONNRESET"},"level":"warn","message":"Error reporting to CORE","timestamp":"2017-08-19 14:42:24"}
  55 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"sa.122","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 14:43:12"}
  56 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 14:43:12"}
  57 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"sa.122","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 14:43:12"}
  58 +{"err":{"code":"ECONNRESET"},"level":"warn","message":"Error reporting to CORE","timestamp":"2017-08-19 14:43:12"}
  59 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"s.123","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 14:44:13"}
  60 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 14:44:13"}
  61 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"s.123","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 14:44:13"}
  62 +{"err":{"code":"ECONNRESET"},"level":"warn","message":"Error reporting to CORE","timestamp":"2017-08-19 14:44:13"}
  63 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"s.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 14:46:29"}
  64 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 14:46:29"}
  65 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"s.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 14:46:29"}
  66 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.08123.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 14:47:33"}
  67 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 14:47:33"}
  68 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.08123.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 14:47:33"}
  69 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:48:57"}
  70 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:48:58"}
  71 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:48:59"}
  72 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:48:59"}
  73 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.08123.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 14:49:06"}
  74 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 14:49:06"}
  75 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.08123.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 14:49:06"}
  76 +{"body":"{\"request_id\":\"adhisimon@host2host.id_TSEL10_08123_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"08123\",\"rc\":\"40\",\"message\":\"Pembelian TSEL10 ke 08123 GAGAL.\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 14:49:06"}
  77 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:50:26"}
  78 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:50:27"}
  79 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:50:28"}
  80 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:50:28"}
  81 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:51:25"}
  82 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:51:27"}
  83 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:51:28"}
  84 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:51:28"}
  85 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:51:49"}
  86 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:51:50"}
  87 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:51:51"}
  88 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:51:51"}
  89 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:52:00"}
  90 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:52:07"}
  91 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:52:08"}
  92 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:52:08"}
  93 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:53:38"}
  94 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:53:38"}
  95 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:53:39"}
  96 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:53:39"}
  97 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:55:16"}
  98 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:55:16"}
  99 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:55:17"}
  100 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:55:17"}
  101 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:55:20"}
  102 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:55:27"}
  103 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:55:28"}
  104 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:55:28"}
  105 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:56:04"}
  106 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:56:07"}
  107 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:56:08"}
  108 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:56:08"}
  109 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:56:10"}
  110 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:56:11"}
  111 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:56:12"}
  112 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:56:12"}
  113 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.08123.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 14:56:24"}
  114 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 14:56:24"}
  115 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.08123.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 14:56:24"}
  116 +{"body":"{\"request_id\":\"adhisimon@host2host.id_TSEL10_08123_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"08123\",\"rc\":\"40\",\"message\":\"Pembelian TSEL10 ke 08123 GAGAL.\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 14:56:24"}
  117 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:56:57"}
  118 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:56:58"}
  119 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:56:59"}
  120 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:56:59"}
  121 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:58:04"}
  122 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:58:11"}
  123 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:58:12"}
  124 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:58:12"}
  125 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:58:34"}
  126 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:58:41"}
  127 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:58:42"}
  128 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:58:42"}
  129 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:58:47"}
  130 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:58:53"}
  131 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:58:54"}
  132 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:58:54"}
  133 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 14:58:56"}
  134 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 14:58:57"}
  135 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 14:58:58"}
  136 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 14:58:58"}
  137 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0812.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 14:59:07"}
  138 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 14:59:07"}
  139 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0812.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 14:59:07"}
  140 +{"body":"{\"request_id\":\"adhisimon@host2host.id_TSEL10_0812_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"0812\",\"rc\":\"40\",\"message\":\"Pembelian TSEL10 ke 0812 GAGAL.\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 14:59:07"}
  141 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 0812 GAGAL.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 14:59:07"}
  142 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:12:04"}
  143 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 15:12:05"}
  144 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 15:12:06"}
  145 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 15:12:06"}
  146 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:20:43"}
  147 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 15:20:44"}
  148 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 15:20:45"}
  149 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 15:20:45"}
  150 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:20:47"}
  151 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 15:20:47"}
  152 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 15:20:48"}
  153 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 15:20:48"}
  154 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:23:16"}
  155 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 15:23:27"}
  156 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 15:23:28"}
  157 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 15:23:28"}
  158 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:25:05"}
  159 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 15:25:08"}
  160 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 15:25:09"}
  161 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 15:25:09"}
  162 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:25:47"}
  163 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:25:52"}
  164 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 15:26:09"}
  165 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 15:26:10"}
  166 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 15:26:10"}
  167 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:29:50"}
  168 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 15:29:58"}
  169 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 15:29:59"}
  170 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 15:29:59"}
  171 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:30:28"}
  172 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:30:32"}
  173 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 15:30:39"}
  174 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 15:30:40"}
  175 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 15:30:40"}
  176 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:30:55"}
  177 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:30:56"}
  178 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 15:31:04"}
  179 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 15:31:05"}
  180 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 15:31:05"}
  181 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:31:40"}
  182 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 15:31:41"}
  183 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 15:31:42"}
  184 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 15:31:42"}
  185 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:32:15"}
  186 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 15:32:15"}
  187 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 15:32:16"}
  188 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 15:32:16"}
  189 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:33:00"}
  190 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 15:33:00"}
  191 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 15:33:01"}
  192 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 15:33:01"}
  193 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:33:39"}
  194 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 15:33:40"}
  195 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 15:33:41"}
  196 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 15:33:41"}
  197 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 15:34:09"}
  198 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 15:34:10"}
  199 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 15:34:11"}
  200 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 15:34:11"}
  201 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0812.234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 15:41:53"}
  202 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 15:41:53"}
  203 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0812.234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 15:41:53"}
  204 +{"body":"{\"request_id\":\"TSEL10_0812_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"0812\",\"rc\":\"40\",\"message\":\"Pembelian TSEL10 ke 0812 GAGAL.\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 15:41:53"}
  205 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 0812 GAGAL.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 15:41:53"}
  206 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0812.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 16:48:34"}
  207 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 16:48:34"}
  208 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0812.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 16:48:34"}
  209 +{"body":"{\"request_id\":\"TSEL10_0812_20170819\",\"transaction_id\":1,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"0812\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 0812 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 325.200.\",\"amount\":10350,\"ending_balance\":325200}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 16:48:34"}
  210 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 0812 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 325.200.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 16:48:34"}
  211 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0812.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 17:38:16"}
  212 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 17:38:16"}
  213 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0812.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 17:38:16"}
  214 +{"body":"{\"request_id\":\"TSEL10_0812_20170819\",\"transaction_id\":1,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"0812\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 0812 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 325.200.\",\"amount\":10350,\"ending_balance\":325200}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 17:38:16"}
  215 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 0812 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 325.200.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 17:38:16"}
  216 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.08123","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 17:50:11"}
  217 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 17:50:11"}
  218 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.08123","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 17:50:11"}
  219 +{"body":"{\"request_id\":\"TSEL10_08123_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"08123\",\"rc\":\"40\",\"message\":\"Pembelian TSEL10 ke 08123 GAGAL. Saldo setelah transaksi Rp. 335.550.\",\"ending_balance\":335550}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 17:50:11"}
  220 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 08123 GAGAL. Saldo setelah transaksi Rp. 335.550.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 17:50:11"}
  221 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.081234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 17:52:51"}
  222 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 17:52:51"}
  223 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.081234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 17:52:51"}
  224 +{"body":"{\"request_id\":\"TSEL10_081234_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"081234\",\"rc\":\"40\",\"message\":\"Pembelian TSEL10 ke 081234 GAGAL.\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 17:52:51"}
  225 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 081234 GAGAL.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 17:52:51"}
  226 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.081234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 17:54:00"}
  227 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 17:54:00"}
  228 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.081234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 17:54:00"}
  229 +{"body":"{\"request_id\":\"TSEL10_081234_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"081234\",\"rc\":\"40\",\"message\":\"Pembelian TSEL10 ke 081234 GAGAL.\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 17:54:00"}
  230 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 081234 GAGAL.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 17:54:00"}
  231 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.081234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 17:54:29"}
  232 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 17:54:29"}
  233 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.081234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 17:54:29"}
  234 +{"body":"{\"request_id\":\"TSEL10_081234_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"081234\",\"rc\":\"40\",\"message\":\"Pembelian TSEL10 ke 081234 GAGAL.\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 17:54:29"}
  235 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 081234 GAGAL.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 17:54:29"}
  236 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.123","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 17:54:49"}
  237 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 17:54:49"}
  238 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.123","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 17:54:49"}
  239 +{"body":"{\"request_id\":\"TSEL10_123_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"123\",\"rc\":\"40\",\"message\":\"Pembelian TSEL10 ke 123 GAGAL.\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 17:54:50"}
  240 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 123 GAGAL.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 17:54:50"}
  241 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 17:55:51"}
  242 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 17:55:51"}
  243 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 17:55:51"}
  244 +{"body":"{\"request_id\":\"TSEL10_1234_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"1234\",\"rc\":\"40\",\"message\":\"Pembelian TSEL10 ke 1234 GAGAL.\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 17:55:51"}
  245 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 1234 GAGAL.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 17:55:51"}
  246 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 17:56:48"}
  247 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 17:56:48"}
  248 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 17:56:48"}
  249 +{"body":"{\"request_id\":\"TSEL10_1234_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"1234\",\"rc\":\"40\",\"message\":\"Pembelian TSEL10 ke 1234 GAGAL.\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 17:56:48"}
  250 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 1234 GAGAL.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 17:56:48"}
  251 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 17:57:14"}
  252 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 17:57:14"}
  253 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 17:57:14"}
  254 +{"body":"{\"request_id\":\"TSEL10_1234_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"1234\",\"rc\":\"40\",\"message\":\"Pembelian TSEL10 ke 1234 GAGAL.\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 17:57:14"}
  255 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 1234 GAGAL.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 17:57:14"}
  256 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 17:58:38"}
  257 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 17:58:38"}
  258 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 17:58:38"}
  259 +{"body":"{\"request_id\":\"TSEL10_1234_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"1234\",\"rc\":\"40\",\"message\":\"Pembelian TSEL10 ke 1234 GAGAL.\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 17:58:38"}
  260 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 1234 GAGAL.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 17:58:38"}
  261 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 17:59:37"}
  262 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 17:59:37"}
  263 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 17:59:37"}
  264 +{"body":"{\"request_id\":\"TSEL10_1234_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"1234\",\"rc\":\"03\",\"message\":\"Pembelian TSEL10 ke 1234 GAGAL. Kesalahan kredensial terminal / password.\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 17:59:37"}
  265 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 1234 GAGAL. Kesalahan kredensial terminal / password.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 17:59:37"}
  266 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 18:03:04"}
  267 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 18:03:04"}
  268 +{"level":"verbose","message":"Incoming subscribe request from adhisimon@host2host.id","timestamp":"2017-08-19 18:03:04"}
  269 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 18:03:05"}
  270 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 18:03:06"}
  271 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 18:03:07"}
  272 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 18:03:07"}
  273 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.08121.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:04:58"}
  274 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:04:58"}
  275 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.08121.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:04:58"}
  276 +{"body":"{\"request_id\":\"TSEL10_08121_20170819\",\"transaction_id\":2,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"08121\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 08121 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 325.200.\",\"amount\":10350,\"ending_balance\":325200}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:04:59"}
  277 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 08121 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 325.200.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:04:59"}
  278 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel1.0812345","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:05:16"}
  279 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:05:16"}
  280 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel1.0812345","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:05:16"}
  281 +{"body":"{\"request_id\":\"TSEL1_0812345_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL1\",\"destination\":\"0812345\",\"rc\":\"13\",\"message\":\"Pembelian TSEL1 ke 0812345 GAGAL. Produk sedang kami tutup atau mengalami gangguan.\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:05:16"}
  282 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL1 ke 0812345 GAGAL. Produk sedang kami tutup atau mengalami gangguan.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:05:16"}
  283 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0812345","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:05:26"}
  284 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:05:26"}
  285 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0812345","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:05:26"}
  286 +{"body":"{\"request_id\":\"TSEL10_0812345_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"0812345\",\"rc\":\"03\",\"message\":\"Pembelian TSEL10 ke 0812345 GAGAL. Kesalahan validitas store / terminal / password.\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:05:26"}
  287 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 0812345 GAGAL. Kesalahan validitas store / terminal / password.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:05:27"}
  288 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"08898","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:05:44"}
  289 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 18:16:39"}
  290 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 18:16:45"}
  291 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0812345.1234","level":"warn","message":"Warming up is not finished yet, ignoring message","timestamp":"2017-08-19 18:16:45"}
  292 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 18:16:46"}
  293 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 18:16:46"}
  294 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.08123451.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:16:59"}
  295 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:16:59"}
  296 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.08123451.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:16:59"}
  297 +{"body":"{\"request_id\":\"TSEL10_08123451_20170819\",\"transaction_id\":3,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"08123451\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 08123451 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 335.550.\",\"amount\":10350,\"ending_balance\":335550}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:17:00"}
  298 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 08123451 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 335.550.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:17:00"}
  299 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0812341.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:17:44"}
  300 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:17:44"}
  301 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0812341.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:17:44"}
  302 +{"body":"{\"request_id\":\"TSEL10_0812341_20170819\",\"transaction_id\":4,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"0812341\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 0812341 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 345.900.\",\"amount\":10350,\"ending_balance\":345900}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:17:44"}
  303 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 0812341 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 345.900.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:17:44"}
  304 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0121.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:19:03"}
  305 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:19:03"}
  306 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0121.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:19:03"}
  307 +{"body":"{\"request_id\":\"TSEL10_0121_20170819\",\"transaction_id\":5,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"0121\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 0121 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 356.250.\",\"amount\":10350,\"ending_balance\":356250}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:19:03"}
  308 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 0121 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 356.250.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:19:03"}
  309 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0123121.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:20:51"}
  310 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:20:51"}
  311 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0123121.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:20:51"}
  312 +{"body":"{\"request_id\":\"TSEL10_0123121_20170819\",\"transaction_id\":6,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"0123121\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 0123121 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 366.600.\",\"amount\":10350,\"ending_balance\":366600}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:20:52"}
  313 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 0123121 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 366.600.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:20:52"}
  314 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.081234.124","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:28:43"}
  315 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:28:43"}
  316 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.081234.124","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:28:43"}
  317 +{"body":"{\"request_id\":\"TSEL10_081234_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"081234\",\"rc\":\"03\",\"message\":\"Pembelian TSEL10 ke 081234 GAGAL. Kesalahan validitas store / terminal / password.\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:28:43"}
  318 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 081234 GAGAL. Kesalahan validitas store / terminal / password.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:28:43"}
  319 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0878.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:28:53"}
  320 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:28:53"}
  321 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0878.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:28:53"}
  322 +{"body":"{\"request_id\":\"TSEL10_0878_20170819\",\"transaction_id\":7,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"0878\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 0878 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 376.950.\",\"amount\":10350,\"ending_balance\":376950}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:28:53"}
  323 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 0878 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 376.950.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:28:53"}
  324 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 18:29:52"}
  325 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 18:29:52"}
  326 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 18:29:53"}
  327 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 18:29:53"}
  328 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 18:30:26"}
  329 +{"level":"info","message":"HTTP Reverse/Report server listen on port 14232","timestamp":"2017-08-19 18:30:26"}
  330 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 18:30:26"}
  331 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 18:30:27"}
  332 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 18:30:27"}
  333 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 18:30:40"}
  334 +{"level":"info","message":"HTTP Reverse/Report server listen on port 14232","timestamp":"2017-08-19 18:30:40"}
  335 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 18:30:46"}
  336 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 18:30:47"}
  337 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 18:30:47"}
  338 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 18:31:22"}
  339 +{"level":"info","message":"HTTP Reverse/Report server listen on port 14232","timestamp":"2017-08-19 18:31:22"}
  340 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 18:31:22"}
  341 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 18:31:23"}
  342 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 18:31:23"}
  343 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0813.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:31:35"}
  344 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:31:35"}
  345 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0813.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:31:35"}
  346 +{"body":"{\"request_id\":\"TSEL10_0813_20170819\",\"transaction_id\":8,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"0813\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 0813 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 376.950.\",\"amount\":10350,\"ending_balance\":376950}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:31:36"}
  347 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 0813 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 376.950.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:31:36"}
  348 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0819.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:34:35"}
  349 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:34:35"}
  350 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.0819.1234","level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:34:35"}
  351 +{"body":"{\"request_id\":\"TSEL10_0819_20170819\",\"transaction_id\":9,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"0819\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 0819 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 387.300.\",\"amount\":10350,\"ending_balance\":387300}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:34:35"}
  352 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 0819 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 387.300.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:34:35"}
  353 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 18:36:48"}
  354 +{"level":"info","message":"HTTP Reverse/Report server listen on port 14232","timestamp":"2017-08-19 18:36:48"}
  355 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 18:36:48"}
  356 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 18:36:49"}
  357 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 18:36:49"}
  358 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 18:37:26"}
  359 +{"level":"info","message":"HTTP Reverse/Report server listen on port 14232","timestamp":"2017-08-19 18:37:26"}
  360 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 18:37:26"}
  361 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 18:37:27"}
  362 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 18:37:27"}
  363 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.55.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:37:34"}
  364 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:37:34"}
  365 +{"qs":{"request_id":"TSEL10_55_20170819","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"55","password":"1234","origin":"XMPP0","origin_report_port":14232,"msg":"tsel10.55.1234"},"level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:37:34"}
  366 +{"body":"{\"request_id\":\"TSEL10_55_20170819\",\"transaction_id\":10,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"55\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 55 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 397.650.\",\"amount\":10350,\"ending_balance\":397650}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:37:34"}
  367 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 55 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 397.650.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:37:34"}
  368 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 18:38:47"}
  369 +{"level":"info","message":"HTTP Reverse/Report server listen on port 14232","timestamp":"2017-08-19 18:38:47"}
  370 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 18:38:54"}
  371 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 18:38:55"}
  372 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 18:38:55"}
  373 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.1.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:39:49"}
  374 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:39:49"}
  375 +{"qs":{"request_id":"TSEL10_1_20170819","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"1","password":"1234","origin":"XMPP0","report_port":14232,"msg":"tsel10.1.1234"},"level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:39:49"}
  376 +{"body":"{\"request_id\":\"TSEL10_1_20170819\",\"transaction_id\":11,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"1\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 1 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 408.000.\",\"amount\":10350,\"ending_balance\":408000}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:39:49"}
  377 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 1 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 408.000.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:39:49"}
  378 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.3.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:43:22"}
  379 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:43:22"}
  380 +{"qs":{"request_id":"TSEL10_3_20170819","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"3","password":"1234","origin":"XMPP0","report_port":14232,"msg":"tsel10.3.1234"},"level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:43:22"}
  381 +{"body":"{\"request_id\":\"TSEL10_3_20170819\",\"transaction_id\":12,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"3\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 3 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 418.350.\",\"amount\":10350,\"ending_balance\":418350}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:43:22"}
  382 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 3 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 418.350.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:43:22"}
  383 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.123.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:45:03"}
  384 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:45:03"}
  385 +{"qs":{"request_id":"TSEL10_123_20170819","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"123","password":"1234","origin":"XMPP0","report_port":14232,"msg":"tsel10.123.1234"},"level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:45:03"}
  386 +{"body":"{\"request_id\":\"TSEL10_123_20170819\",\"transaction_id\":13,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"123\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 123 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 428.700.\",\"amount\":10350,\"ending_balance\":428700}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:45:03"}
  387 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 123 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 428.700.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:45:03"}
  388 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.91.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:45:45"}
  389 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:45:45"}
  390 +{"qs":{"request_id":"TSEL10_91_20170819","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"91","password":"1234","origin":"XMPP0","report_port":14232,"msg":"tsel10.91.1234"},"level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:45:45"}
  391 +{"body":"{\"request_id\":\"TSEL10_91_20170819\",\"transaction_id\":14,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"91\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 91 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 439.050.\",\"amount\":10350,\"ending_balance\":439050}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:45:45"}
  392 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 91 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 439.050.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:45:45"}
  393 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.12345.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:48:19"}
  394 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:48:19"}
  395 +{"qs":{"request_id":"TSEL10_12345_20170819","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"12345","password":"1234","origin":"XMPP0","report_port":14232,"msg":"tsel10.12345.1234"},"level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:48:19"}
  396 +{"body":"{\"request_id\":\"TSEL10_12345_20170819\",\"transaction_id\":15,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"12345\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 12345 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 449.400.\",\"amount\":10350,\"ending_balance\":449400}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:48:19"}
  397 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 12345 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 449.400.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:48:19"}
  398 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.121.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:49:57"}
  399 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:49:57"}
  400 +{"qs":{"request_id":"TSEL10_121_20170819","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"121","password":"1234","origin":"XMPP0","report_port":14232,"msg":"tsel10.121.1234"},"level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:49:57"}
  401 +{"body":"{\"request_id\":\"TSEL10_121_20170819\",\"transaction_id\":16,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"121\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 121 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 459.750.\",\"amount\":10350,\"ending_balance\":459750}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:49:58"}
  402 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 121 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 459.750.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:49:58"}
  403 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.21.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:54:22"}
  404 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:54:22"}
  405 +{"qs":{"request_id":"TSEL10_21_20170819","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"21","password":"1234","origin":"XMPP0","report_port":14232,"msg":"tsel10.21.1234"},"level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:54:22"}
  406 +{"body":"{\"request_id\":\"TSEL10_21_20170819\",\"transaction_id\":17,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"21\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 21 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 470.100.\",\"amount\":10350,\"ending_balance\":470100,\"origin\":\"XMPP0\",\"origin_report_ip\":\"::ffff:127.0.0.1\",\"origin_report_port\":\"14232\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:54:22"}
  407 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 21 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 470.100.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:54:22"}
  408 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.12343.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:56:34"}
  409 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:56:34"}
  410 +{"qs":{"request_id":"TSEL10_12343_20170819","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"12343","password":"1234","origin":"XMPP0","report_port":14232,"msg":"tsel10.12343.1234"},"level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:56:34"}
  411 +{"body":"{\"request_id\":\"TSEL10_12343_20170819\",\"transaction_id\":18,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"12343\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 12343 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 480.450.\",\"amount\":10350,\"ending_balance\":480450,\"origin\":\"XMPP0\",\"origin_report_ip\":\"::ffff:127.0.0.1\",\"origin_report_port\":\"14232\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:56:34"}
  412 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 12343 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 480.450.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:56:34"}
  413 +{"qs":{},"level":"verbose","message":"Got reverse report from CORE","timestamp":"2017-08-19 18:57:02"}
  414 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 18:58:38"}
  415 +{"level":"info","message":"HTTP Reverse/Report server listen on port 14232","timestamp":"2017-08-19 18:58:38"}
  416 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 18:58:38"}
  417 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 18:58:39"}
  418 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 18:58:39"}
  419 +{"qs":{},"level":"verbose","message":"Got reverse report from CORE","timestamp":"2017-08-19 18:58:42"}
  420 +{"qs":{},"level":"verbose","message":"Got reverse report from CORE","timestamp":"2017-08-19 18:58:43"}
  421 +{"qs":{},"level":"verbose","message":"Got reverse report from CORE","timestamp":"2017-08-19 18:58:49"}
  422 +{"qs":{},"level":"verbose","message":"Got reverse report from CORE","timestamp":"2017-08-19 18:58:50"}
  423 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.12341.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 18:59:12"}
  424 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 18:59:12"}
  425 +{"qs":{"request_id":"TSEL10_12341_20170819","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"12341","password":"1234","origin":"XMPP0","report_port":14232,"msg":"tsel10.12341.1234"},"level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 18:59:12"}
  426 +{"body":"{\"request_id\":\"TSEL10_12341_20170819\",\"transaction_id\":19,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"12341\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 12341 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 490.800.\",\"amount\":10350,\"ending_balance\":490800,\"origin\":\"XMPP0\",\"origin_report_ip\":\"::ffff:127.0.0.1\",\"origin_report_port\":\"14232\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 18:59:13"}
  427 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 12341 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 490.800.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 18:59:13"}
  428 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.123413.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 19:02:18"}
  429 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 19:02:18"}
  430 +{"qs":{"request_id":"TSEL10_123413_20170819","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"123413","password":"1234","origin":"XMPP0","report_port":14232,"msg":"tsel10.123413.1234"},"level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 19:02:18"}
  431 +{"body":"{\"request_id\":\"TSEL10_123413_20170819\",\"transaction_id\":20,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"123413\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 123413 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 501.150.\",\"amount\":10350,\"ending_balance\":501150,\"origin\":\"XMPP0\",\"origin_report_ip\":\"::ffff:127.0.0.1\",\"origin_report_port\":\"14232\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 19:02:18"}
  432 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 123413 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 501.150.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 19:02:18"}
  433 +{"qs":{"request_id":"TSEL10_123413_20170819","transaction_id":"20","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"123413","rc":"14","message":"Pembelian TSEL10 ke 123413 GAGAL. Harga Rp. 10.350. Saldo setelah transaksi Rp. 501.150.","amount":"10350","ending_balance":"501150","origin":"XMPP0","origin_report_ip":"127.0.0.1","origin_report_port":"14232"},"level":"verbose","message":"Got reverse report from CORE","timestamp":"2017-08-19 19:02:20"}
  434 +{"level":"verbose","message":"/home/adhisimon/Projects/komodo-center-xmpp/node_modules/komodo-sdk/logger.js: initialized","timestamp":"2017-08-19 19:03:54"}
  435 +{"level":"info","message":"HTTP Reverse/Report server listen on port 14232","timestamp":"2017-08-19 19:03:54"}
  436 +{"level":"info","message":"XMPP transport connected, JID: komodo_trx0","timestamp":"2017-08-19 19:03:54"}
  437 +{"level":"verbose","message":"Transport is ready","timestamp":"2017-08-19 19:03:55"}
  438 +{"level":"info","message":"CENTER is ONLINE, ready to communicate","timestamp":"2017-08-19 19:03:55"}
  439 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"ts10.09.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 19:04:03"}
  440 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 19:04:03"}
  441 +{"qs":{"request_id":"TS10_09_20170819","terminal_name":"adhisimon@host2host.id","product_name":"TS10","destination":"09","password":"1234","origin":"XMPP0","report_port":14232,"msg":"ts10.09.1234"},"level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 19:04:04"}
  442 +{"body":"{\"request_id\":\"TS10_09_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TS10\",\"destination\":\"09\",\"rc\":\"13\",\"message\":\"Pembelian TS10 ke 09 GAGAL. Produk sedang kami tutup atau mengalami gangguan. Saldo setelah transaksi Rp. 521.850.\",\"ending_balance\":521850,\"origin\":\"XMPP0\",\"origin_report_ip\":\"::ffff:127.0.0.1\",\"origin_report_port\":\"14232\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 19:04:04"}
  443 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TS10 ke 09 GAGAL. Produk sedang kami tutup atau mengalami gangguan. Saldo setelah transaksi Rp. 521.850.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 19:04:04"}
  444 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.08111.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 19:04:17"}
  445 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 19:04:17"}
  446 +{"qs":{"request_id":"TSEL10_08111_20170819","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"08111","password":"1234","origin":"XMPP0","report_port":14232,"msg":"tsel10.08111.1234"},"level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 19:04:17"}
  447 +{"body":"{\"request_id\":\"TSEL10_08111_20170819\",\"transaction_id\":21,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"08111\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 08111 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 511.500.\",\"amount\":10350,\"ending_balance\":511500,\"origin\":\"XMPP0\",\"origin_report_ip\":\"::ffff:127.0.0.1\",\"origin_report_port\":\"14232\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 19:04:17"}
  448 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 08111 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 511.500.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 19:04:17"}
  449 +{"qs":{"request_id":"TSEL10_08111_20170819","transaction_id":"21","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"08111","rc":"14","message":"Pembelian TSEL10 ke 08111 GAGAL. Harga Rp. 10.350. Saldo setelah transaksi Rp. 511.500.","amount":"10350","ending_balance":"511500","origin":"XMPP0","origin_report_ip":"127.0.0.1","origin_report_port":"14232"},"level":"verbose","message":"Got reverse report from CORE","timestamp":"2017-08-19 19:04:20"}
  450 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 08111 GAGAL. Harga Rp. 10.350. Saldo setelah transaksi Rp. 511.500.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 19:04:20"}
  451 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.08111.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 19:04:33"}
  452 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 19:04:33"}
  453 +{"qs":{"request_id":"TSEL10_08111_20170819","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"08111","password":"1234","origin":"XMPP0","report_port":14232,"msg":"tsel10.08111.1234"},"level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 19:04:33"}
  454 +{"body":"{\"request_id\":\"TSEL10_08111_20170819\",\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"08111\",\"rc\":\"55\",\"message\":\"Pembelian TSEL10 ke 08111 sudah pernah dilakukan di hari yang sama. Harga Rp. 10.350. Saldo setelah transaksi Rp. 532.200.\",\"amount\":10350,\"ending_balance\":532200,\"origin\":\"XMPP0\",\"origin_report_ip\":\"::ffff:127.0.0.1\",\"origin_report_port\":\"14232\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 19:04:34"}
  455 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 08111 sudah pernah dilakukan di hari yang sama. Harga Rp. 10.350. Saldo setelah transaksi Rp. 532.200.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 19:04:34"}
  456 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.081287712.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 19:05:11"}
  457 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 19:05:11"}
  458 +{"qs":{"request_id":"TSEL10_081287712_20170819","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"081287712","password":"1234","origin":"XMPP0","report_port":14232,"msg":"tsel10.081287712.1234"},"level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 19:05:11"}
  459 +{"body":"{\"request_id\":\"TSEL10_081287712_20170819\",\"transaction_id\":23,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"081287712\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 081287712 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 521.850.\",\"amount\":10350,\"ending_balance\":521850,\"origin\":\"XMPP0\",\"origin_report_ip\":\"::ffff:127.0.0.1\",\"origin_report_port\":\"14232\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 19:05:11"}
  460 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 081287712 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 521.850.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 19:05:11"}
  461 +{"qs":{"request_id":"TSEL10_081287712_20170819","transaction_id":"23","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"081287712","rc":"00","message":"Pembelian TSEL10 ke 081287712 BERHASIL. Harga Rp. 10.350. Saldo setelah transaksi Rp. 521.850.","amount":"10350","ending_balance":"521850","origin":"XMPP0","origin_report_ip":"127.0.0.1","origin_report_port":"14232"},"level":"verbose","message":"Got reverse report from CORE","timestamp":"2017-08-19 19:05:14"}
  462 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 081287712 BERHASIL. Harga Rp. 10.350. Saldo setelah transaksi Rp. 521.850.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 19:05:14"}
  463 +{"me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"tsel10.1230.1234","level":"info","message":"Incoming message via XMPP transport","timestamp":"2017-08-19 19:06:47"}
  464 +{"level":"verbose","message":"Reporting message to CORE","timestamp":"2017-08-19 19:06:47"}
  465 +{"qs":{"request_id":"TSEL10_1230_20170819","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"1230","password":"1234","origin":"XMPP0","report_port":14232,"msg":"tsel10.1230.1234"},"level":"verbose","message":"Request buy a prepaid product to CORE","timestamp":"2017-08-19 19:06:47"}
  466 +{"body":"{\"request_id\":\"TSEL10_1230_20170819\",\"transaction_id\":24,\"terminal_name\":\"adhisimon@host2host.id\",\"product_name\":\"TSEL10\",\"destination\":\"1230\",\"rc\":\"68\",\"message\":\"Pembelian TSEL10 ke 1230 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 521.850.\",\"amount\":10350,\"ending_balance\":521850,\"origin\":\"XMPP0\",\"origin_report_ip\":\"::ffff:127.0.0.1\",\"origin_report_port\":\"14232\"}","level":"verbose","message":"Got direct response from CORE","timestamp":"2017-08-19 19:06:47"}
  467 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 1230 SEDANG DIPROSES. Harga Rp. 10.350. Saldo setelah transaksi Rp. 521.850.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 19:06:47"}
  468 +{"qs":{"request_id":"TSEL10_1230_20170819","transaction_id":"24","terminal_name":"adhisimon@host2host.id","product_name":"TSEL10","destination":"1230","rc":"00","message":"Pembelian TSEL10 ke 1230 BERHASIL. SN=20170819190650371. Harga Rp. 10.350. Saldo setelah transaksi Rp. 521.850.","sn":"20170819190650371","amount":"10350","ending_balance":"521850","origin":"XMPP0","origin_report_ip":"127.0.0.1","origin_report_port":"14232"},"level":"verbose","message":"Got reverse report from CORE","timestamp":"2017-08-19 19:06:50"}
  469 +{"transport":"xmpp","me":"komodo_trx0@host2host.id","partner":"adhisimon@host2host.id","msg":"Pembelian TSEL10 ke 1230 BERHASIL. SN=20170819190650371. Harga Rp. 10.350. Saldo setelah transaksi Rp. 521.850.","level":"verbose","message":"Sending message via XMPP transport","timestamp":"2017-08-19 19:06:50"}
... ... @@ -0,0 +1,27 @@
  1 +{
  2 + "name": "komodo-center-xmpp",
  3 + "version": "1.0.0",
  4 + "description": "XMPP Trx Center for Komodo",
  5 + "main": "index.js",
  6 + "scripts": {
  7 + "test": "mocha"
  8 + },
  9 + "repository": {
  10 + "type": "git",
  11 + "url": "git@gitlab.kodesumber.com:komodo/komodo-center-xmpp.git"
  12 + },
  13 + "keywords": [
  14 + "komodo",
  15 + "ppob",
  16 + "payment",
  17 + "xmpp"
  18 + ],
  19 + "author": "Adhidarma Hadiwinoto <me@adhisimon.org>",
  20 + "license": "ISC",
  21 + "dependencies": {
  22 + "komodo-sdk": "git+http://gitlab.kodesumber.com/komodo/komodo-sdk.git",
  23 + "request": "^2.81.0",
  24 + "simple-xmpp": "^1.3.0",
  25 + "strftime": "^0.10.0"
  26 + }
  27 +}
... ... @@ -0,0 +1,80 @@
  1 +"use strict";
  2 +
  3 +const bot = require("simple-xmpp");
  4 +const config = require('komodo-sdk/config')
  5 +const logger = require('komodo-sdk/logger');
  6 +
  7 +let _callback;
  8 +let _isReady = false;
  9 +
  10 +bot.on('online', function(data) {
  11 + logger.info('XMPP transport connected, JID: ' + data.jid.user);
  12 + bot.getRoster();
  13 +
  14 + setTimeout(
  15 + function() {
  16 + _isReady = true;
  17 +
  18 + logger.verbose('Transport is ready');
  19 +
  20 + if (_callback && _callback.onOnline) {
  21 + _callback.onOnline({
  22 + me: config.username,
  23 + });
  24 + };
  25 + },
  26 +
  27 + config.warming_up_ms || (30 * 1000)
  28 + )
  29 +});
  30 +
  31 +bot.on('chat', function(partner, msg) {
  32 + if (!_isReady) {
  33 + logger.warn('Warming up is not finished yet, ignoring message', {me: config.username, partner: partner, msg: msg});
  34 + return;
  35 + }
  36 +
  37 + logger.info('Incoming message via XMPP transport', {me: config.username, partner: partner, msg: msg});
  38 +
  39 + if (_callback && _callback.onIncomingMessage) {
  40 + _callback.onIncomingMessage({
  41 + me: config.username,
  42 + partner: partner,
  43 + msg: msg
  44 + })
  45 + }
  46 +})
  47 +
  48 +bot.on('error', function(err) {
  49 + logger.warn('Error on XMPP transport', {err: err})
  50 +})
  51 +
  52 +bot.on('subscribe', function(from) {
  53 + logger.verbose('Incoming subscribe request from ' + from);
  54 + bot.acceptSubscription(from);
  55 + bot.subscribe(from);
  56 +})
  57 +
  58 +function init(cb) {
  59 + if (!cb) {
  60 + logger.warn('Callback is not defined');
  61 + console.trace();
  62 + process.exit(1);
  63 + return;
  64 + }
  65 +
  66 + _callback = cb;
  67 +
  68 + bot.connect({
  69 + jid: config.username,
  70 + password: config.password
  71 + });
  72 +}
  73 +
  74 +function send(partner, msg) {
  75 + logger.verbose('Sending message via XMPP transport', {transport: 'xmpp', me: config.username, partner: partner, msg: msg});
  76 + bot.send(partner, msg);
  77 +}
  78 +
  79 +exports.init = init;
  80 +exports.send = send;
... ... @@ -0,0 +1,97 @@
  1 +"use strict";
  2 +
  3 +const request = require('request');
  4 +const strftime = require('strftime');
  5 +const config = require('komodo-sdk/config');
  6 +const logger = require('komodo-sdk/logger');
  7 +
  8 +let transport;
  9 +
  10 +function onOnline(params) {
  11 + logger.info('CENTER is ONLINE, ready to communicate');
  12 +
  13 +}
  14 +
  15 +function onIncomingMessage(paramsFromTransport) {
  16 + logger.verbose('Reporting message to CORE')
  17 + prepaidBuy(paramsFromTransport);
  18 +}
  19 +
  20 +function generateRequestId(req) {
  21 + return req.product_name + '_' + req.destination + '_' + strftime('%Y%m%d');
  22 +}
  23 +
  24 +function prepaidBuy(paramsFromTransport) {
  25 + let tokens = paramsFromTransport.msg.trim().split('.');
  26 +
  27 + let qs = {
  28 + request_id: paramsFromTransport.request_id,
  29 + terminal_name: paramsFromTransport.partner.toLowerCase(),
  30 + product_name: tokens[0].toUpperCase(),
  31 + destination: tokens[1].toUpperCase(),
  32 + password: tokens[2],
  33 + origin: config.origin || config.username,
  34 + report_port: config.listen_port || '80',
  35 + msg: paramsFromTransport.msg
  36 + }
  37 +
  38 + if (!qs.request_id) {
  39 + qs.request_id = generateRequestId(qs);
  40 + }
  41 +
  42 + let requestOptions = {
  43 + url: config.core_url + '/prepaid/buy',
  44 + qs: qs
  45 + }
  46 +
  47 + logger.verbose('Request buy a prepaid product to CORE', {qs: qs});
  48 +
  49 + request(requestOptions, function(err, res, body) {
  50 + if (err) {
  51 + logger.warn('Error reporting to CORE', {err: err});
  52 + return;
  53 + }
  54 +
  55 + if (res.statusCode != 200) {
  56 + logger.warn('CORE response with HTTP status code ' + res.statusCode + ' (not 200)');
  57 + return;
  58 + }
  59 +
  60 + logger.verbose('Got direct response from CORE', {body: body});
  61 +
  62 + if (!transport || !transport.send) {
  63 + logger.warn('Not forwarding CORE response to partner because of invalid transport');
  64 + return;
  65 + }
  66 +
  67 + let coreRes = parseCoreMessage(body);
  68 + if (coreRes && coreRes.message) {
  69 + transport.send(paramsFromTransport.partner, coreRes.message);
  70 + }
  71 +
  72 + })
  73 +}
  74 +
  75 +function parseCoreMessage(body) {
  76 + let coreRes;
  77 + try {
  78 + coreRes = JSON.parse(body)
  79 + }
  80 + catch(err) {
  81 + logger.warn('Exception on parsing CORE response as JSON', {body: body, err: err});
  82 + coreRes = null;
  83 + }
  84 + return coreRes;
  85 +}
  86 +
  87 +const callback = {
  88 + onOnline: onOnline,
  89 + onIncomingMessage: onIncomingMessage
  90 +}
  91 +
  92 +function setTransport(_transport) {
  93 + transport = _transport;
  94 +}
  95 +
  96 +exports.callback = callback;
  97 +exports.setTransport = setTransport;