2016-12-25 5 views
2

接続が成功するのを待っている間に、番号をダイヤルして発信者に音楽を配信するにはどうすればよいですか?会議機能を使用する素敵ではないことになります。TWIMLで回答を待っている間に音楽を再生する<dial>

以下のコードは、

<?xml version="1.0" encoding="UTF-8"?> 
<Response> 
    <Play>http://com.twilio.music.ambient.s3.amazonaws.com/gurdonark_-_Plains.mp3</Play> 
    <Dial timeout="10" callerId="+1234567890"> 
     <Number url="whisper?id=1">+1122334455</Number> 
     <Number url="whisper?id=2">+1122334466</Number> 
     <Number url="whisper?id=3">+1122334477</Number> 
    </Dial> 
</Response> 

NB(ロジックである)<dial>を行う前に終了する音楽を待ちます。 <Enqueue>と何か?

答えて

4

ここではTwilioの開発者のエバンジェリストです。

<Enqueue>でこれを行うことができます。これはどのように動作するのですか:

<Play>sの代わりに<Dial>sというTwiMLを置き換える必要があります。 TwiMLの代わりにmake the three simultaneous calls using the REST APIにする必要があるので、これは動的なアクションでなければなりません。あなたが返すTwiMLは、元の呼び出し元をあなたが提案して音楽を演奏するときに待ち行列に入れるでしょう。以下のように少し見えるPHPで:URL http://example.com/dial_queue

<?php 
// Get the PHP helper library from twilio.com/docs/php/install 
require_once '/path/to/vendor/autoload.php'; 
use Twilio\Rest\Client; 

// Your Account Sid and Auth Token from twilio.com/user/account 
$sid = "your_account_sid"; 
$token = "your_auth_token"; 
$client = new Client($sid, $token); 

$numbers = array('+1122334455', '+1122334466', '+1122334477'); 

foreach ($numbers as $number) { 
    $call = $client->calls->create(
     $number, $YOUR_CALLER_ID, 
     array("url" => "http://example.com/dial_queue") 
); 
} 

header("content-type: text/xml"); 
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; 
?> 
<Response> 
    <Enqueue waitUrl="http://com.twilio.music.ambient.s3.amazonaws.com/"> 
    dialling 
    </Enqueue> 
</Response> 

あなたは、元の発信者に呼び出し先をダイヤルTwiMLを返却する必要があります。オリジナルの例では、TwiMLにインライン展開することで達成できます。あなたは、元の<Enqueue>で使用<Queue>の名前をダイヤル

<Response> 
    <Say>Your custom message</Say> 
    <Dial> 
    <Queue>dialling</Queue> 
    </Dial> 
</Response> 

注意。このシステムを複数の呼び出し元に使用する場合は、おそらくそれらに固有のキュー名を生成する必要があります。

最終的には、コールが接続されると他の2つのコールをキャンセルし、コールのいずれも応答しない場合はキューをキャンセルすることになります。私はあなたにあなた自身のセットアップでそれを達成することができる多くの方法があると確信しています。

それがまったく役に立ったら教えてください。

+0

「$ YOUR_CALLER_ID」とは何ですか?元の発信者番号(リダイレクト先の番号)ですか、それともユーザーのTwilio番号ですか? – kyle

+1

これはTwilio番号であるか、Twilioアカウント内で電話をかけるために使用できる確認番号になります。 – philnash

関連する問題