Skip to content

Commit

Permalink
Merge branch 'main' into fix/audlting_kick_user
Browse files Browse the repository at this point in the history
  • Loading branch information
xquanluu authored Dec 4, 2024
2 parents f92a4b0 + dce4fe1 commit fd2b8f1
Show file tree
Hide file tree
Showing 6 changed files with 59 additions and 22 deletions.
4 changes: 3 additions & 1 deletion lib/session/call-session.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const BackgroundTaskManager = require('../utils/background-task-manager');
const dbUtils = require('../utils/db-utils');
const BADPRECONDITIONS = 'preconditions not met';
const CALLER_CANCELLED_ERR_MSG = 'Response not sent due to unknown transaction';

const { NonFatalTaskError} = require('../utils/error');
const sqlRetrieveQueueEventHook = `SELECT * FROM webhooks
WHERE webhook_sid =
(
Expand Down Expand Up @@ -1092,6 +1092,8 @@ class CallSession extends Emitter {
this.currentTask = null;
if (err.message?.includes(BADPRECONDITIONS)) {
this.logger.info(`CallSession:exec task #${stackNum}:${taskNum}: ${task.name}: ${err.message}`);
} else if (err instanceof NonFatalTaskError) {
this.logger.error(err, `Error executing task #${stackNum}:${taskNum}: ${task.name}`);
}
else {
this.logger.error(err, `Error executing task #${stackNum}:${taskNum}: ${task.name}`);
Expand Down
17 changes: 15 additions & 2 deletions lib/tasks/play.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
const Task = require('./task');
const {TaskName, TaskPreconditions} = require('../utils/constants');
const { PlayFileNotFoundError } = require('../utils/error');

class TaskPlay extends Task {
constructor(logger, opts) {
Expand Down Expand Up @@ -66,8 +67,20 @@ class TaskPlay extends Task {
}
}
} catch (err) {
if (timeout) clearTimeout(timeout);
this.logger.info(err, `TaskPlay:exec - error playing ${this.url}`);
this.logger.info(`TaskPlay:exec - error playing ${this.url}: ${err.message}`);
this.playComplete = true;
if (err.message === 'File Not Found') {
const {writeAlerts, AlertType} = cs.srf.locals;
await this.performAction({status: 'fail', reason: 'playFailed'}, !(this.parentTask || cs.isConfirmCallSession));
this.emit('playDone');
writeAlerts({
account_sid: cs.accountSid,
alert_type: AlertType.PLAY_FILENOTFOUND,
url: this.url,
target_sid: cs.callSid
});
throw new PlayFileNotFoundError(this.url);
}
}
this.emit('playDone');
}
Expand Down
7 changes: 6 additions & 1 deletion lib/utils/action-hook-delay.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,12 @@ class ActionHookDelayProcessor extends Emitter {
try {
this._taskInProgress = makeTask(this.logger, t[0]);
this._taskInProgress.disableTracing = true;
this._taskInProgress.exec(this.cs, {ep: this.ep});
this._taskInProgress.exec(this.cs, {ep: this.ep}).catch((err) => {
this.logger.info(`ActionHookDelayProcessor#_onNoResponseTimer: error playing file: ${err.message}`);
this._taskInProgress = null;
this.ep.removeAllListeners('playback-start');
this.ep.removeAllListeners('playback-stop');
});
} catch (err) {
this.logger.info(err, 'ActionHookDelayProcessor#_onNoResponseTimer: error starting action');
this._taskInProgress = null;
Expand Down
19 changes: 17 additions & 2 deletions lib/utils/error.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,24 @@
class SpeechCredentialError extends Error {
class NonFatalTaskError extends Error {
constructor(msg) {
super(msg);
}
}

class SpeechCredentialError extends NonFatalTaskError {
constructor(msg) {
super(msg);
}
}

class PlayFileNotFoundError extends NonFatalTaskError {
constructor(url) {
super('File not found');
this.url = url;
}
}

module.exports = {
SpeechCredentialError
SpeechCredentialError,
NonFatalTaskError,
PlayFileNotFoundError
};
30 changes: 16 additions & 14 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"@jambonz/realtimedb-helpers": "^0.8.8",
"@jambonz/speech-utils": "^0.1.22",
"@jambonz/stats-collector": "^0.1.10",
"@jambonz/time-series": "^0.2.9",
"@jambonz/time-series": "^0.2.12",
"@jambonz/verb-specifications": "^0.0.86",
"@opentelemetry/api": "^1.8.0",
"@opentelemetry/exporter-jaeger": "^1.23.0",
Expand All @@ -47,7 +47,7 @@
"bent": "^7.3.12",
"debug": "^4.3.4",
"deepcopy": "^2.1.0",
"drachtio-fsmrf": "^3.0.45",
"drachtio-fsmrf": "^3.0.46",
"drachtio-srf": "^4.5.35",
"express": "^4.19.2",
"express-validator": "^7.0.1",
Expand Down

0 comments on commit fd2b8f1

Please sign in to comment.