4

私には 2 人のユーザーがいて、両方を に参加させました<Conference>

にロボットを参加させ<Conference>て発表したいです。

私が検討している2つのアプローチがあります:

  1. 会議に参加している全員を、サウンドを再生する TwiML にリダイレクトしてから、会議に戻します。

  2. Conference に参加して TwiML をプレイするボットを作成しますが、その方法がドキュメントから明らかではありません。

4

1 に答える 1

2

Twilio 開発者エバンジェリストはこちら。

これらのアプローチはどちらも機能しますが、効果はわずかに異なります。リダイレクトすると、その時点で誰が発言しているかに関係なく、会議が中断されますが、参加しているボットが話しかけられる可能性があります。どちらがユースケースに適しているかによって異なります。

リダイレクトを行うには、会議参加者のリストを実行し、通話を新しい URL に更新してリダイレクトし、その URL からサウンドを再生して元の会議 URL にリダイレクトするTwiML を返す必要があります。何かのようなもの:

$sid = "{{ account_sid }}"; 
$token = "{{ auth_token }}"; 
$client = new Services_Twilio($sid, $token);

// Loop over the list of participants and redirect ($client->account->conferences->get(CONFERENCE_SID)->participants as $participant) {
    $call = $client->account->calls->get($participant->call_sid);
    $call->update(array(
        "Url" => "http://example.com/conference_message"
    ));
}

次に、/conference_messageエンドポイントには次のような TwiML が必要になります。

<Response>
  <Play>http://example.com/message.mp3</Play>
  <Redirect>http://example.com/conference</Redirect>
</Response>

一方、ボットを部屋に入れるには、会議番号への通話を作成し、TwiML を指す URL を指定してメッセージを再生し、ハングアップする必要があります。このような:

$sid = "{{ account_sid }}"; 
$token = "{{ auth_token }}"; 
$client = new Services_Twilio($sid, $token); 

$call = $client->account->calls->create(A_TWILIO_NUMBER, THE_CONFERENCE_NUMBER, "http://example.com/conference_message");

次に、/conference_messageエンドポイントは次のように TwiML を返します。

<Response>
  <Play>http://example.com/message.mp3</Play>
  <Hangup/>
</Response>

これがまったく役立つかどうか教えてください。

于 2016-03-21T13:22:22.383 に答える