initial changes for queue webhooks

This commit is contained in:
Dave Horton
2021-07-31 13:12:48 -04:00
parent 8f7b5c959b
commit 3ca47f8121
6 changed files with 73 additions and 35 deletions

View File

@@ -1,6 +1,13 @@
const Task = require('./task');
const makeTask = require('./make_task');
const {CallStatus, CallDirection, TaskName, TaskPreconditions, MAX_SIMRINGS} = require('../utils/constants');
const {
CallStatus,
CallDirection,
TaskName,
TaskPreconditions,
MAX_SIMRINGS,
KillReason
} = require('../utils/constants');
const assert = require('assert');
const placeCall = require('../utils/place-outdial');
const sessionTracker = require('../session/session-tracker');
@@ -138,8 +145,15 @@ class TaskDial extends Task {
if (this.epOther) this._installDtmfDetection(cs, this.epOther, this.parentDtmfCollector);
await this._attemptCalls(cs);
await this.awaitTaskDone();
<<<<<<< HEAD
await this.performAction(this.results);
if (this.epOther) this._removeDtmfDetection(cs, this.epOther);
=======
this.logger.debug({callSid: this.cs.callSid}, 'Dial:exec task is done, sending actionHook if any');
await this.performAction(this.results, this.killReason !== KillReason.Replaced);
this._removeDtmfDetection(cs, this.epOther);
>>>>>>> 2b782bc... bugfix for enqueue and dial when these tasks are replaced by LCC
this._removeDtmfDetection(cs, this.ep);
} catch (err) {
this.logger.error({err}, 'TaskDial:exec terminating with error');
@@ -147,9 +161,14 @@ class TaskDial extends Task {
}
}
async kill(cs) {
async kill(cs, reason) {
super.kill(cs);
<<<<<<< HEAD
if (this.epOther) this._removeDtmfDetection(this.cs, this.epOther);
=======
this.killReason = reason || KillReason.Hangup;
this._removeDtmfDetection(this.cs, this.epOther);
>>>>>>> 2b782bc... bugfix for enqueue and dial when these tasks are replaced by LCC
this._removeDtmfDetection(this.cs, this.ep);
this._killOutdials();
if (this.sd) {