From e642e13946a8aeddf648e4fedf4101109a7dbb42 Mon Sep 17 00:00:00 2001 From: Dave Horton Date: Mon, 21 Sep 2020 08:29:54 -0400 Subject: [PATCH] bugfix for #22: headers were being incorrectly applied to follow-on INVITEs --- lib/utils/place-outdial.js | 7 ++++--- package-lock.json | 13 +++++++++++++ package.json | 1 + 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/lib/utils/place-outdial.js b/lib/utils/place-outdial.js index 2891fb17..5afc9c7f 100644 --- a/lib/utils/place-outdial.js +++ b/lib/utils/place-outdial.js @@ -11,7 +11,7 @@ const registrar = new Registrar({ host: process.env.JAMBONES_REDIS_HOST, port: process.env.JAMBONES_REDIS_PORT || 6379 }); - +const deepcopy = require('deepcopy'); const moment = require('moment'); const uuidv4 = require('uuid/v4'); @@ -289,8 +289,9 @@ class SingleDialer extends Emitter { } function placeOutdial({logger, srf, ms, sbcAddress, target, opts, application, callInfo}) { - const sd = new SingleDialer({logger, sbcAddress, target, opts, application, callInfo}); - sd.exec(srf, ms, opts); + const myOpts = deepcopy(opts); + const sd = new SingleDialer({logger, sbcAddress, target, myOpts, application, callInfo}); + sd.exec(srf, ms, myOpts); return sd; } diff --git a/package-lock.json b/package-lock.json index de7a3c79..4970aa8a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1034,6 +1034,14 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, + "deepcopy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/deepcopy/-/deepcopy-2.1.0.tgz", + "integrity": "sha512-8cZeTb1ZKC3bdSCP6XOM1IsTczIO73fdqtwa2B0N15eAz7gmyhQo+mc5gnFuulsgN3vIQYmTgbmQVKalH1dKvQ==", + "requires": { + "type-detect": "^4.0.8" + } + }, "default-require-extensions": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", @@ -3906,6 +3914,11 @@ "prelude-ls": "^1.2.1" } }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + }, "type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", diff --git a/package.json b/package.json index 09bca061..2b43c997 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "bent": "^7.3.9", "cidr-matcher": "^2.1.1", "debug": "^4.1.1", + "deepcopy": "^2.1.0", "drachtio-fsmrf": "^2.0.1", "drachtio-srf": "^4.4.37", "express": "^4.17.1",