mirror of
https://github.com/jambonz/sbc-sip-sidecar.git
synced 2026-01-24 22:27:52 +00:00
disable options ping on defined errors
This commit is contained in:
@@ -31,6 +31,8 @@ const JAMBONES_REGBOT_CONTACT_USE_IP = process.env.JAMBONES_REGBOT_CONTACT_USE_I
|
||||
const JAMBONES_REGBOT_MIN_EXPIRES_INTERVAL = process.env.JAMBONES_REGBOT_MIN_EXPIRES_INTERVAL;
|
||||
const JAMBONES_REGBOT_DEFAULT_EXPIRES_INTERVAL = process.env.JAMBONES_REGBOT_DEFAULT_EXPIRES_INTERVAL;
|
||||
const JAMBONES_REGBOT_INITIAL_DELAY_MS = process.env.JAMBONES_REGBOT_INITIAL_DELAY_MS || 250;
|
||||
const OPTIONS_RESPONSE_REMOVE = process.env.OPTIONS_RESPONSE_REMOVE || [];
|
||||
const REGISTER_RESPONSE_REMOVE = process.env.REGISTER_RESPONSE_REMOVE || [];
|
||||
|
||||
module.exports = {
|
||||
JAMBONES_MYSQL_HOST,
|
||||
@@ -57,5 +59,7 @@ module.exports = {
|
||||
JAMBONES_REGBOT_CONTACT_USE_IP,
|
||||
JAMBONES_REGBOT_MIN_EXPIRES_INTERVAL,
|
||||
JAMBONES_REGBOT_DEFAULT_EXPIRES_INTERVAL,
|
||||
JAMBONES_REGBOT_INITIAL_DELAY_MS
|
||||
JAMBONES_REGBOT_INITIAL_DELAY_MS,
|
||||
OPTIONS_RESPONSE_REMOVE,
|
||||
REGISTER_RESPONSE_REMOVE
|
||||
};
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
const { addSipGatewayToBlacklist, removeSipGatewayFromBlacklist, isSipGatewayBlacklisted } = require('./utils');
|
||||
const {OPTIONS_RESPONSE_REMOVE} = require('./lib/config');
|
||||
|
||||
const send_options_gateways = [];
|
||||
const send_options_bots = [];
|
||||
@@ -50,6 +51,20 @@ class OptionsBot {
|
||||
});
|
||||
}
|
||||
}
|
||||
if (OPTIONS_RESPONSE_REMOVE.includes(res.status)) {
|
||||
const { updateSipGatewayBySid } = srf.locals.dbHelpers;
|
||||
await updateSipGatewayBySid(this.voip_carrier_sid, {send_options_ping: false});
|
||||
const carrier = await lookupCarrierBySid(this.voip_carrier_sid);
|
||||
if (carrier) {
|
||||
writeAlerts({
|
||||
account_sid: carrier.account_sid,
|
||||
service_provider_sid: carrier.service_provider_sid,
|
||||
// eslint-disable-next-line max-len
|
||||
message: `Disabling Options ping for ${this.ipv4} in carrier ${carrier.name}(${carrier.voip_carrier_sid})`
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
// If the gateway is blacklisted, remove it from the blacklist as we have successfully pinged it
|
||||
if (await isSipGatewayBlacklisted(realtimeDbHelpers.client, logger, this.sip_gateway_sid)) {
|
||||
|
||||
Reference in New Issue
Block a user