Twilio Stream перестает работать после обновлений вызовов - PullRequest
0 голосов
/ 13 февраля 2020

Я использую Программируемый голос Twilio, использую тег для потоковой передачи аудио звонка на мой сервер, а затем обновляю звонок, используя nodejs SDK.

client.calls(_this.CallSid).update
({twiml:
`<Response>
<Play>${url}</Play>
<Start>
<Stream url="${_this.dnsUrl}">
<Parameter name="dnsUrl" value="${_this.dnsUrl}"/>
</Stream>
</Start>
<Pause length="15"/>
</Response>`
})

Все работает гладко до 5 итераций или около того Через 50 секунд Twilio обновляет вызов, но соединение с websocket перестает работать. Я почти уверен, что сервер работает и работает не на полную мощность.

Есть идеи, почему это происходит?

Спасибо!

1 Ответ

1 голос
/ 24 февраля 2020

Разработчик Twilio здесь.

Мне кажется, вы настраиваете 5+ потоков веб-сокетов одного и того же вызова для отправки на ваш сервер? Если это так, вам, скорее всего, стоит заглянуть в остановку потока перед запуском другого. Или только запуск и использование одного потока.

Кажется также, что в этом случае можно использовать распознавание речи в ответ на сообщение, которое вы <Play> передаете конечному пользователю? Если это так, рассматривали ли вы вопрос об использовании <Gather> с input="speech" вместо этого? Таким образом, вы получите распознанную речь в виде текста в обратном вызове webhook и сможете выполнить весь вызов через TwiML вместо того, чтобы обновлять вызов с помощью REST API.

Надеюсь, это поможет.

...