support voip carrier sip proxy (#165)

* support voiip carrier sip proxy

* wip

* wip

* wip
This commit is contained in:
Hoan Luu Huu
2025-02-17 09:47:59 -05:00
committed by GitHub
parent c449feeb9c
commit 9feb6f3c8f
2 changed files with 24 additions and 2 deletions
+10 -1
View File
@@ -7,7 +7,8 @@ const {
isPrivateVoipNetwork,
isBlackListedSipGateway,
makeFullMediaReleaseKey,
makePartnerFullMediaReleaseKey
makePartnerFullMediaReleaseKey,
isValidDomainOrIP
} = require('./utils');
const { MediaPath } = require('./constants.json');
const {forwardInDialogRequests} = require('drachtio-fn-b2b-sugar');
@@ -342,6 +343,14 @@ class CallSession extends Emitter {
proxy = u;
u = `${scheme}:${prefix}${prependPlus}${calledNumber}@${vc.register_sip_realm};transport=${transport}`;
this.logger.debug({uri: u}, `using outbound proxy for this registered trunk: ${proxy}`);
} else if (vc.outbound_sip_proxy && vc.outbound_sip_proxy.length > 0) {
if (vc.outbound_sip_proxy.includes('sip:') || vc.outbound_sip_proxy.includes('sips:')) {
proxy = vc.outbound_sip_proxy;
} else if (isValidDomainOrIP(vc.outbound_sip_proxy)) {
proxy =
`${scheme}:${prefix}${prependPlus}${calledNumber}@${vc.outbound_sip_proxy};transport=${transport}`;
this.logger.debug({uri: u}, `using outbound proxy for this trunk: ${proxy}`);
}
}
mapGateways.set(u, obj);
uris.push(u);