2016-12-25 6 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>과 같이 할 수 있습니다. 작동 방식은 다음과 같습니다.

TwiML을 <Play>s으로 바꾼 다음 <Dial>s으로 바꿔야합니다. TwiML 대신 make the three simultaneous calls using the REST API이 필요하므로 동적 인 액션이되어야합니다. 돌아 오는 TwiML은 원래 발신자를 제안하고 음악을 재생할 때 대기열에 넣습니다. 원래 호출자에 호출자로 전화를 겁니다 TwiML를 반환해야 http://example.com/dial_queue의 URL에서

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

: PHP에서 같은 비트 보일 것이라고. 원본 예제에 위스퍼 URL이 있습니다.이 URL은 TwiML에 인라이닝하여 얻을 수 있습니다. 당신은 당신이 원래 <Enqueue>에 사용 된 <Queue>의 이름을 전화

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

참고. 이 시스템이 둘 이상의 호출자에 대해 사용될 경우, 고유 한 대기열 이름을 생성해야 할 수도 있습니다.

마지막으로해야 할 일은 통화가 연결되면 다른 두 통화를 취소하고 통화가 응답하지 않으면 대기열을 취소하는 것입니다. 나는 당신에게 당신의 자신의 체제로 그것을 달성 할 수 있던 많은 방법이 확실하기 때문에 당신에게 그것을 맡길 것이다.

전혀 도움이되는지 알려주세요.

+0

무엇이'$ YOUR_CALLER_ID'입니까? 원래 발신자 번호 (리디렉션되는 번호)입니까, 아니면 사용자의 Twilio 번호입니까? – kyle

+1

Twilio 번호이거나 전화를 걸 수있는 Twilio 계정의 확인 된 번호 일 수 있습니다. – philnash