Twilio の JS WebRTC クライアントと PHP 側を正常にセットアップして呼び出しを行うことができました。しかし、通話中に新しい TwiML コードを送信する方法がわかりません。
やりたいことは次のとおりです。通話が開始されたら、ブラウザのボタンをクリックしたときに、事前に録音されたメッセージを再生したいと思います。これを達成するための最良の方法は何ですか?通話が既に進行中の後に新しいものを送信する方法がわかりません。ありがとう!
Twilio の JS WebRTC クライアントと PHP 側を正常にセットアップして呼び出しを行うことができました。しかし、通話中に新しい TwiML コードを送信する方法がわかりません。
やりたいことは次のとおりです。通話が開始されたら、ブラウザのボタンをクリックしたときに、事前に録音されたメッセージを再生したいと思います。これを達成するための最良の方法は何ですか?通話が既に進行中の後に新しいものを送信する方法がわかりません。ありがとう!
Twilio 開発者エバンジェリストはこちら。
進行中の通話にさらに TwiML を送信するには、REST API を使用して、実行中の通話を更新する必要があります。
これを行うには、Call SID が必要です。これは、呼び出しが応答されたときにサーバーへの元の webhook へのパラメーターから取得するか、objectのparameters
属性をTwilio.Connection
介して取得できます。
Call SID を取得したら、次のように REST API を呼び出して、新しい TwiML で呼び出しを更新できます。
require_once('/path/to/twilio-php/Services/Twilio.php'); // Loads the library
// Your Account Sid and Auth Token from twilio.com/user/account
$sid = "{{ account_sid }}";
$token = "{{ auth_token }}";
$client = new Services_Twilio($sid, $token);
$call = $client->account->calls->get("{{ call_sid }}");
$call->update(array(
"Url" => "{{ new_url_with_twiml }}"
));
進行中の通話を更新する方法について詳しくは、https ://www.twilio.com/docs/api/rest/change-call-state をご覧ください。