如何解决在asp.net中接收流式通话
我正在努力将Twilio集成到我们的产品中,但是,我在几个方面遇到了很多麻烦。
-
我们想要实现的是将实时对话流传输到我们的服务器,将语音转换为文本,并实时更改系统结果(无需网络响声)。据我了解,这是可以实现的,对吗?我可以从流中获取Sid,通过SID获得呼叫并进行更改吗?
-
第二个问题是技术性的。我查看了有关从Twilio接收流的python示例,并开始在C#(使用asp.net核心)中进行类似的工作。但是,运气不好。
就目前而言,我的目标非常简单,我只想确认我正在通过websocket接到电话。但是,我没有收到任何已建立连接的消息。我将提供两个代码示例。第一个文件是发起呼叫的控制器。第二个是一些拦截它的中间件。(我已经检查过websocket连接是否工作正常)。请告知我我在做什么错。
-
发起呼叫
// Find your Account Sid and Auth Token at twilio.com/console const string accountSid = "XXXX"; const string authToken = "XXXXX"; TwilioClient.Init(accountSid,authToken); var to = new PhoneNumber("XXXXX"); var from = new PhoneNumber("XXXXXX"); var response = new VoiceResponse(); var start = new Start(); // start.Stream(name: "Example Audio Stream",url: "wss://demohostedonAzure/callReceiverHub"); //this goes to the middleware start.Stream(name: "Example Audio Stream 2",url: "wss://demohostedonAzure/wss"); response.Say("I will sltream the next 30 seconds of audio through your websocket").Pause(60); response.Append(start); var call = CallResource.Create(to,from,twiml: response.ToString());
-
aspnet中间件拦截呼叫
app.Use(async (context,next) => { Console.WriteLine("Received WSS 0 at path {0}",context.Request.Path.ToString()); if (context.WebSockets.IsWebSocketRequest || context.Request.Path == "/ws" || context.Request.Path == "/wss") { Console.WriteLine("Received WSS 1 "); WebSocket webSocket = await context.WebSockets.AcceptWebSocketAsync(); await Echo(context,webSocket); } else { await next(); } });
我现在的目标非常简单。我想将呼叫流式传输到websocket。因此,我只想检查是否存在良好的连接。谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。