Compare commits

...
5 Commits
3 changed files with 65 additions and 22 deletions
+8 -1
View File
@@ -65,6 +65,11 @@ class CallSession extends Emitter {
return this._mediaReleased;
}
get callerIsUsingSrtp() {
const tp = this.rtpEngineOpts?.uas?.mediaOpts['transport-protocol'];
return tp && -1 !== tp.indexOf('SAVP');
}
async connect() {
const {sdp} = this.req.locals;
this.logger.info('inbound call accepted for routing');
@@ -480,6 +485,7 @@ Duration=${payload.duration} `
direction,
sdp: offeredSdp,
};
if (reason && opts.flags && !opts.flags.includes('reset')) opts.flags.push('reset');
let response = await this.offer(opts);
if ('ok' !== response.result) {
@@ -489,7 +495,8 @@ Duration=${payload.duration} `
/* if this is a re-invite from the FS to change media anchoring, avoid sending the reinvite out */
let sdp;
if (reason && dlg.type === 'uac' && ['release-media', 'anchor-media'].includes(reason)) {
if (reason && dlg.type === 'uac' && ['release-media', 'anchor-media'].includes(reason) &&
!this.callerIsUsingSrtp) {
this.logger.info({response}, `got a reinvite from FS to ${reason}`);
sdp = dlg.other.remote.sdp;
answerMedia.flags = ['asymmetric', 'port latching'];
+53 -18
View File
@@ -1,12 +1,12 @@
{
"name": "sbc-inbound",
"version": "v0.7.5",
"version": "v0.7.6",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "sbc-inbound",
"version": "v0.7.5",
"version": "v0.7.6",
"license": "MIT",
"dependencies": {
"@jambonz/db-helpers": "^0.6.18",
@@ -16,7 +16,7 @@
"@jambonz/rtpengine-utils": "^0.3.1",
"@jambonz/siprec-client-utils": "^0.1.4",
"@jambonz/stats-collector": "^0.1.6",
"@jambonz/time-series": "^0.1.9",
"@jambonz/time-series": "^0.1.12",
"aws-sdk": "^2.1152.0",
"bent": "^7.3.12",
"cidr-matcher": "^2.1.1",
@@ -27,7 +27,8 @@
"pino": "^7.11.0",
"sdp-transform": "^2.14.1",
"uuid": "^8.3.2",
"verify-aws-sns-signature": "^0.0.7"
"verify-aws-sns-signature": "^0.0.7",
"xml2js": "^0.4.23"
},
"devDependencies": {
"eslint": "^7.32.0",
@@ -709,12 +710,12 @@
}
},
"node_modules/@jambonz/time-series": {
"version": "0.1.9",
"resolved": "https://registry.npmjs.org/@jambonz/time-series/-/time-series-0.1.9.tgz",
"integrity": "sha512-FLD7mLGEMToG7s6LGWr/GtNp61753RBxyYuKSxCVI6G14bm6ydgcBdG85h8EGTVQlIp9dnwbn5ebSVsGb8a46w==",
"version": "0.1.12",
"resolved": "https://registry.npmjs.org/@jambonz/time-series/-/time-series-0.1.12.tgz",
"integrity": "sha512-TmCG4jcI8oK3NXOc4/PbdRhhMVLEr5FOyG4IIWpNlwB0vbjAGLY3K+O5PF4fXK+UcNYnIrUcrd2C0J9z3+YBxw==",
"dependencies": {
"debug": "^4.3.1",
"influx": "^5.8.0"
"influx": "^5.9.3"
}
},
"node_modules/@protobufjs/aspromise": {
@@ -2808,9 +2809,9 @@
}
},
"node_modules/influx": {
"version": "5.9.0",
"resolved": "https://registry.npmjs.org/influx/-/influx-5.9.0.tgz",
"integrity": "sha512-oAG5tpxzWep7cA+1ybEK0HIptuBGK+DwObeSmsIRr9VXBf4ggN/vqSUqlvgQpjEoeUNr2tphHZJWc9n33sle9A=="
"version": "5.9.3",
"resolved": "https://registry.npmjs.org/influx/-/influx-5.9.3.tgz",
"integrity": "sha512-QQU9CgwnaEV6zMrK8+vhVItsdoKFqDioXJrjJhRQaff9utvT3N0jcrQJT9qnxFLktqgJ5ngbDY68Zh4eo4uD/w=="
},
"node_modules/inherits": {
"version": "2.0.4",
@@ -5236,6 +5237,26 @@
}
}
},
"node_modules/xml2js": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
"dependencies": {
"sax": ">=0.6.0",
"xmlbuilder": "~11.0.0"
},
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/xmlbuilder": {
"version": "11.0.1",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
"engines": {
"node": ">=4.0"
}
},
"node_modules/y18n": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
@@ -5860,12 +5881,12 @@
}
},
"@jambonz/time-series": {
"version": "0.1.9",
"resolved": "https://registry.npmjs.org/@jambonz/time-series/-/time-series-0.1.9.tgz",
"integrity": "sha512-FLD7mLGEMToG7s6LGWr/GtNp61753RBxyYuKSxCVI6G14bm6ydgcBdG85h8EGTVQlIp9dnwbn5ebSVsGb8a46w==",
"version": "0.1.12",
"resolved": "https://registry.npmjs.org/@jambonz/time-series/-/time-series-0.1.12.tgz",
"integrity": "sha512-TmCG4jcI8oK3NXOc4/PbdRhhMVLEr5FOyG4IIWpNlwB0vbjAGLY3K+O5PF4fXK+UcNYnIrUcrd2C0J9z3+YBxw==",
"requires": {
"debug": "^4.3.1",
"influx": "^5.8.0"
"influx": "^5.9.3"
}
},
"@protobufjs/aspromise": {
@@ -7488,9 +7509,9 @@
}
},
"influx": {
"version": "5.9.0",
"resolved": "https://registry.npmjs.org/influx/-/influx-5.9.0.tgz",
"integrity": "sha512-oAG5tpxzWep7cA+1ybEK0HIptuBGK+DwObeSmsIRr9VXBf4ggN/vqSUqlvgQpjEoeUNr2tphHZJWc9n33sle9A=="
"version": "5.9.3",
"resolved": "https://registry.npmjs.org/influx/-/influx-5.9.3.tgz",
"integrity": "sha512-QQU9CgwnaEV6zMrK8+vhVItsdoKFqDioXJrjJhRQaff9utvT3N0jcrQJT9qnxFLktqgJ5ngbDY68Zh4eo4uD/w=="
},
"inherits": {
"version": "2.0.4",
@@ -9348,6 +9369,20 @@
"integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==",
"requires": {}
},
"xml2js": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
"requires": {
"sax": ">=0.6.0",
"xmlbuilder": "~11.0.0"
}
},
"xmlbuilder": {
"version": "11.0.1",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
},
"y18n": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
+4 -3
View File
@@ -1,6 +1,6 @@
{
"name": "sbc-inbound",
"version": "v0.7.5",
"version": "v0.7.6",
"main": "app.js",
"engines": {
"node": ">= 12.0.0"
@@ -32,7 +32,7 @@
"@jambonz/rtpengine-utils": "^0.3.1",
"@jambonz/siprec-client-utils": "^0.1.4",
"@jambonz/stats-collector": "^0.1.6",
"@jambonz/time-series": "^0.1.9",
"@jambonz/time-series": "^0.1.12",
"aws-sdk": "^2.1152.0",
"bent": "^7.3.12",
"cidr-matcher": "^2.1.1",
@@ -43,7 +43,8 @@
"pino": "^7.11.0",
"sdp-transform": "^2.14.1",
"uuid": "^8.3.2",
"verify-aws-sns-signature": "^0.0.7"
"verify-aws-sns-signature": "^0.0.7",
"xml2js": "^0.4.23"
},
"devDependencies": {
"eslint": "^7.32.0",