Fixed msg decoding issue and cleaning up in long messages queue
This commit is contained in:
+5
-5
@@ -504,8 +504,10 @@ function session(sock) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Callback function for emitted sms event
|
// Call when complete SMS is received
|
||||||
function smsReceived() {
|
function smsReceived() {
|
||||||
|
returnObj.emit('sms', smsObj);
|
||||||
|
|
||||||
// This needs to be ran if DLRs are sent for these messages
|
// This needs to be ran if DLRs are sent for these messages
|
||||||
delete returnObj.longSmses[smsGroupId];
|
delete returnObj.longSmses[smsGroupId];
|
||||||
}
|
}
|
||||||
@@ -518,7 +520,6 @@ function session(sock) {
|
|||||||
log.debug('larvitsmpp: lib/session.js: session() - returnObj.checkLongSmses() - All parts accounted for in smsGroupId "' + smsGroupId + '", emitting sms event.');
|
log.debug('larvitsmpp: lib/session.js: session() - returnObj.checkLongSmses() - All parts accounted for in smsGroupId "' + smsGroupId + '", emitting sms event.');
|
||||||
|
|
||||||
smsObj = {
|
smsObj = {
|
||||||
|
|
||||||
// These are needed for references here and there in functions
|
// These are needed for references here and there in functions
|
||||||
'session': returnObj,
|
'session': returnObj,
|
||||||
'pduObjs': smsGroup.pduObjs,
|
'pduObjs': smsGroup.pduObjs,
|
||||||
@@ -541,12 +542,11 @@ function session(sock) {
|
|||||||
curPduObj = smsObj.pduObjs[i].pduObj;
|
curPduObj = smsObj.pduObjs[i].pduObj;
|
||||||
curPduObj.session = returnObj;
|
curPduObj.session = returnObj;
|
||||||
|
|
||||||
smsObj.message += utils.decodeMsg(curPduObj.params.short_message, curPduObj.params.data_coding, curPduObj.params.short_message[0]);
|
smsObj.message += utils.decodeMsg(curPduObj.params.short_message, curPduObj.params.data_coding, curPduObj.params.short_message[0] + 1);
|
||||||
|
|
||||||
i ++;
|
i ++;
|
||||||
}
|
}
|
||||||
|
smsReceived();
|
||||||
returnObj.emit('sms', smsObj);
|
|
||||||
} else if (moment(new Date()).diff(smsGroup.created, 'hours') > 24) {
|
} else if (moment(new Date()).diff(smsGroup.created, 'hours') > 24) {
|
||||||
log.info('larvitsmpp: lib/session.js: session() - returnObj.checkLongSmses() - smsGroupId "' + smsGroupId + '" is removed from returnObj.longSmses due to being older than 24 hours.');
|
log.info('larvitsmpp: lib/session.js: session() - returnObj.checkLongSmses() - smsGroupId "' + smsGroupId + '" is removed from returnObj.longSmses due to being older than 24 hours.');
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -180,7 +180,9 @@ function decodeMsg(buffer, encoding, offset) {
|
|||||||
encoding = 'ASCII';
|
encoding = 'ASCII';
|
||||||
}
|
}
|
||||||
|
|
||||||
return defs.encodings[encoding].decode(buffer.slice(offset, buffer.length));
|
log.debug('larvitsmpp: lib/utils.js: decodeMsg() - Decoding msg. Encoding: "' + encoding + '" offset: "' + offset + '" buffer: "' + buffer.toString('hex') + '"');
|
||||||
|
|
||||||
|
return defs.encodings[encoding].decode(buffer.slice(offset));
|
||||||
}
|
}
|
||||||
|
|
||||||
function encodeMsg(str) {
|
function encodeMsg(str) {
|
||||||
|
|||||||
Reference in New Issue
Block a user