Исходящие вызовы в Twilio можно записать, установив TwiML, переданный методу client.calls.create () API, чтобы иметь тег <Conference>
с атрибут записи имеет значение true. Если для recordingStatusCallback задан URL-адрес, он отправит уведомление на этот URL-адрес, когда запись будет доступна.
Как это сделать для входящих вызовов?
Для мой указанный c номер телефона для голосовой и факсимильной связи. На сайте twilio.com для меня «Принять входящие» установлено значение «Голосовые вызовы», для параметра «Настроить с» установлено значение «Приложение TwiML», а для «Приложения TwiML» - значение «Мой». пользовательское приложение. Для этого приложения у меня установлен URL-адрес голосового запроса с заданным URL-адресом.
При входящем вызове в мое приложение TwiML отправляется HTTP-запрос POST, который отвечает <Enqueue>
. Позже Резервирование инструкций конференции выполняется на стороне клиента javascript с ConferenceRecord , установленным в true и ConferenceRecordingStatusCallback , установленным на тот же URL, который мы использовали с recordingStatusCallback
для исходящих вызовов.
Вот как выглядит полезная нагрузка моего запроса «Резервирование инструкции конференции»:
stdClass Object
(
[url] => https://taskrouter.twilio.com/v1/Workspaces/.../Tasks/.../Reservations/...
[method] => POST
[token] => ...
[params] => stdClass Object
(
[Instruction] => conference
[From] =>
[PostWorkActivitySid] =>
[Timeout] => 10
[To] =>
[EndConferenceOnExit] => true
[EndConferenceOnCustomerExit] => true
[ConferenceStatusCallback] => https://my.domain.tld/twilio/conference
[ConferenceStatusCallbackMethod] => POST
[ConferenceStatusCallbackEvent] => start,end,join,leave,mute,hold
[ConferenceRecord] => true
[ConferenceRecordingStatusCallback] => https://my.domain.tld/twilio/conference/recording
[ConferenceRecordingStatusCallbackMethod] => POST
[ConferenceRecordingStatusCallbackEvent] => completed
)
)
В результате этого Twilio вызывает URL ConferenceStatusCallback
несколько раз, но URL ConferenceRecordingStatusCallback
никогда не вызывается.
Есть идеи?