mirror of
https://github.com/jambonz/sbc-sip-sidecar.git
synced 2025-12-19 04:27:46 +00:00
feat: keep alive and clean up dead sbc
This commit is contained in:
8
app.js
8
app.js
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user