Commit 9f45ffb0d8890f6d5dbec02bbfa23803364ca5dd
1 parent
b3fbdf53d3
Exists in
master
Fix blacklist
Showing 1 changed file with 1 additions and 1 deletions Inline Diff
lib/apiserver/handler/on-received.js
1 | const DEFAULT_MAX_MESSAGE_AGE_IN_SECS = 300; | 1 | const DEFAULT_MAX_MESSAGE_AGE_IN_SECS = 300; |
2 | 2 | ||
3 | const moment = require('moment'); | 3 | const moment = require('moment'); |
4 | const config = require('komodo-sdk/config'); | 4 | const config = require('komodo-sdk/config'); |
5 | const logger = require('komodo-sdk/logger'); | 5 | const logger = require('komodo-sdk/logger'); |
6 | 6 | ||
7 | const messagingCenter = require('komodo-center-messaging-client-lib'); | 7 | const messagingCenter = require('komodo-center-messaging-client-lib'); |
8 | const modems = require('../../modems'); | 8 | const modems = require('../../modems'); |
9 | 9 | ||
10 | module.exports = (req, res) => { | 10 | module.exports = (req, res) => { |
11 | res.end('OK'); | 11 | res.end('OK'); |
12 | 12 | ||
13 | const { | 13 | const { |
14 | msg, msisdn, smsc, ts, | 14 | msg, msisdn, smsc, ts, |
15 | } = req.query; | 15 | } = req.query; |
16 | 16 | ||
17 | if (!(msg || '').trim()) { | 17 | if (!(msg || '').trim()) { |
18 | logger.verbose('ON-RECEIVED B09186E3: Skip empty message', { | 18 | logger.verbose('ON-RECEIVED B09186E3: Skip empty message', { |
19 | qs: req.query, | 19 | qs: req.query, |
20 | }); | 20 | }); |
21 | 21 | ||
22 | return; | 22 | return; |
23 | } | 23 | } |
24 | 24 | ||
25 | // if ((msisdn || '').indexOf(62) !== 0) { | 25 | // if ((msisdn || '').indexOf(62) !== 0) { |
26 | // logger.verbose('ON-RECEIVED: Skip invalid MSISDN', { | 26 | // logger.verbose('ON-RECEIVED: Skip invalid MSISDN', { |
27 | // qs: req.query, | 27 | // qs: req.query, |
28 | // }); | 28 | // }); |
29 | 29 | ||
30 | // return; | 30 | // return; |
31 | // } | 31 | // } |
32 | 32 | ||
33 | const msgUpperCased = (msg || '').toUpperCase(); | 33 | const msgUpperCased = (msg || '').toUpperCase(); |
34 | if ( | 34 | if ( |
35 | (msgUpperCased.indexOf('TRANSAKSI KE NOMOR') === 0) | 35 | (msgUpperCased.indexOf('TRANSAKSI KE NOMOR') === 0) |
36 | && (msisdn.search(/\+*62/) !== 0) | 36 | && (msisdn.search(/\+*62/) === 0) |
37 | ) { | 37 | ) { |
38 | logger.verbose('ON-RECEIVED 5486D373: Skip invalid message', { | 38 | logger.verbose('ON-RECEIVED 5486D373: Skip invalid message', { |
39 | msg, | 39 | msg, |
40 | msisdn, | 40 | msisdn, |
41 | qs: req.query, | 41 | qs: req.query, |
42 | }); | 42 | }); |
43 | 43 | ||
44 | return; | 44 | return; |
45 | } | 45 | } |
46 | 46 | ||
47 | const sentTime = moment(ts, 'YYYY-MM-DD HH:mm:ss'); | 47 | const sentTime = moment(ts, 'YYYY-MM-DD HH:mm:ss'); |
48 | const messageAgeInSeconds = Math.round(Number(new Date() - sentTime) / 1000); | 48 | const messageAgeInSeconds = Math.round(Number(new Date() - sentTime) / 1000); |
49 | 49 | ||
50 | const maxMessageAgeInSeconds = config.max_message_age_in_secs | 50 | const maxMessageAgeInSeconds = config.max_message_age_in_secs |
51 | || DEFAULT_MAX_MESSAGE_AGE_IN_SECS; | 51 | || DEFAULT_MAX_MESSAGE_AGE_IN_SECS; |
52 | 52 | ||
53 | if (messageAgeInSeconds > maxMessageAgeInSeconds) { | 53 | if (messageAgeInSeconds > maxMessageAgeInSeconds) { |
54 | logger.warn('ON-RECEIVED 2247F406: Got expired message from EVO-CP', { | 54 | logger.warn('ON-RECEIVED 2247F406: Got expired message from EVO-CP', { |
55 | qs: req.query, | 55 | qs: req.query, |
56 | messageAgeInSeconds, | 56 | messageAgeInSeconds, |
57 | maxMessageAgeInSeconds, | 57 | maxMessageAgeInSeconds, |
58 | }); | 58 | }); |
59 | 59 | ||
60 | return; | 60 | return; |
61 | } | 61 | } |
62 | 62 | ||
63 | logger.info('ON-RECEIVED D3747E3C: Got message from EVO-CP', { | 63 | logger.info('ON-RECEIVED D3747E3C: Got message from EVO-CP', { |
64 | qs: req.query, | 64 | qs: req.query, |
65 | }); | 65 | }); |
66 | 66 | ||
67 | const modem = modems.modemsDictionary[smsc] || {}; | 67 | const modem = modems.modemsDictionary[smsc] || {}; |
68 | 68 | ||
69 | const doNotForwardToCore = (msisdn.search(/(\+)*62/) !== 0) || (msisdn.length <= 8); | 69 | const doNotForwardToCore = (msisdn.search(/(\+)*62/) !== 0) || (msisdn.length <= 8); |
70 | 70 | ||
71 | messagingCenter.onIncomingMessage({ | 71 | messagingCenter.onIncomingMessage({ |
72 | me: modem.imsi || smsc, | 72 | me: modem.imsi || smsc, |
73 | partner: `${msisdn}${config.number_suffix || ''}`, | 73 | partner: `${msisdn}${config.number_suffix || ''}`, |
74 | partner_raw: msisdn, | 74 | partner_raw: msisdn, |
75 | msg, | 75 | msg, |
76 | origin_label: modem.imsi || smsc, | 76 | origin_label: modem.imsi || smsc, |
77 | origin_transport: 'SMS', | 77 | origin_transport: 'SMS', |
78 | origin_partner: msisdn, | 78 | origin_partner: msisdn, |
79 | do_not_forward_to_core: doNotForwardToCore, | 79 | do_not_forward_to_core: doNotForwardToCore, |
80 | }); | 80 | }); |
81 | }; | 81 | }; |
82 | 82 |