From 9b38a77f17ba6bae85858487ae4473dbf59f8e33 Mon Sep 17 00:00:00 2001 From: Adhidarma Hadiwinoto <me@adhisimon.org> Date: Mon, 19 Aug 2019 17:43:30 +0700 Subject: [PATCH] MODEM-CHOOSER new orders. - by prefix - unknown prefix - last seen - default --- config.sample.json | 5 ++--- lib/modem-chooser.js | 12 +++++++++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/config.sample.json b/config.sample.json index 6dd0940..bcb0619 100644 --- a/config.sample.json +++ b/config.sample.json @@ -38,14 +38,13 @@ "imsi_senders": { "prefix_names": { "TELKOMSEL": [ - "510890944235402" ], "XL": [ - "510890944262917" ] }, + "unknown_prefix": [ + ], "default": [ - "510890944235513" ] }, diff --git a/lib/modem-chooser.js b/lib/modem-chooser.js index 817c072..b7e8aa4 100644 --- a/lib/modem-chooser.js +++ b/lib/modem-chooser.js @@ -35,9 +35,9 @@ exports.chooser = async function chooser(destination, config) { if (logger) logger.verbose('MODEM-CHOOSER: Try to use imsi senders by prefix name', { destination, prefixName, imsiSenders }); } - if (!imsiSenders.length && config.imsi_senders && config.imsi_senders.default && Array.isArray(config.imsi_senders.default) && config.imsi_senders.default.length) { - imsiSenders = filterOutCandidates(config.imsi_senders.default); - if (logger) logger.verbose('MODEM-CHOOSER: Try to use default senders', { destination, prefixName, imsiSenders }); + if (!imsiSenders.length && config.imsi_senders && config.imsi_senders.unknown_prefix) { + imsiSenders = filterOutCandidates(config.imsi_senders.unknown_prefix); + if (logger) logger.verbose('MODEM-CHOOSER: Try to use senders for unknown prfix', { destination, prefixName, imsiSenders }); } if (!imsiSenders.length) { @@ -45,6 +45,12 @@ exports.chooser = async function chooser(destination, config) { if (logger) logger.verbose('MODEM-CHOOSER: Try to use sender by last seen', { destination, prefixName, imsiSenders }); } + if (!imsiSenders.length && config.imsi_senders && config.imsi_senders.default) { + imsiSenders = filterOutCandidates(config.imsi_senders.default); + if (logger) logger.verbose('MODEM-CHOOSER: Try to use default senders', { destination, prefixName, imsiSenders }); + } + + if (!imsiSenders.length) { if (logger) logger.warn('MODEM-CHOOSER: No suitable sender found', { destination, prefixName }); return; -- 1.9.0