Евангелист разработчиков Twilio здесь.
Любой из этих подходов будет работать, хотя и будет иметь немного разные эффекты. Перенаправление прервет конференцию независимо от того, кто говорит в данный момент, но присоединившийся к ней бот может быть озвучен. Это зависит от того, что будет лучше работать для вашего варианта использования.
Чтобы сделать переадресацию, вам нужно просмотреть список участников конференции. , перенаправьте их, обновив их вызов на новый URL, и верните TwiML с этого URL-адреса, который воспроизводит звук и перенаправляет обратно на исходный 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 следующим образом:
<Response>
<Play>http://example.com/message.mp3</Play>
<Redirect>http://example.com/conference</Redirect>
</Response>
С другой стороны, чтобы бот вошел в комнату, вам нужно создать звонок на номер конференции и укажите URL, который указывает на TwiML для play сообщение, а затем повесить трубку. Как это:
$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>
Дайте мне знать, поможет ли это вообще.
person
philnash
schedule
21.03.2016