Commit 03f73469d9d7d21b16664e680138449d2f9bc98c
1 parent
c6c4d8d275
Exists in
master
Partner last seen by IMSI
Showing 2 changed files with 19 additions and 15 deletions Side-by-side Diff
lib/apiserver/index.js
... | ... | @@ -39,7 +39,7 @@ function onIncomingSms(req, res) { |
39 | 39 | |
40 | 40 | const numberWithSuffix = req.query.number.replace(/^\+/, '') + (config.number_suffix || ''); |
41 | 41 | |
42 | - partnerLastSeen.set(req.query.number, req.query.modem); | |
42 | + partnerLastSeen.set(req.query.number, req.query.modem_imsi); | |
43 | 43 | |
44 | 44 | history.push({ |
45 | 45 | ts: req.query.ts || moment().format('YYYY-MM-DD HH:mm:ss'), |
lib/transport.js
... | ... | @@ -13,23 +13,25 @@ const modems = require('./modems2'); |
13 | 13 | const partnerLastSeen = require('./partner-last-seen'); |
14 | 14 | const history = require('./history'); |
15 | 15 | |
16 | -function _send(destinationNumber, msg, handlerName) { | |
16 | +function _send(destinationNumber, msg, handlerIMSI) { | |
17 | 17 | |
18 | 18 | if (msg.length > 160) { |
19 | + logger.info('Splitting message'); | |
20 | + | |
19 | 21 | const newMsg = msg.slice(0, 160); |
20 | 22 | const remainingMsg = msg.slice(160); |
21 | 23 | |
22 | - _send(destinationNumber, newMsg, handlerName); | |
24 | + _send(destinationNumber, newMsg, handlerIMSI); | |
23 | 25 | setTimeout(() => { |
24 | - _send(destinationNumber, remainingMsg, handlerName); | |
25 | - }, 2000); | |
26 | + _send(destinationNumber, remainingMsg, handlerIMSI); | |
27 | + }, 1000); | |
26 | 28 | |
27 | 29 | return; |
28 | 30 | } |
29 | 31 | |
30 | - const modem = modems.get('name', handlerName); | |
32 | + const modem = modems.get('imsi', handlerIMSI); | |
31 | 33 | if (!modem) { |
32 | - logger.warn('Not knowing modem to use. Ignoring message', { destination_number: destinationNumber, msg: msg, handler_name: handlerName }); | |
34 | + logger.warn('Not knowing modem to use. Ignoring message', { destination_number: destinationNumber, msg: msg, modem_imsi: handlerIMSI }); | |
33 | 35 | return; |
34 | 36 | } |
35 | 37 | |
... | ... | @@ -43,7 +45,9 @@ function _send(destinationNumber, msg, handlerName) { |
43 | 45 | history.push({ |
44 | 46 | ts: moment().format('YYYY-MM-DD HH:mm:ss'), |
45 | 47 | modem: { |
46 | - name: handlerName, | |
48 | + name: modem.name, | |
49 | + imsi: modem.imsi, | |
50 | + msisdn: modem.msisdn, | |
47 | 51 | }, |
48 | 52 | direction: 'OUTGOING', |
49 | 53 | partner: destinationNumber, |
... | ... | @@ -65,17 +69,17 @@ function _send(destinationNumber, msg, handlerName) { |
65 | 69 | } |
66 | 70 | } |
67 | 71 | |
68 | - logger.info('Sending message to modem handler', { req_id: reqId, destination_number: destinationNumber, msg: msg, msg_length: msg.length, handler_name: handlerName }); | |
72 | + logger.info('Sending message to modem handler', { req_id: reqId, destination_number: destinationNumber, msg: msg, msg_length: msg.length, modem_name: modem.name, modem_imsi: modem.imsi }); | |
69 | 73 | request(requestOptions, function(err, res, body) { |
70 | 74 | if (err) { |
71 | - logger.warn('Error requesting to modem handler. ' + err.toString(), { req_id: reqId, handler_name: handlerName }); | |
75 | + logger.warn('Error requesting to modem handler. ' + err.toString(), { req_id: reqId, modem_name: modem.name, modem_imsi: modem.imsi }); | |
72 | 76 | |
73 | 77 | } |
74 | 78 | else if (res.statusCode != 200) { |
75 | - logger.warn('Modem handler not responding with HTTP status code 200.', { http_status_code: res.statusCode, req_id: reqId, handler_name: handlerName }); | |
79 | + logger.warn('Modem handler not responding with HTTP status code 200.', { http_status_code: res.statusCode, req_id: reqId, modem_name: modem.name, modem_imsi: modem.imsi }); | |
76 | 80 | } |
77 | 81 | else { |
78 | - logger.verbose('Message sent to handler', { req_id: reqId, handler_name: handlerName, response_body: body }); | |
82 | + logger.verbose('Message sent to handler', { req_id: reqId, modem_name: modem.name, modem_imsi: modem.imsi, response_body: body }); | |
79 | 83 | } |
80 | 84 | }) |
81 | 85 | |
... | ... | @@ -95,14 +99,14 @@ async function send(partner, msg) { |
95 | 99 | const destinationNumber = modemSelect.removeSuffixFromNumber(partner, config); |
96 | 100 | |
97 | 101 | // logger.verbose('Choosing handler name', { partner, destinationNumber, msg, origin }); |
98 | - let handlerName = await partnerLastSeen.get(destinationNumber) ; | |
102 | + const handlerIMSI = await partnerLastSeen.get(destinationNumber) ; | |
99 | 103 | |
100 | - if (!handlerName) { | |
104 | + if (!handlerIMSI) { | |
101 | 105 | logger.warn(`Unknown handler for sending message to partner`, { partner, destinationNumber }); |
102 | 106 | return; |
103 | 107 | } |
104 | 108 | |
105 | - _send(destinationNumber, msg, handlerName); | |
109 | + _send(destinationNumber, msg, handlerIMSI); | |
106 | 110 | } |
107 | 111 | |
108 | 112 | exports.send = send; |
109 | 113 | \ No newline at end of file |