feat: keep alive and clean up dead sbc

This commit is contained in:
Quan HL
2023-04-06 12:42:27 +07:00
parent 76296d813b
commit 9d5ca4b856

8
app.js
View File

@@ -26,6 +26,7 @@ const {
lookupAccountBySipRealm, lookupAccountBySipRealm,
lookupAccountCapacitiesBySid, lookupAccountCapacitiesBySid,
addSbcAddress, addSbcAddress,
cleanSbcAddresses,
updateVoipCarriersRegisterStatus updateVoipCarriersRegisterStatus
} = require('@jambonz/db-helpers')({ } = require('@jambonz/db-helpers')({
host: process.env.JAMBONES_MYSQL_HOST, host: process.env.JAMBONES_MYSQL_HOST,
@@ -56,6 +57,8 @@ const {
port: process.env.JAMBONES_REDIS_PORT || 6379 port: process.env.JAMBONES_REDIS_PORT || 6379
}, logger); }, logger);
const interval = process.env.SBC_PUBLIC_ADDRESS_KEEP_ALIVE_IN_MILISECOND || 900000; // Default 15 minutes
srf.locals = { srf.locals = {
...srf.locals, ...srf.locals,
logger, logger,
@@ -96,6 +99,11 @@ srf.on('connect', (err, hp) => {
logger.info(`adding sbc public address to database: ${arr[2]}`); logger.info(`adding sbc public address to database: ${arr[2]}`);
srf.locals.sbcPublicIpAddress = `${arr[2]}:${arr[3]}`; srf.locals.sbcPublicIpAddress = `${arr[2]}:${arr[3]}`;
addSbcAddress(arr[2]); addSbcAddress(arr[2]);
// keep alive for this SBC
setTimeout(() => {
addSbcAddress(arr[2]);
cleanSbcAddresses();
}, interval);
} }
} }