mirror of
https://github.com/jambonz/jambonz-feature-server.git
synced 2025-12-20 16:50:39 +00:00
validate recording env (#466)
This commit is contained in:
@@ -37,6 +37,9 @@ Configuration is provided via environment variables:
|
|||||||
|STATS_PORT| listening port for metrics host|no|
|
|STATS_PORT| listening port for metrics host|no|
|
||||||
|STATS_PROTOCOL| 'tcp' or 'udp'|no|
|
|STATS_PROTOCOL| 'tcp' or 'udp'|no|
|
||||||
|STATS_TELEGRAF| if 1, metrics will be generated in telegraf format|no|
|
|STATS_TELEGRAF| if 1, metrics will be generated in telegraf format|no|
|
||||||
|
|JAMBONZ_RECORD_WS_BASE_URL| recording websocket URL to send the recording audio|no|
|
||||||
|
|JAMBONZ_RECORD_WS_USERNAME| recording websocket username|no|
|
||||||
|
|JAMBONZ_RECORD_WS_PASSWORD| recording websocket password|no|
|
||||||
|
|
||||||
### running under pm2
|
### running under pm2
|
||||||
Typically, this application runs under [pm2](https://pm2.io) using an [ecosystem.config.js](https://pm2.keymetrics.io/docs/usage/application-declaration/) file similar to this:
|
Typically, this application runs under [pm2](https://pm2.io) using an [ecosystem.config.js](https://pm2.keymetrics.io/docs/usage/application-declaration/) file similar to this:
|
||||||
|
|||||||
@@ -144,9 +144,9 @@ const JAMBONES_REDIS_SENTINELS = process.env.JAMBONES_REDIS_SENTINELS ? {
|
|||||||
username: process.env.JAMBONES_REDIS_SENTINEL_USERNAME
|
username: process.env.JAMBONES_REDIS_SENTINEL_USERNAME
|
||||||
})
|
})
|
||||||
} : null;
|
} : null;
|
||||||
const JAMBONZ_RECORD_WS_BASE_URL = process.env.JAMBONZ_RECORD_WS_BASE_URL;
|
const JAMBONZ_RECORD_WS_BASE_URL = process.env.JAMBONZ_RECORD_WS_BASE_URL || process.env.JAMBONES_RECORD_WS_BASE_URL;
|
||||||
const JAMBONZ_RECORD_WS_USERNAME = process.env.JAMBONZ_RECORD_WS_USERNAME;
|
const JAMBONZ_RECORD_WS_USERNAME = process.env.JAMBONZ_RECORD_WS_USERNAME || process.env.JAMBONES_RECORD_WS_USERNAME;
|
||||||
const JAMBONZ_RECORD_WS_PASSWORD = process.env.JAMBONZ_RECORD_WS_PASSWORD;
|
const JAMBONZ_RECORD_WS_PASSWORD = process.env.JAMBONZ_RECORD_WS_PASSWORD || process.env.JAMBONES_RECORD_WS_PASSWORD;
|
||||||
const JAMBONZ_DISABLE_DIAL_PAI_HEADER = process.env.JAMBONZ_DISABLE_DIAL_PAI_HEADER || false;
|
const JAMBONZ_DISABLE_DIAL_PAI_HEADER = process.env.JAMBONZ_DISABLE_DIAL_PAI_HEADER || false;
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|||||||
@@ -1933,17 +1933,22 @@ class CallSession extends Emitter {
|
|||||||
|
|
||||||
async enableRecordAllCall() {
|
async enableRecordAllCall() {
|
||||||
if (this.accountInfo.account.record_all_calls || this.application.record_all_calls) {
|
if (this.accountInfo.account.record_all_calls || this.application.record_all_calls) {
|
||||||
|
if (!JAMBONZ_RECORD_WS_BASE_URL || !this.accountInfo.account.bucket_credential) {
|
||||||
|
this.logger.error('Record all calls: invalid configuration');
|
||||||
|
return;
|
||||||
|
}
|
||||||
const listenOpts = {
|
const listenOpts = {
|
||||||
url: `${JAMBONZ_RECORD_WS_BASE_URL}/record/${this.accountInfo.account.bucket_credential.vendor}`,
|
url: `${JAMBONZ_RECORD_WS_BASE_URL}/record/${this.accountInfo.account.bucket_credential.vendor}`,
|
||||||
wsAuth: {
|
|
||||||
username: JAMBONZ_RECORD_WS_USERNAME,
|
|
||||||
password: JAMBONZ_RECORD_WS_PASSWORD
|
|
||||||
},
|
|
||||||
disableBidirectionalAudio: true,
|
disableBidirectionalAudio: true,
|
||||||
mixType : 'stereo',
|
mixType : 'stereo',
|
||||||
passDtmf: true
|
passDtmf: true
|
||||||
};
|
};
|
||||||
|
if (JAMBONZ_RECORD_WS_USERNAME && JAMBONZ_RECORD_WS_PASSWORD) {
|
||||||
|
listenOpts.wsAuth = {
|
||||||
|
username: JAMBONZ_RECORD_WS_USERNAME,
|
||||||
|
password: JAMBONZ_RECORD_WS_PASSWORD
|
||||||
|
};
|
||||||
|
}
|
||||||
this.logger.debug({listenOpts}, 'Record all calls: enabling listen');
|
this.logger.debug({listenOpts}, 'Record all calls: enabling listen');
|
||||||
await this.startBackgroundListen({verb: 'listen', ...listenOpts}, 'jambonz-session-record');
|
await this.startBackgroundListen({verb: 'listen', ...listenOpts}, 'jambonz-session-record');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user