2015-07-04 5 views
1

Я успешно установил клиент Twilio JS WebRTC и сторону PHP для размещения вызовов. Тем не менее, я не могу понять, как я могу отправить новый TwiML-код после вызова.Как играть в MP3 из Twilio's WebRTC во время разговора?

Вот что я хотел бы сделать: как только звонок идет, я хотел бы воспроизвести предварительно записанное сообщение, когда я нажимаю кнопку в своем браузере. Каков наилучший способ достичь этого? Я не могу понять, как отправить новое сообщение после того, как вызов уже выполняется. Благодаря!

ответ

1

Twilio разработчик евангелист здесь.

Чтобы отправить больше TwiML на вызов, вам необходимо использовать REST API для обновления вызова, который происходит.

Для этого вам потребуется идентификатор вызова. Вы можете получить это либо от параметров к исходному веб-кадру до вашего сервера, когда ответ на вызов, либо через parameters attribute on the Twilio.Connection object.

После того, как у вас есть вызов SID, вы можете обновить вызов с новым TwiML путем вызова API REST, например, так:

require_once('/path/to/twilio-php/Services/Twilio.php'); // Loads the library 

// Your Account Sid and Auth Token from twilio.com/user/account 
$sid = "{{ account_sid }}"; 
$token = "{{ auth_token }}"; 
$client = new Services_Twilio($sid, $token); 

$call = $client->account->calls->get("{{ call_sid }}"); 
$call->update(array(
    "Url" => "{{ new_url_with_twiml }}" 
)); 

Там больше о том, как обновить вызовы в полете здесь: https://www.twilio.com/docs/api/rest/change-call-state

+0

Можете ли вы немного рассказать о «new_url_with_twiml»? Также есть лучший способ сделать это сейчас? –

+0

С 'new_url_with_twiml' Я имею в виду только URL-адрес вашего приложения, в котором TwiML вы хотите направить вызов к жизни. Если вы хотите изменить средний полет вызова, то это именно так. :) – philnash