From 708441a070d15b511abd9876f0a7dfed3d2a616f Mon Sep 17 00:00:00 2001 From: Dave Horton Date: Wed, 11 Nov 2020 09:33:28 -0500 Subject: [PATCH] bugfix: proxying device call to other SBC failed --- lib/call-session.js | 2 +- lib/middleware.js | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/call-session.js b/lib/call-session.js index db5fb72..ac63dfb 100644 --- a/lib/call-session.js +++ b/lib/call-session.js @@ -133,7 +133,7 @@ class CallSession extends Emitter { const {uas, uac} = await this.srf.createB2BUA(this.req, this.res, uri, { proxy, passFailure, - proxyRequestHeaders: ['all', '-X-MS-Teams-FQDN', '-X-MS-Teams-Tenant-FQDN', '-Allow', + proxyRequestHeaders: ['all', '-X-MS-Teams-FQDN', '-X-MS-Teams-Tenant-FQDN', 'X-CID', '-Allow', '-Session-Expires', 'Min-SE'], proxyResponseHeaders: ['all', '-Allow'], headers, diff --git a/lib/middleware.js b/lib/middleware.js index 48c954a..c82967f 100644 --- a/lib/middleware.js +++ b/lib/middleware.js @@ -1,5 +1,6 @@ const debug = require('debug')('jambonz:sbc-outbound'); const parseUri = require('drachtio-srf').parseUri; +const srf = require('drachtio-srf'); const Registrar = require('jambonz-mw-registrar'); const {selectHostPort} = require('./utils'); @@ -62,7 +63,8 @@ function route(opts) { //proxy const proxyAddress = selectHostPort(reg.sbcAddress, 'udp'); logger.info(`proxying call to SBC at ${proxyAddress}`); - req.proxy(`sip:${proxyAddress[1]}`); + //req.proxy(`sip:${proxyAddress[1]}`); + req.srf.proxyRequest(req, `sip:${proxyAddress[1]}`); return; } req.locals.registration = reg;