Fix/rest outdial failure session hangs (#411)

* fix #410

* on rest outdial failure, if remote end closed gracefully don't wait for a reconnection
This commit is contained in:
Dave Horton
2023-08-01 12:59:30 -04:00
committed by GitHub
parent e8e987cb9d
commit 48b182c891
2 changed files with 6 additions and 13 deletions

View File

@@ -258,6 +258,7 @@ router.post('/', async(req, res) => {
sipStatus: err.status,
sipReason: err.reason
});
cs.callGone = true;
}
else {
if (cs) cs.emit('callStatusChange', {

View File

@@ -796,23 +796,15 @@ class CallSession extends Emitter {
}
}
if (0 === this.tasks.length && this.requestor instanceof WsRequestor && !this.callGone) {
//let span;
if (0 === this.tasks.length &&
this.requestor instanceof WsRequestor &&
!this.requestor.this.closedGracefully &&
!this.callGone
) {
try {
//const {span} = this.rootSpan.startChildSpan('waiting for commands');
//const {reason, queue, command} = await this._awaitCommandsOrHangup();
/*
span.setAttributes({
'completion.reason': reason,
'async.request.queue': queue,
'async.request.command': command
});
span.end();
*/
await this._awaitCommandsOrHangup();
if (this.callGone) break;
} catch (err) {
//span.end();
this.logger.info(err, 'CallSession:exec - error waiting for new commands');
break;
}