Мне нужна помощь, я создал приложение Nodejs для автоматического вызова каждые 15 секунд из Интернета с помощью Asterisk, однако, когда я создаю файлы .call и перемещаю их в папку / отключаю, некоторые номера вызываются несколько разхотя у меня MaxRetries: 1 вариант
const interval = setInterval(function () {
Registers.findOneAndUpdate({state: "READY"}, {state: "SEND"}, (err, registerDB) => {
if (err) {
return res.status(400).json({
ok: false,
err
});
}
if (registerDB) {
if (typeCampaign === "audio") {
console.log("Audio Campaign selected");
fileContent = `Channel: SIP/outgoing/${registerDB.number} \nMaxRetries: 1 \nRetryTime: 60 \nWaitTime: 30 \nContext: automatic-calls \nExtension: ${extAudio} \nSetvar: NUMBER=${registerDB.number} \nSetvar: CAMPAIGN=${registerDB.campaign}`;
} else if (typeCampaign === "dynamic") {
console.log("Dynamic Campaign selected");
fileContent = `Channel: SIP/outgoing/${registerDB.number} \nMaxRetries: 1 \nRetryTime: 60 \nWaitTime: 30 \nContext: automatic-calls \nExtension: ${extDynamic} \nSetvar: NAME=${registerDB.name} \nSetvar: NUMBER=${registerDB.number} \nSetvar: CAMPAIGN=${registerDB.campaign}`;
}
let oldPath = __dirname + sourcePath + registerDB.number + ".call";
console.log(oldPath);
let writeStream = fs.createWriteStream(__dirname + sourcePath + registerDB.number + ".call");
writeStream.write(fileContent);
fs.rename(oldPath, dstPath + registerDB.number + ".call", function (err) {
if (err) {
console.log(err);
return res.status(500).json({
ok: false,
message: "No se pudo generar la llaamda"
});
}
});
writeStream.on('finish', () => {
console.log("Archivo Creado");
});
} else {
return res.status(200).json({
ok: true,
message: "Tarea Finalizada"
});
}
});
counter++;
if (counter === parseInt(req.body.number)) {
clearInterval(interval);
}
}, 15000);
});