diff --git a/lib/serialport-parsers.js b/lib/serialport-parsers.js index 776474c..33d56a3 100644 --- a/lib/serialport-parsers.js +++ b/lib/serialport-parsers.js @@ -39,7 +39,7 @@ function onCSQ(data) { return val[1]; } -function onPdu(data, parsedData) { +function onPduDeliver(data, parsedData) { const from = parsedData.getAddress && parsedData.getAddress().getPhone ? parsedData.getAddress().getPhone() : null; @@ -99,9 +99,13 @@ parserReadline.on('data', (data) => { logger.verbose('PDU parsed', { type: (typeof pduParsed.getType === 'function') && pduParsed.getType() }); } - if (pduParsed && pduParsed.getType && pduParsed.getType().getSrr()) { + if (pduParsed && pduParsed.constructor.name !== 'Deliver') { + logger.warn('Unknown PDU message type name', { typeName: pduParsed.constructor.name, type: pduParsed.getType(), data: data.toString().trim() }); + } + + if (pduParsed && pduParsed.constructor.name === 'Deliver' && pduParsed.getType && pduParsed.getType().getSrr()) { logger.verbose('Got a PDU SMS-DELIVER', { type: pduParsed.getType() }); - onPdu(data, pduParsed); + onPduDeliver(data, pduParsed); } else if (isResultCodeIs(data, 'CSQ')) { logger.verbose('Got a signal quality report', { data: data.toString() }); onCSQ(data);