Twilio разработчик евангелист здесь.
Вы можете сделать это с помощью <Enqueue>
. Вот как это будет работать:
Вам потребуется заменить TwiML, который <Play>
s, а затем <Dial>
s. Это должно быть динамическим действием, так как вам нужно будет make the three simultaneous calls using the REST API вместо TwiML. TwiML, который вы вернете, поставит вашего первоначального вызывающего абонента в очередь, как вы предлагаете, и воспроизводите музыку. В PHP, который будет выглядеть немного как:
<?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>
В URL http://example.com/dial_queue
вам нужно будет вернуться TwiML, что набор номера вызываемого абонента в исходной вызывающей. У вас есть шепот URL в вашем исходном примере, который вы можете достичь, вставив его в TwiML.
<Response>
<Say>Your custom message</Say>
<Dial>
<Queue>dialling</Queue>
</Dial>
</Response>
Обратите внимание, что вы набираете имя <Queue>
, который вы использовали в оригинальном <Enqueue>
. Если эта система будет использоваться для нескольких абонентов, вам, вероятно, потребуется создать для них уникальные имена очередей.
Последним делом было бы отменить другие два вызова, как только вызов соединится и отменит очередь, если ни один из вызовов не отвечает. Я оставлю это для вас, так как я уверен, что вы можете достичь этого с помощью своей собственной установки.
Дайте мне знать, если это поможет вообще.
Что такое '$ YOUR_CALLER_ID'? Это номер исходного вызывающего абонента (тот, который перенаправляется), или это номер пользователя Twilio? – kyle
Это номер Twilio, или это может быть подтвержденное число в вашей учетной записи Twilio, с которой вы можете звонить. – philnash