mirror of
https://github.com/jambonz/jambonz-feature-server.git
synced 2025-12-20 16:50:39 +00:00
bugfix: when bargein is disabled, kill the background gather and do not restart it
This commit is contained in:
@@ -410,6 +410,7 @@ class CallSession extends Emitter {
|
|||||||
try {
|
try {
|
||||||
const t = normalizeJambones(this.logger, [gather]);
|
const t = normalizeJambones(this.logger, [gather]);
|
||||||
this.backgroundGatherTask = makeTask(this.logger, t[0]);
|
this.backgroundGatherTask = makeTask(this.logger, t[0]);
|
||||||
|
this._bargeInEnabled = true;
|
||||||
this.backgroundGatherTask
|
this.backgroundGatherTask
|
||||||
.once('dtmf', this._clearTasks.bind(this))
|
.once('dtmf', this._clearTasks.bind(this))
|
||||||
.once('vad', this._clearTasks.bind(this))
|
.once('vad', this._clearTasks.bind(this))
|
||||||
@@ -426,7 +427,7 @@ class CallSession extends Emitter {
|
|||||||
this.backgroundGatherTask && this.backgroundGatherTask.removeAllListeners();
|
this.backgroundGatherTask && this.backgroundGatherTask.removeAllListeners();
|
||||||
this.backgroundGatherTask && this.backgroundGatherTask.span.end();
|
this.backgroundGatherTask && this.backgroundGatherTask.span.end();
|
||||||
this.backgroundGatherTask = null;
|
this.backgroundGatherTask = null;
|
||||||
if (autoEnable && !this.callGone && !this._stopping) {
|
if (autoEnable && !this.callGone && !this._stopping && this._bargeInEnabled) {
|
||||||
this.logger.info('CallSession:enableBotMode: restarting background gather');
|
this.logger.info('CallSession:enableBotMode: restarting background gather');
|
||||||
setImmediate(() => this.enableBotMode(gather, true));
|
setImmediate(() => this.enableBotMode(gather, true));
|
||||||
}
|
}
|
||||||
@@ -443,6 +444,7 @@ class CallSession extends Emitter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
disableBotMode() {
|
disableBotMode() {
|
||||||
|
this._bargeInEnabled = false;
|
||||||
if (this.backgroundGatherTask) {
|
if (this.backgroundGatherTask) {
|
||||||
try {
|
try {
|
||||||
this.backgroundGatherTask.removeAllListeners();
|
this.backgroundGatherTask.removeAllListeners();
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ class TaskConfig extends Task {
|
|||||||
}, 'Config: updated recognizer');
|
}, 'Config: updated recognizer');
|
||||||
}
|
}
|
||||||
if ('enable' in this.bargeIn) {
|
if ('enable' in this.bargeIn) {
|
||||||
if (this.gatherOpts) {
|
if (this.bargeIn.enable === true && this.gatherOpts) {
|
||||||
this.gatherOpts.recognizer = this.hasRecognizer ?
|
this.gatherOpts.recognizer = this.hasRecognizer ?
|
||||||
this.recognizer :
|
this.recognizer :
|
||||||
{
|
{
|
||||||
@@ -103,7 +103,7 @@ class TaskConfig extends Task {
|
|||||||
this.logger.info({opts: this.gatherOpts}, 'Config: enabling bargeIn');
|
this.logger.info({opts: this.gatherOpts}, 'Config: enabling bargeIn');
|
||||||
cs.enableBotMode(this.gatherOpts, this.autoEnable);
|
cs.enableBotMode(this.gatherOpts, this.autoEnable);
|
||||||
}
|
}
|
||||||
else {
|
else if (this.bargeIn.enable === false) {
|
||||||
this.logger.info('Config: disabling bargeIn');
|
this.logger.info('Config: disabling bargeIn');
|
||||||
cs.disableBotMode();
|
cs.disableBotMode();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user