Fully implement delivery reports

This commit is contained in:
David Majdandžić
2023-04-05 22:00:33 +02:00
parent 3447194e99
commit 251658f385
9 changed files with 80 additions and 76 deletions

View File

@@ -11,20 +11,13 @@ export default class EchoPduProcessor extends Postprocessor {
processPdu(session: any, pdu: any, entity?: SmppSession | undefined): Promise<any> {
return new Promise<any>((resolve, reject) => {
if (!!pdu.command && pdu.command === "submit_sm") {
let promises = [];
let replyPromise = session.send(pdu.response());
let sendPromise = session.send(new smpp.PDU('deliver_sm', {
let sentPdu = new smpp.PDU('deliver_sm', {
source_addr: pdu.destination_addr,
destination_addr: pdu.source_addr,
short_message: pdu.short_message
}));
promises.push(replyPromise);
promises.push(sendPromise);
Promise.all(promises).then((replyPdus: any) => {
resolve(replyPdus);
}).catch((error: any) => {
reject(error);
});
session.send(sentPdu);
resolve(sentPdu);
}
});
}