2016-03-20 7 views
2

私は2人のユーザーを持っており、両方とも<Conference>に参加しました。Twilio:プログラムで会議に参加し、<Say>コマンドまたは<Play>サウンドファイルを再生しますか?

私はロボットに<Conference>に参加させて、アナウンスをしてもらいたいと思います。

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

  1. は、会議の全員を取るサウンドを再生TwiMLにリダイレクトして、戻って会議に移動します。

  2. 何らかの形で会議に参加してTwiMLを再生するボットを作成しますが、ドキュメントから、それを行う方法はわかりません。

答えて

1

Twilioデベロッパーエバンジェリスト

これらのアプローチのいずれかが機能しますが、わずかに異なる効果があります。リダイレクトすると、その時に誰が話しているかにかかわらず、会議は切断されますが、参加しているボットが話すことがあります。あなたのユースケースでうまくいくかどうかによって異なります。リダイレクトを行うに

、あなたはupdating their call to a new URLによってそれらをリダイレクトし、元の会議のURLへplays the soundredirectsバックすることをそのURLからTwiMLを返す、list of Conference participantsを介して実行する必要があります。ような何か:ボットが部屋に入る有する会議番号にcreate a callにあなたを必要とし、一方

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

やURLを指定:

$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が必要になりますメッセージはTwiML〜playを指し、次にhangupを指します。このように:

$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> 

が、これがすべてで助けなら、私に教えてください。

+0

ありがとう、これは役に立ちます!どのように 'THE_CONFERENCE_NUMBER'を取得するのですか?それはConferenceSidですか?最初に動詞 {任意の内部ID}を使用して会議を作成しました。 –

+0

ああ、それはあなたの会議に連絡するための番号です。私は人々がカンファレンスにダイヤルしているだけで、あなたのボットもそうであると思っていました。 – philnash

+0

プログラムで作成された会議にボットを参加させる方法はありませんか? –

関連する問題