C# で Twilio を使用しているときに小さな問題が発生しました。基本的に、.Dial メソッドが呼び出された後の呼び出しの制御に問題があります。
次のコードがあるとします。
TwilioResponse _twiml = new TwilioResponse();
_twiml.Dial(RedirectPhoneNumner, new { action = Url.Action("BusyCallAction"), timeout = 5 });`
以下は私のアプリケーションでレンダリングされています:
<Response>
<Dial action="/Home/BusyCallAction" timeout="5">*RedirectPhoneNumber*</Dial>
</Response>
テスト目的で、 5 秒のタイムアウトを追加しました。タイムアウトが経過すると、ユーザーを次のコントローラーにリダイレクトする代わりに、呼び出しが終了します。
[HttpPost]
public ActionResult BusyCallAction(string dialCallStatus)
{
if (dialCallStatus == "busy")
{
_twiml.Say(dialCallStatus);
//more code here
}
return TwiML(_twiml);
}
注: ダイヤル メソッドのデフォルトのメソッド属性がPOSTに設定されているため、このメソッドには HttpPost データ アノテーションがあります。
通話に応答したか、通話中であったかを知る必要があります。