Twilio Stream 在调用更新迭代后停止工作

Twilio Stream stop working after call update iterations

我正在使用 Twilio Programmable Voice,使用标签将通话音频流式传输到我的服务器,然后使用 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 连接停止工作。我很确定服务器已启动并且 运行 而不是满负荷。

知道为什么会这样吗?

谢谢!

这里是 Twilio 开发人员布道者。

在我看来,您正在为同一调用设置 5 个以上的 websocket 流以发送到您的服务器?如果是这样,您应该在开始另一个之前先查看 stopping a stream。或者只启动和使用一个流。

这背后的用例似乎也可能是语音识别,以响应您 <Play> 发送给最终用户的消息?如果是这样,您是否考虑过使用 <Gather> with input="speech" 代替?这样,您将在 webhook 回调中将识别出的语音作为文本接收,并且您可以通过 TwiML 驱动整个调用,而不必使用 REST API.

更新调用

希望这对您有所帮助。