Twilio クライアント SDK [Javascript] から呼び出しを開始するという要件に取り組んでいます。Twilio Twiml アプリからの着信 Webhook 要求を処理する ASP.Net MVC Core アプリケーションがあります。クライアント側から通話を開始するには、Twiml ダイヤル動詞を使用し、from 番号と to 番号を提供します。さらに、留守番電話が検出されたらすぐに音声メッセージを送信する必要があります。
Twiml の Dial 動詞を使用したため、留守番電話の検出を通過できず、音声メッセージを送信できません。これは、有人呼び出しメカニズムであるため、Dial verb の設計によるものです。ドキュメントを調べたところ、REST API を使用すると、マシンの検出と応答が可能であり、音声メッセージの送信も可能であることがわかりました。Twilio REST API は、無人通話の開始とルール ベースのワークフローに使用されます。Twiml Dial 動詞は VoiceResponse クラスを使用して通話を開始しますが、Twilio REST API は CallResource を使用して通話を開始します。考えられる代替案に取り掛かる前に、自分の理解を確認したかったのです。
上記のユースケースを以下の手順で実装することを考えています
留守番電話検出オプションを有効にして、Twilio REST API 呼び出しを行い、無人通話を開始します。API が、answered_by の値が human または unknown で応答した場合、Twiml Dial 動詞を使用して呼び出しにパッチを適用する Webhook を呼び出します。API が、answered_by 値を machine として応答する場合、呼び出し先に送信できる音声メッセージを含む Twiml を使用する必要があります。