diff --git a/lib/middleware.js b/lib/middleware.js index 74df973c..74e2f3f1 100644 --- a/lib/middleware.js +++ b/lib/middleware.js @@ -112,7 +112,10 @@ module.exports = function(srf, logger) { logger.error(err, `Error retrieving transferred call app for ${arr[1]}`); } } - else app = await lookupAppByPhoneNumber(req.locals.calledNumber); + else { + const voip_carrier_sid = req.get('X-Voip-Carrier-Sid'); + app = await lookupAppByPhoneNumber(req.locals.calledNumber, voip_carrier_sid); + } } if (!app || !app.call_hook || !app.call_hook.url) { diff --git a/package-lock.json b/package-lock.json index 226957b0..e490e008 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "version": "v0.7.0", "license": "MIT", "dependencies": { - "@jambonz/db-helpers": "^0.6.14", + "@jambonz/db-helpers": "^0.6.15", "@jambonz/mw-registrar": "^0.2.1", "@jambonz/realtimedb-helpers": "^0.4.10", "@jambonz/stats-collector": "^0.1.5", @@ -470,13 +470,13 @@ } }, "node_modules/@jambonz/db-helpers": { - "version": "0.6.14", - "resolved": "https://registry.npmjs.org/@jambonz/db-helpers/-/db-helpers-0.6.14.tgz", - "integrity": "sha512-dWUjDb2If9NwUpUxlAJ4PbIWRyA1gZTkmiICix/f76yAF5aGCf0hgOiYXlh335BRYsX5By41yS7DkLXaTxbx9g==", + "version": "0.6.15", + "resolved": "https://registry.npmjs.org/@jambonz/db-helpers/-/db-helpers-0.6.15.tgz", + "integrity": "sha512-zF9bBn+VIramn24xPPoX6lYbm0gWG6Mj2puEXNb5FyJN1SbxYwnsIHm+mupm2qmi5RXt8TWKXw8oCrhKr3zusA==", "dependencies": { "cidr-matcher": "^2.1.1", - "debug": "^4.3.1", - "mysql2": "^2.2.5", + "debug": "^4.3.3", + "mysql2": "^2.3.3", "uuid": "^8.3.2" } }, @@ -1300,9 +1300,9 @@ } }, "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dependencies": { "ms": "2.1.2" }, @@ -3472,13 +3472,13 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/mysql2": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.2.5.tgz", - "integrity": "sha512-XRqPNxcZTpmFdXbJqb+/CtYVLCx14x1RTeNMD4954L331APu75IC74GDqnZMEt1kwaXy6TySo55rF2F3YJS78g==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.3.3.tgz", + "integrity": "sha512-wxJUev6LgMSgACDkb/InIFxDprRa6T95+VEoR+xPvtngtccNH2dGjEB/fVZ8yg1gWv1510c9CvXuJHi5zUm0ZA==", "dependencies": { - "denque": "^1.4.1", + "denque": "^2.0.1", "generate-function": "^2.3.1", - "iconv-lite": "^0.6.2", + "iconv-lite": "^0.6.3", "long": "^4.0.0", "lru-cache": "^6.0.0", "named-placeholders": "^1.1.2", @@ -3489,10 +3489,18 @@ "node": ">= 8.0" } }, + "node_modules/mysql2/node_modules/denque": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz", + "integrity": "sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==", + "engines": { + "node": ">=0.10" + } + }, "node_modules/mysql2/node_modules/iconv-lite": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", - "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -5548,13 +5556,13 @@ "dev": true }, "@jambonz/db-helpers": { - "version": "0.6.14", - "resolved": "https://registry.npmjs.org/@jambonz/db-helpers/-/db-helpers-0.6.14.tgz", - "integrity": "sha512-dWUjDb2If9NwUpUxlAJ4PbIWRyA1gZTkmiICix/f76yAF5aGCf0hgOiYXlh335BRYsX5By41yS7DkLXaTxbx9g==", + "version": "0.6.15", + "resolved": "https://registry.npmjs.org/@jambonz/db-helpers/-/db-helpers-0.6.15.tgz", + "integrity": "sha512-zF9bBn+VIramn24xPPoX6lYbm0gWG6Mj2puEXNb5FyJN1SbxYwnsIHm+mupm2qmi5RXt8TWKXw8oCrhKr3zusA==", "requires": { "cidr-matcher": "^2.1.1", - "debug": "^4.3.1", - "mysql2": "^2.2.5", + "debug": "^4.3.3", + "mysql2": "^2.3.3", "uuid": "^8.3.2" } }, @@ -6229,9 +6237,9 @@ } }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "requires": { "ms": "2.1.2" } @@ -7909,13 +7917,13 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "mysql2": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.2.5.tgz", - "integrity": "sha512-XRqPNxcZTpmFdXbJqb+/CtYVLCx14x1RTeNMD4954L331APu75IC74GDqnZMEt1kwaXy6TySo55rF2F3YJS78g==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.3.3.tgz", + "integrity": "sha512-wxJUev6LgMSgACDkb/InIFxDprRa6T95+VEoR+xPvtngtccNH2dGjEB/fVZ8yg1gWv1510c9CvXuJHi5zUm0ZA==", "requires": { - "denque": "^1.4.1", + "denque": "^2.0.1", "generate-function": "^2.3.1", - "iconv-lite": "^0.6.2", + "iconv-lite": "^0.6.3", "long": "^4.0.0", "lru-cache": "^6.0.0", "named-placeholders": "^1.1.2", @@ -7923,10 +7931,15 @@ "sqlstring": "^2.3.2" }, "dependencies": { + "denque": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz", + "integrity": "sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==" + }, "iconv-lite": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", - "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" } diff --git a/package.json b/package.json index 4c687df5..782e5be3 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "jslint": "eslint app.js lib" }, "dependencies": { - "@jambonz/db-helpers": "^0.6.14", + "@jambonz/db-helpers": "^0.6.15", "@jambonz/mw-registrar": "^0.2.1", "@jambonz/realtimedb-helpers": "^0.4.10", "@jambonz/stats-collector": "^0.1.5",