Closed india-india closed 4 years ago
I've updated your message to properly display the code
You're receiving ECONNRESET only because the server crashes and thus the connection is dropped from server side
and sms send successfully but Node js Server crash
I assume you receive submit_sm_resp PDU from this code
//sending pdu submit
session.send(pdu.response({
sequence_number: pdu.sequence_number,
message_id: msgid
}));
Your code is doing many things after that point, can be a ddbb connection problem (you have several queries) or the API call, but most probably this lines hold the problem which error you should see on node's log:
//dlr_send
dlr_send.forEach(function(element) {
console.log(element.DlrLoop);
element.DlrLoop;
});
element
is coming from API json response, what is element.DlrLoop;
doing?
@juliangut Please Help. Can your see my code on live server. +91-7999452711 OR skypeid = anildalar
My Whatsapp +91-7999452711
element
is coming from API json response, what iselement.DlrLoop;
doing?
DlrLoop were submitting dlr response according to sms status sms provider provide us sms sending api and smpp client want to get dlr report ,so we are checking status in php page and an Array of object of dlr response is comming of number of sms send by user and we are forwarding the dlr result
this is my new code const worker = require('worker_threads'); var smpp = require('smpp'); const uuidv1 = require('uuid/v1'); var sleep = require('sleep'); var http = require('http'); const request = require('request'); var mysql = require('mysql'); var async = require('async');
var con = mysql.createConnection({ host: "localhost", user: "kannel", password: "kannel@123", database: "kannel", debug:false });
var check_user='';
var server = smpp.createServer(function(session) { session.on('bind_transceiver', function(pdu) { console.log(pdu);
con.query('SELECT * FROM client_connection WHERE `username`="'+pdu.system_id+'" AND `password`="'+pdu.password+'" AND status=1', function (err, result, fields) {
var numRows = result.length;
if (numRows==0) {
console.log('not user');
session.send(pdu.response({
command_status: smpp.ESME_RBINDFAIL
}));
session.close();
return;
//process.exit(0);
}
var user_id = result[0].user_id;
var user_name = result[0].username;
//var numRows = result.length;
//console.log(worker);
});
session.send(pdu.response({
system_id:'levent_sms'
}));
});
session.on('submit_sm', function(pdu) {
//console.log(pdu);
var msgid = uuidv1(); // generate a message_id for this message.
var time = Math.floor(new Date() / 1000);
var s_addr =pdu.source_addr;
var d_addr =pdu.destination_addr;
var sms_from = pdu.source_addr;
var sms_to = pdu.destination_addr;
var sms_message = pdu.short_message.message;
var sqn_no = pdu.sequence_number;
//sending first dlr
session.deliver_sm({
command_id: 4,
command_status: '',
sequence_number: pdu.sequence_number,
service_type: '',
source_addr_ton: '',
source_addr_npi: '',
source_addr: s_addr,
dest_addr_ton: 1,
dest_addr_npi: 1,
destination_addr: d_addr,
esm_class: 4,
protocol_id: 1,
priority_flag: 1,
schedule_delivery_time: '',
validity_period:'',
registered_delivery: 1,
replace_if_present_flag:'',
sm_default_msg_id: '',
short_message: {
message:'id:'+msgid+' sub:001 dlvrd:0 submit date:'+time+' done date:'+time+' stat:ACCEPTD err:000'
}
});
//sending pdu submit
session.send(pdu.response({
sequence_number: pdu.sequence_number,
message_id: msgid
}));
// insert into all sms table
var sql1 = 'INSERT INTO all_sms2(`snd_user_id`,`msg_user`,`msg_id`,`msg_from`,`Msisdn`,`msgdata`,`sqn_no`,`batch_no`) VALUES("'+user_id+'","'+user_name+'","'+msgid+'","'+sms_from+'","'+sms_to+'","'+sms_message+'","'+sqn_no+'","'+1+'")';
con.query(sql1, function (err, result) {
if (err) throw err;
//console.log("1 record inserted in all_sms table");
});
var sql2 = 'SELECT * FROM sms_send_user WHERE send_user_id="'+user_id+'"';
con.query(sql2, function (err, result) {
if (err) throw err;
//check_user = result[0].send_user_id;
//console.log(result.length);
if(result.length == 0){
var sql3 = 'INSERT INTO sms_send_user(`send_user_id`) VALUES("'+user_id+'")';
//console.log(sql);
con.query(sql3, function (err, result) {
if (err) throw err;
console.log("1 record inserted in all_sms table");
});
// call the api
request('http://62.12.115.107/terkey/node_bulk_sms.php?user_id='+user_id, { json: false }, (err, res, body) => {
if (err) { return console.log(err); }
var info = JSON.parse(body);
var dlr_send = info.DlvRpt;
//console.log(dlr_send);
//dlr_send
dlr_send.forEach(function(element) {
console.log(element.DlrLoop);
element.DlrLoop;
});
});
}else{
//USER EXIST KR RAHA HAI TOH PROCESS REPEAT NAHI HOGI
}
//session.on('deliver_sm_resp', function(pdu) {
//console.log(pdu);
//});
});
});
}); server.listen(21000);
Please provide node error log to see why is it crashing
Closing, feel free to reopen providing some error information
Still i get connection reset...and that too after long time...why ? i don't know..as there are no logs because when connection reset occurs node.js crashes..
when node smpp client request to send sms ,and sms send successfully but Node js Server crash and show this error ECONNRESET
This is my code plz