Implement random smppid generation
This commit is contained in:
13
center.js
13
center.js
@@ -5,6 +5,7 @@ const NanoTimer = require("nanotimer");
|
|||||||
const { createBaseLogger, createSessionLogger } = require("./logger");
|
const { createBaseLogger, createSessionLogger } = require("./logger");
|
||||||
const { verifyDefaults, verifyExists } = require("./utils");
|
const { verifyDefaults, verifyExists } = require("./utils");
|
||||||
const { centerOptions } = require("./cliOptions");
|
const { centerOptions } = require("./cliOptions");
|
||||||
|
const crypto = require("crypto");
|
||||||
|
|
||||||
const logger = createBaseLogger();
|
const logger = createBaseLogger();
|
||||||
const options = commandLineArgs(centerOptions);
|
const options = commandLineArgs(centerOptions);
|
||||||
@@ -121,7 +122,13 @@ const server = smpp.createServer(
|
|||||||
|
|
||||||
sessionLogger.info("Generating DR for incoming submit_sm");
|
sessionLogger.info("Generating DR for incoming submit_sm");
|
||||||
let response = pdu.response();
|
let response = pdu.response();
|
||||||
response.message_id = (messageid++).toString(16);
|
|
||||||
|
let smppid = messageid++;
|
||||||
|
if (options.randid) {
|
||||||
|
smppid = crypto.randomBytes(12).toString("hex");
|
||||||
|
}
|
||||||
|
|
||||||
|
response.message_id = smppid.toString(16);
|
||||||
session.send(response);
|
session.send(response);
|
||||||
|
|
||||||
let drMessage = "";
|
let drMessage = "";
|
||||||
@@ -143,8 +150,8 @@ const server = smpp.createServer(
|
|||||||
drMessage += "text:";
|
drMessage += "text:";
|
||||||
|
|
||||||
const DRPdu = {
|
const DRPdu = {
|
||||||
source_addr: pdu.source_addr,
|
source_addr: pdu.destination_addr,
|
||||||
destination_addr: pdu.destination_addr,
|
destination_addr: pdu.source_addr,
|
||||||
short_message: drMessage,
|
short_message: drMessage,
|
||||||
esm_class: 4,
|
esm_class: 4,
|
||||||
};
|
};
|
||||||
|
@@ -58,6 +58,12 @@ const centerOptions = [
|
|||||||
{ name: "systemid", alias: "s", type: String, description: "SMPP related login info." },
|
{ name: "systemid", alias: "s", type: String, description: "SMPP related login info." },
|
||||||
{ name: "password", alias: "w", type: String, description: "SMPP related login info." },
|
{ name: "password", alias: "w", type: String, description: "SMPP related login info." },
|
||||||
{ name: "dr", type: Boolean, description: "Whether or not to send Delivery Reports.", defaultOption: false },
|
{ name: "dr", type: Boolean, description: "Whether or not to send Delivery Reports.", defaultOption: false },
|
||||||
|
{
|
||||||
|
name: "randid",
|
||||||
|
type: Boolean,
|
||||||
|
description: "SMPP ID generation is entirely random instead of sequential.",
|
||||||
|
defaultOption: false,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "sessions",
|
name: "sessions",
|
||||||
type: Number,
|
type: Number,
|
||||||
|
Reference in New Issue
Block a user