Skip to content

Commit c89ad76

Browse files
author
Haiping Chen
committed
OnCallBusyStatus
1 parent 44f01f1 commit c89ad76

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

src/Plugins/BotSharp.Plugin.Twilio/Controllers/TwilioVoiceController.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,10 @@ await HookEmitter.Emit<ITwilioCallStatusHook>(_services, async hook =>
348348
await HookEmitter.Emit<ITwilioCallStatusHook>(_services, x => x.OnUserDisconnected(request));
349349
}
350350
}
351+
else if (request.CallStatus == "busy")
352+
{
353+
await HookEmitter.Emit<ITwilioCallStatusHook>(_services, x => x.OnCallBusyStatus(request));
354+
}
351355

352356
return Ok();
353357
}

src/Plugins/BotSharp.Plugin.Twilio/Interfaces/ITwilioCallStatusHook.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,13 @@ public interface ITwilioCallStatusHook
1010
Task OnRecordingCompleted(ConversationalVoiceRequest request);
1111
Task OnTranscribeCompleted(ConversationalVoiceRequest request);
1212
Task OnVoicemailStarting(ConversationalVoiceRequest request);
13+
14+
/// <summary>
15+
/// 1. The recipient's phone line is already engaged.
16+
/// 2. Some users block unknown or spam calls, which may cause a "busy" status.
17+
/// 3. Some carriers explicitly return a busy signal instead of routing the call to voicemail.
18+
/// </summary>
19+
/// <param name="request"></param>
20+
/// <returns></returns>
21+
Task OnCallBusyStatus(ConversationalVoiceRequest request);
1322
}

0 commit comments

Comments
 (0)