mirror of
https://github.com/jambonz/sbc-outbound.git
synced 2026-10-04 02:04:19 +00:00
feature: specify user or host part of From on outdial
This commit is contained in:
+13
-5
@@ -13,10 +13,17 @@ const makeInviteInProgressKey = (callid) => `sbc-out-iip${callid}`;
|
|||||||
*/
|
*/
|
||||||
const createBLegFromHeader = (req, teams) => {
|
const createBLegFromHeader = (req, teams) => {
|
||||||
const from = req.getParsedHeader('From');
|
const from = req.getParsedHeader('From');
|
||||||
const host = teams ? req.get('X-MS-Teams-Tenant-FQDN') : 'localhost';
|
|
||||||
const uri = parseUri(from.uri);
|
const uri = parseUri(from.uri);
|
||||||
if (uri && uri.user) return `sip:${uri.user}@${host}`;
|
let user = uri.user || 'anonymous';
|
||||||
return `sip:anonymous@${host}`;
|
let host = 'localhost';
|
||||||
|
if (teams) {
|
||||||
|
host = req.get('X-MS-Teams-Tenant-FQDN');
|
||||||
|
}
|
||||||
|
else if (req.has('X-Preferred-From-User') || req.has('X-Preferred-From-Host')) {
|
||||||
|
user = req.get('X-Preferred-From-User') || user;
|
||||||
|
host = req.get('X-Preferred-From-Host') || host;
|
||||||
|
}
|
||||||
|
return `sip:${user}@${host}`;
|
||||||
};
|
};
|
||||||
const createBLegToHeader = (req, teams) => {
|
const createBLegToHeader = (req, teams) => {
|
||||||
const to = req.getParsedHeader('To');
|
const to = req.getParsedHeader('To');
|
||||||
@@ -315,13 +322,14 @@ class CallSession extends Emitter {
|
|||||||
'-X-MS-Teams-FQDN',
|
'-X-MS-Teams-FQDN',
|
||||||
'-X-MS-Teams-Tenant-FQDN',
|
'-X-MS-Teams-Tenant-FQDN',
|
||||||
'-X-Trace-ID',
|
'-X-Trace-ID',
|
||||||
'X-CID',
|
|
||||||
'-Allow',
|
'-Allow',
|
||||||
'-Session-Expires',
|
'-Session-Expires',
|
||||||
'-X-Requested-Carrier-Sid',
|
'-X-Requested-Carrier-Sid',
|
||||||
'-X-Jambonz-Routing',
|
'-X-Jambonz-Routing',
|
||||||
'-X-Jambonz-FS-UUID',
|
'-X-Jambonz-FS-UUID',
|
||||||
'Min-SE'
|
'-X-Preferred-User',
|
||||||
|
'-X-Preferred-Host',
|
||||||
|
'-X-Jambonz-FS-UUID',
|
||||||
],
|
],
|
||||||
proxyResponseHeaders: [
|
proxyResponseHeaders: [
|
||||||
'all',
|
'all',
|
||||||
|
|||||||
Generated
+1023
-292
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -28,9 +28,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jambonz/db-helpers": "^0.6.19",
|
"@jambonz/db-helpers": "^0.6.19",
|
||||||
|
"@jambonz/realtimedb-helpers": "^0.4.35",
|
||||||
"@jambonz/http-health-check": "^0.0.1",
|
"@jambonz/http-health-check": "^0.0.1",
|
||||||
"@jambonz/mw-registrar": "0.2.2",
|
"@jambonz/mw-registrar": "0.2.2",
|
||||||
"@jambonz/realtimedb-helpers": "^0.4.29",
|
|
||||||
"@jambonz/rtpengine-utils": "^0.3.10",
|
"@jambonz/rtpengine-utils": "^0.3.10",
|
||||||
"@jambonz/siprec-client-utils": "^0.1.4",
|
"@jambonz/siprec-client-utils": "^0.1.4",
|
||||||
"@jambonz/stats-collector": "^0.1.6",
|
"@jambonz/stats-collector": "^0.1.6",
|
||||||
|
|||||||
Reference in New Issue
Block a user