diff --git a/lib/config.js b/lib/config.js index 428e5466..51808374 100644 --- a/lib/config.js +++ b/lib/config.js @@ -147,6 +147,7 @@ const JAMBONES_REDIS_SENTINELS = process.env.JAMBONES_REDIS_SENTINELS ? { const JAMBONZ_RECORD_WS_BASE_URL = process.env.JAMBONZ_RECORD_WS_BASE_URL; const JAMBONZ_RECORD_WS_USERNAME = process.env.JAMBONZ_RECORD_WS_USERNAME; const JAMBONZ_RECORD_WS_PASSWORD = process.env.JAMBONZ_RECORD_WS_PASSWORD; +const JAMBONZ_DISABLE_DIAL_PAI_HEADER = process.env.JAMBONZ_DISABLE_DIAL_PAI_HEADER || false; module.exports = { JAMBONES_MYSQL_HOST, @@ -225,5 +226,6 @@ module.exports = { DEEPGRAM_API_KEY, JAMBONZ_RECORD_WS_BASE_URL, JAMBONZ_RECORD_WS_USERNAME, - JAMBONZ_RECORD_WS_PASSWORD + JAMBONZ_RECORD_WS_PASSWORD, + JAMBONZ_DISABLE_DIAL_PAI_HEADER }; diff --git a/lib/tasks/dial.js b/lib/tasks/dial.js index 5e0c6f77..869ba47a 100644 --- a/lib/tasks/dial.js +++ b/lib/tasks/dial.js @@ -16,7 +16,7 @@ const ConfirmCallSession = require('../session/confirm-call-session'); const dbUtils = require('../utils/db-utils'); const debug = require('debug')('jambonz:feature-server'); const {parseUri} = require('drachtio-srf'); -const {ANCHOR_MEDIA_ALWAYS} = require('../config'); +const {ANCHOR_MEDIA_ALWAYS, JAMBONZ_DISABLE_DIAL_PAI_HEADER} = require('../config'); const { isOnhold } = require('../utils/sdp-utils'); const { normalizeJambones } = require('@jambonz/verb-specifications'); @@ -433,7 +433,8 @@ class TaskDial extends Task { this.headers = { 'X-Account-Sid': cs.accountSid, ...(req && req.has('X-CID') && {'X-CID': req.get('X-CID')}), - ...(req && req.has('P-Asserted-Identity') && {'P-Asserted-Identity': req.get('P-Asserted-Identity')}), + ...(req && req.has('P-Asserted-Identity') && !JAMBONZ_DISABLE_DIAL_PAI_HEADER && + {'P-Asserted-Identity': req.get('P-Asserted-Identity')}), ...(req && req.has('X-Voip-Carrier-Sid') && {'X-Voip-Carrier-Sid': req.get('X-Voip-Carrier-Sid')}), // Put headers at the end to make sure opt.headers override all default behavior. ...this.headers