У меня работает SMPP-сервер. Мне нужно проверить клиентов из базы данных и после проверки необходимо отправить ответ сервера. Вот мой код:
var smpp = require("smpp");
var server = smpp.createServer(function(session) {
session.on("bind_transceiver", function(pdu) {
console.log("Client is connected with systemId " + pdu.system_id);
console.log(pdu.command_status);
// session.pause();
// Here i want to validate. How to verify these system_id and password from MongoDB database?
checkAsyncUserPass(pdu.system_id, pdu.password, function(err) {
if (err) {
session.send(
pdu.response({
command_status: smpp.ESME_RBINDFAIL
})
);
session.close();
return;
}
session.send(pdu.response()); // if client is authenticated, then only sends response
session.resume();
});
});
});
function checkAsyncUserPass(id, pw, fn) {
// This is the function where client needs to be verified from database.
return true;
}
server.listen(2775, () => console.log("SMPP Sever is listening at 2775"));
В обычном сценарии я мог бы использовать expressjs и заставить Http получать или отправлять запросы. Но как то же самое можно сделать в SMPP?