mirror of
https://github.com/jambonz/jambonz-feature-server.git
synced 2025-12-20 08:40:38 +00:00
bugfix: support looking up application by regex in addition to exact phone number match
This commit is contained in:
@@ -8,7 +8,13 @@ const normalizeJambones = require('./utils/normalize-jambones');
|
|||||||
const dbUtils = require('./utils/db-utils');
|
const dbUtils = require('./utils/db-utils');
|
||||||
|
|
||||||
module.exports = function(srf, logger) {
|
module.exports = function(srf, logger) {
|
||||||
const {lookupAppByPhoneNumber, lookupAppBySid, lookupAppByRealm, lookupAppByTeamsTenant} = srf.locals.dbHelpers;
|
const {
|
||||||
|
lookupAppByPhoneNumber,
|
||||||
|
lookupAppByRegex,
|
||||||
|
lookupAppBySid,
|
||||||
|
lookupAppByRealm,
|
||||||
|
lookupAppByTeamsTenant
|
||||||
|
} = srf.locals.dbHelpers;
|
||||||
const {lookupAccountDetails} = dbUtils(logger, srf);
|
const {lookupAccountDetails} = dbUtils(logger, srf);
|
||||||
function initLocals(req, res, next) {
|
function initLocals(req, res, next) {
|
||||||
const callSid = req.has('X-Retain-Call-Sid') ? req.get('X-Retain-Call-Sid') : uuidv4();
|
const callSid = req.has('X-Retain-Call-Sid') ? req.get('X-Retain-Call-Sid') : uuidv4();
|
||||||
@@ -115,6 +121,11 @@ module.exports = function(srf, logger) {
|
|||||||
else {
|
else {
|
||||||
const voip_carrier_sid = req.get('X-Voip-Carrier-Sid');
|
const voip_carrier_sid = req.get('X-Voip-Carrier-Sid');
|
||||||
app = await lookupAppByPhoneNumber(req.locals.calledNumber, voip_carrier_sid);
|
app = await lookupAppByPhoneNumber(req.locals.calledNumber, voip_carrier_sid);
|
||||||
|
|
||||||
|
if (!app) {
|
||||||
|
/* lookup by call_routes.regex */
|
||||||
|
app = await lookupAppByRegex(req.locals.calledNumber, account_sid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -112,6 +112,7 @@ function installSrfLocals(srf, logger) {
|
|||||||
const {
|
const {
|
||||||
pool,
|
pool,
|
||||||
lookupAppByPhoneNumber,
|
lookupAppByPhoneNumber,
|
||||||
|
lookupAppByRegex,
|
||||||
lookupAppBySid,
|
lookupAppBySid,
|
||||||
lookupAppByRealm,
|
lookupAppByRealm,
|
||||||
lookupAppByTeamsTenant,
|
lookupAppByTeamsTenant,
|
||||||
@@ -166,6 +167,7 @@ function installSrfLocals(srf, logger) {
|
|||||||
client,
|
client,
|
||||||
pool,
|
pool,
|
||||||
lookupAppByPhoneNumber,
|
lookupAppByPhoneNumber,
|
||||||
|
lookupAppByRegex,
|
||||||
lookupAppBySid,
|
lookupAppBySid,
|
||||||
lookupAppByRealm,
|
lookupAppByRealm,
|
||||||
lookupAppByTeamsTenant,
|
lookupAppByTeamsTenant,
|
||||||
|
|||||||
14
package-lock.json
generated
14
package-lock.json
generated
@@ -8,7 +8,7 @@
|
|||||||
"version": "v0.7.0",
|
"version": "v0.7.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jambonz/db-helpers": "^0.6.15",
|
"@jambonz/db-helpers": "^0.6.16",
|
||||||
"@jambonz/mw-registrar": "^0.2.1",
|
"@jambonz/mw-registrar": "^0.2.1",
|
||||||
"@jambonz/realtimedb-helpers": "^0.4.10",
|
"@jambonz/realtimedb-helpers": "^0.4.10",
|
||||||
"@jambonz/stats-collector": "^0.1.5",
|
"@jambonz/stats-collector": "^0.1.5",
|
||||||
@@ -470,9 +470,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@jambonz/db-helpers": {
|
"node_modules/@jambonz/db-helpers": {
|
||||||
"version": "0.6.15",
|
"version": "0.6.16",
|
||||||
"resolved": "https://registry.npmjs.org/@jambonz/db-helpers/-/db-helpers-0.6.15.tgz",
|
"resolved": "https://registry.npmjs.org/@jambonz/db-helpers/-/db-helpers-0.6.16.tgz",
|
||||||
"integrity": "sha512-zF9bBn+VIramn24xPPoX6lYbm0gWG6Mj2puEXNb5FyJN1SbxYwnsIHm+mupm2qmi5RXt8TWKXw8oCrhKr3zusA==",
|
"integrity": "sha512-jvQULOgoRorevFoZ4RbKIF7QvswSor5sk+THigEId7uPAlaq/GRKCWdEA1rxEizzhfOAiRT6Qg2tyisZ9eg3aA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cidr-matcher": "^2.1.1",
|
"cidr-matcher": "^2.1.1",
|
||||||
"debug": "^4.3.3",
|
"debug": "^4.3.3",
|
||||||
@@ -5556,9 +5556,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@jambonz/db-helpers": {
|
"@jambonz/db-helpers": {
|
||||||
"version": "0.6.15",
|
"version": "0.6.16",
|
||||||
"resolved": "https://registry.npmjs.org/@jambonz/db-helpers/-/db-helpers-0.6.15.tgz",
|
"resolved": "https://registry.npmjs.org/@jambonz/db-helpers/-/db-helpers-0.6.16.tgz",
|
||||||
"integrity": "sha512-zF9bBn+VIramn24xPPoX6lYbm0gWG6Mj2puEXNb5FyJN1SbxYwnsIHm+mupm2qmi5RXt8TWKXw8oCrhKr3zusA==",
|
"integrity": "sha512-jvQULOgoRorevFoZ4RbKIF7QvswSor5sk+THigEId7uPAlaq/GRKCWdEA1rxEizzhfOAiRT6Qg2tyisZ9eg3aA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"cidr-matcher": "^2.1.1",
|
"cidr-matcher": "^2.1.1",
|
||||||
"debug": "^4.3.3",
|
"debug": "^4.3.3",
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
"jslint": "eslint app.js lib"
|
"jslint": "eslint app.js lib"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jambonz/db-helpers": "^0.6.15",
|
"@jambonz/db-helpers": "^0.6.16",
|
||||||
"@jambonz/mw-registrar": "^0.2.1",
|
"@jambonz/mw-registrar": "^0.2.1",
|
||||||
"@jambonz/realtimedb-helpers": "^0.4.10",
|
"@jambonz/realtimedb-helpers": "^0.4.10",
|
||||||
"@jambonz/stats-collector": "^0.1.5",
|
"@jambonz/stats-collector": "^0.1.5",
|
||||||
|
|||||||
Reference in New Issue
Block a user