微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将语音流 websocket目标是 Google Voice API连接到 Twimlets 会议

如何解决如何将语音流 websocket目标是 Google Voice API连接到 Twimlets 会议

在我现有的应用程序中,我们使用 https://www.twilio.com/labs/twimlets/conference 功能

var strURI = "http://twimlets.com/conference?Name=" + channelId.ToString() + "&Message=Welcome&Music=http://bter.com/radio/radio2.xml";
TwilioClient.Init(_twilioConfiguration.AccountSid,_twilioConfiguration.AuthToken);
var application = await ApplicationResource.CreateAsync(voiceUrl:new Uri(strURI),friendlyName: channelId.ToString());

然后,我的应用允许用户在他们的浏览器中加入一个特殊的音频会议桥来参与培训。不涉及任何电话号码。

我们需要将流路由到 Google Speech to Text API,以便我们可以使用自定义词典。

在我发现和练习的例子中

twilio phone-numbers:update 14805551212 --voice-url http://b74c35a792ff.ngrok.io

电话号码似乎是在 Twilio 中配置的,因此在连接时会打开一个到端点的 Web 套接字流(示例中常见的是 ngrok 端点代理)。

在我的情况下,我希望以编程方式告诉动态创建的会议室打开到特定端点(例如 http://b74c35a792ff.ngrok.io)的语音流。

是否有可以对 Twilio 进行的 API 调用或可以添加到 twimlets.com/conference 的其他设置来实现此目的?

解决方法

这里是 Twilio 开发者布道者。

当您在 Twilio 中使用语音 URL 设置电话号码时,它不会通过网络套接字连接。相反,当向 Twilio 号码拨打电话时,它会向您提供的语音 URL 发出 HTTP 请求,即 webhook。同样,当您通过 REST API 创建新调用并提供 URL 时,Twilio 将在调用连接时向该 URL 发出 HTTP 请求。

在这两种情况下,Twilio 都会要求您的应用程序提供下一步操作的说明。这些指令是通过使用名为 TwiML 的 XML 子集响应 HTTP 请求来提供的。 XML 元素和属性描述了 Twilio 下一步应该对调用执行什么操作,例如 speaking a messageplaying an audio filegathering user inputdialling 另一个 number 或进入 {{ 3}}。

当您使用会议 Twimlet 时,您提供的 URL 会返回 TwiML 以将呼叫定向到会议。

会议 Twimlet 不提供任何方式来流式传输音频。事实上,除非您从字面上拨入会议本身,否则一般会议并不容易获得音频。在重定向到会议 Twimlet 之前,您可以设置通过 conference 将每个会议参与者的音频流式传输到您自己的 websocket 服务器。

抱歉,这不是一个完整的答案,但希望它有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。