From 9ad3c8d304bdba60eebc63809836e5629af59966 Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <me@adhisimon.org>
Date: Mon, 29 Jul 2019 14:19:33 +0700
Subject: [PATCH] MSISDN db

---
 .gitignore    | 2 ++
 lib/modem.js  | 9 +++++++++
 lib/msisdn.js | 7 +++++++
 3 files changed, 18 insertions(+)
 create mode 100644 lib/msisdn.js

diff --git a/.gitignore b/.gitignore
index 7fc688b..3675cfe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,5 @@
 /tmp/
 /logs/
 pid.txt
+/db-msisdn.json
+/db-msisdn.js
\ No newline at end of file
diff --git a/lib/modem.js b/lib/modem.js
index 01e026c..ed29b73 100644
--- a/lib/modem.js
+++ b/lib/modem.js
@@ -15,12 +15,14 @@ const common = require('./common');
 const sms = require('./sms');
 const dbCops = require('./db-cops');
 const reportSender = require('./report-sender');
+const msisdn = require('./msisdn');
 
 const modemInfo = {
     manufacturer: null,
     model: null,
     imei: null,
     imsi: null,
+    msisdn: null,
     cops: null,
     networkId: null,
     networkName: null,
@@ -169,6 +171,13 @@ function readIMSI() {
         simpleCommand('AT+CIMI\r', (err, result) => {
             modemInfo.imsi = result;
             logger.info(`IMSI: ${result}`);
+
+            if (result) {
+                modemInfo.msisdn = msisdn[result];
+                if (modemInfo.msisdn) {
+                    logger.info(`MSISDN: ${modemInfo.msisdn}`);
+                }
+            }
             resolve(result);
         });
     });
diff --git a/lib/msisdn.js b/lib/msisdn.js
new file mode 100644
index 0000000..826aea8
--- /dev/null
+++ b/lib/msisdn.js
@@ -0,0 +1,7 @@
+'use strict';
+
+const fs = require('fs');
+
+const db = fs.existsSync('db-msisdn.json') || fs.existsSync('db-msisdn.js') ? require('../db-msisdn') : {};
+
+module.exports = db;
-- 
1.9.0