我正在使用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连接停止工作。我很确定服务器已启动并且正在运行,并且没有满负荷运行。
关于发生这种情况的任何想法?
谢谢!
Twilio开发人员推广人员在这里。
在我看来,您要设置5个以上的同一呼叫Websocket流,以发送到您的服务器?如果是这样,您可能应该在开始另一个stopping a stream之前先进行研究。或仅启动并使用一个流。
[似乎还可以根据您正在向最终用户<Play>
发送的消息来进行语音识别,这背后的用例是?如果是这样,您是否考虑过改用<Gather>
with input="speech"
?这样,您将在webhook回调中以文本形式接收识别的语音,并且可以通过TwiML驱动整个呼叫,而不必使用REST API更新呼叫。