handle exceptions if we invoke _lccCallHook with new url and it rejects for some reason (#1087)

This commit is contained in:
Dave Horton
2025-02-18 13:03:34 -05:00
committed by GitHub
parent 122d267816
commit e8a7366526

View File

@@ -1799,62 +1799,66 @@ Duration=${duration} `
async updateCall(opts, callSid) { async updateCall(opts, callSid) {
this.logger.debug(opts, 'CallSession:updateCall'); this.logger.debug(opts, 'CallSession:updateCall');
if (opts.call_status) { try {
return this._lccCallStatus(opts); if (opts.call_status) {
} return this._lccCallStatus(opts);
if (opts.call_hook || opts.child_call_hook) { }
return await this._lccCallHook(opts); if (opts.call_hook || opts.child_call_hook) {
} return await this._lccCallHook(opts);
if (opts.listen_status || opts.stream_status) { }
await this._lccListenStatus(opts); if (opts.listen_status || opts.stream_status) {
} await this._lccListenStatus(opts);
if (opts.transcribe_status) { }
await this._lccTranscribeStatus(opts); if (opts.transcribe_status) {
} await this._lccTranscribeStatus(opts);
else if (opts.mute_status) { }
await this._lccMuteStatus(opts.mute_status === 'mute', callSid); else if (opts.mute_status) {
} await this._lccMuteStatus(opts.mute_status === 'mute', callSid);
else if (opts.conf_hold_status) { }
await this._lccConfHoldStatus(opts); else if (opts.conf_hold_status) {
} await this._lccConfHoldStatus(opts);
else if (opts.conf_mute_status) { }
await this._lccConfMuteStatus(opts); else if (opts.conf_mute_status) {
} await this._lccConfMuteStatus(opts);
else if (opts.sip_request) { }
const res = await this._lccSipRequest(opts, callSid); else if (opts.sip_request) {
return {status: res.status, reason: res.reason}; const res = await this._lccSipRequest(opts, callSid);
} else if (opts.dtmf) { return {status: res.status, reason: res.reason};
await this._lccDtmf(opts, callSid); } else if (opts.dtmf) {
} await this._lccDtmf(opts, callSid);
else if (opts.record) { }
await this.notifyRecordOptions(opts.record); else if (opts.record) {
} await this.notifyRecordOptions(opts.record);
else if (opts.tag) { }
return this._lccTag(opts); else if (opts.tag) {
} return this._lccTag(opts);
else if (opts.conferenceParticipantAction) { }
return this._lccConferenceParticipantAction(opts.conferenceParticipantAction); else if (opts.conferenceParticipantAction) {
} return this._lccConferenceParticipantAction(opts.conferenceParticipantAction);
else if (opts.dub) { }
return this._lccDub(opts.dub, callSid); else if (opts.dub) {
} return this._lccDub(opts.dub, callSid);
else if (opts.boostAudioSignal) { }
return this._lccBoostAudioSignal(opts, callSid); else if (opts.boostAudioSignal) {
} return this._lccBoostAudioSignal(opts, callSid);
else if (opts.media_path) { }
return this._lccMediaPath(opts.media_path, callSid); else if (opts.media_path) {
} return this._lccMediaPath(opts.media_path, callSid);
else if (opts.llm_tool_output) { }
return this._lccToolOutput(opts.tool_call_id, opts.llm_tool_output, callSid); else if (opts.llm_tool_output) {
} return this._lccToolOutput(opts.tool_call_id, opts.llm_tool_output, callSid);
else if (opts.llm_update) { }
return this._lccLlmUpdate(opts.llm_update, callSid); else if (opts.llm_update) {
} return this._lccLlmUpdate(opts.llm_update, callSid);
}
// whisper may be the only thing we are asked to do, or it may that // whisper may be the only thing we are asked to do, or it may that
// we are doing a whisper after having muted, paused recording etc.. // we are doing a whisper after having muted, paused recording etc..
if (opts.whisper) { if (opts.whisper) {
return this._lccWhisper(opts, callSid); return this._lccWhisper(opts, callSid);
}
} catch (err) {
this.logger.info({err, opts, callSid}, 'CallSession:updateCall - error updating call');
} }
} }