Compare commits

...
4 Commits
Author SHA1 Message Date
Hoan Luu Huu 3701e20295 fix sbc crash while outbound calling to user (#148) 2024-10-15 07:28:40 -04:00
Hoan Luu Huu 821275cb67 support X-CID for feature server to detect sip callid (#147)
* support X-CID for feature server to detect sip callid

* fixed review comment

* fix review comment
2024-10-15 07:19:25 -04:00
Dave Horton f5ac51a8f7 minor logging 2024-10-13 10:12:55 -04:00
Hoan Luu Huu 0cf90f37b8 support change log level runtime (#146) 2024-10-07 09:52:22 -04:00
4 changed files with 22 additions and 3 deletions
+4
View File
@@ -198,6 +198,10 @@ if ('test' !== process.env.NODE_ENV) {
logger.info(`updating private network cidr from ${srf.locals.privateNetworkCidr} to ${r.private_network_cidr}`);
srf.locals.privateNetworkCidr = r.private_network_cidr;
}
// Update system log level
if (r.log_level) {
logger.level = r.log_level;
}
}
}, 20000);
}
+5
View File
@@ -521,6 +521,11 @@ class CallSession extends Emitter {
'-Allow',
'-Session-Expires'
],
// Add X-CID header to feature server response.
// to allow calling/status hooks contains sbc_callid.
responseHeaders: (uacRes, headers) => {
headers['X-CID'] = uacRes.get('Call-ID');
},
headers: hdrs,
auth: gw ? gw.auth : undefined,
localSdpB: response.sdp,
+9 -2
View File
@@ -77,7 +77,11 @@ module.exports = (srf, logger, redisClient) => {
});
try {
req.locals.account = await lookupAccountBySid(req.locals.account_sid);
const account = await lookupAccountBySid(req.locals.account_sid);
req.locals.account = account;
if (account.enable_debug_log) {
req.locals.logger.level = 'debug';
}
req.locals.service_provider_sid = req.locals.account.service_provider_sid;
} catch (err) {
req.locals.logger.error({err}, `Error looking up account sid ${req.locals.account_sid}`);
@@ -223,7 +227,10 @@ module.exports = (srf, logger, redisClient) => {
/* redirect to the correct SBC where this user is connected */
const proxyAddress = selectHostPort(reg.sbcAddress, 'tcp');
const redirectUri = `<sip:${proxyAddress[1]}>`;
logger.info(`redirecting call to SBC at ${redirectUri}`);
logger.info({
myHostPort: req.server.hostport,
registeredHostPort: reg.sbcAddress,
}, `redirecting call to SBC at ${redirectUri}`);
return res.send(302, {headers: {Contact: redirectUri}});
}
req.locals.registration = reg;
+4 -1
View File
@@ -358,7 +358,9 @@ CREATE TABLE system_information
(
domain_name VARCHAR(255),
sip_domain_name VARCHAR(255),
monitoring_domain_name VARCHAR(255)
monitoring_domain_name VARCHAR(255),
private_network_cidr VARCHAR(8192),
log_level ENUM('info', 'debug') NOT NULL DEFAULT 'info'
);
CREATE TABLE users
@@ -552,6 +554,7 @@ siprec_hook_sid CHAR(36),
record_all_calls BOOLEAN NOT NULL DEFAULT false,
record_format VARCHAR(16) NOT NULL DEFAULT 'mp3',
bucket_credential VARCHAR(8192) COMMENT 'credential used to authenticate with storage service',
enable_debug_log BOOLEAN NOT NULL DEFAULT false,
PRIMARY KEY (account_sid)
) COMMENT='An enterprise that uses the platform for comm services';