mirror of
https://github.com/jambonz/jambonz-feature-server.git
synced 2025-12-20 16:50:39 +00:00
fix gather race condition (#759)
This commit is contained in:
@@ -79,6 +79,7 @@ class InboundCallSession extends CallSession {
|
|||||||
this.logger.info('InboundCallSession:_hangup - race condition, dlg cleared by app hangup');
|
this.logger.info('InboundCallSession:_hangup - race condition, dlg cleared by app hangup');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
this.logger.info(`InboundCallSession: ${terminatedBy} hung up`);
|
||||||
assert(this.dlg.connectTime);
|
assert(this.dlg.connectTime);
|
||||||
const duration = moment().diff(this.dlg.connectTime, 'seconds');
|
const duration = moment().diff(this.dlg.connectTime, 'seconds');
|
||||||
this.rootSpan.setAttributes({'call.termination': `hangup by ${terminatedBy}`});
|
this.rootSpan.setAttributes({'call.termination': `hangup by ${terminatedBy}`});
|
||||||
@@ -87,7 +88,6 @@ class InboundCallSession extends CallSession {
|
|||||||
callStatus: CallStatus.Completed,
|
callStatus: CallStatus.Completed,
|
||||||
duration
|
duration
|
||||||
});
|
});
|
||||||
this.logger.info(`InboundCallSession: ${terminatedBy} hung up`);
|
|
||||||
this._callReleased();
|
this._callReleased();
|
||||||
this.req.removeAllListeners('cancel');
|
this.req.removeAllListeners('cancel');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -259,9 +259,14 @@ class TaskGather extends SttTask {
|
|||||||
|
|
||||||
if (this.input.includes('speech') && this.listenDuringPrompt) {
|
if (this.input.includes('speech') && this.listenDuringPrompt) {
|
||||||
await this._setSpeechHandlers(cs, ep);
|
await this._setSpeechHandlers(cs, ep);
|
||||||
this._startTranscribing(ep);
|
if (!this.resolved && !this.killed) {
|
||||||
updateSpeechCredentialLastUsed(this.sttCredentials.speech_credential_sid)
|
this._startTranscribing(ep);
|
||||||
.catch(() => {/*already logged error */});
|
updateSpeechCredentialLastUsed(this.sttCredentials.speech_credential_sid)
|
||||||
|
.catch(() => {/*already logged error */});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
this.logger.info('Gather:exec - task was killed or resolved quickly, not starting transcription');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.input.includes('digits') || this.dtmfBargein || this.asrDtmfTerminationDigit) {
|
if (this.input.includes('digits') || this.dtmfBargein || this.asrDtmfTerminationDigit) {
|
||||||
|
|||||||
Reference in New Issue
Block a user