我尝试通过 Twilio 调用我的电话号码。我设法通过调用操作方法做到了这一点:
public ActionResult Call(string toNumber) {
client = new TwilioRestClient(Settings.AccountSid, Settings.AuthToken);
var result = client.InitiateOutboundCall(Settings.TwilioNumber, toNumber, "http://twimlets.com/message?Message%5B0%5D=http://demo.kevinwhinnery.com/audio/zelda.mp3");
if (result.RestException != null) {
return new System.Web.Mvc.HttpStatusCodeResult(500, result.RestException.Message);
}
return Content("Call enroute!");
}
当我接听电话时,会播放 url 中指定的 mp3。我想要现场 2 路音频。 在 Twilio 的一些示例中,例如:https://www.twilio.com/docs/quickstart/csharp/client/outgoing-calls我看到了功能 token 的用法:
var capability = new TwilioCapability(accountSid, authToken);
capability.AllowClientOutgoing(appSid);
capability.AllowClientIncoming("jenny");
string token = capability.GenerateToken();
和 Twilio 设备:Twilio.Device.setup('@token');
。
为什么在我的示例中甚至可以在不生成功能 token 的情况下调用电话?我能以某种方式在 C# 而不是 javascript 中创建 Twilio.Device
吗?我应该从 Controller 传递功能 token 作为模型吗?
最佳答案
Twilio.Device 命名空间专用于 Twilio 客户端库(适用于 iOS、Android 或 Web 浏览器的 JS 库)。如果您将智能手机或 Web 浏览器视为语音通信的可能设备,那么做您想做的事情会更容易一些。如果您希望能够在计算机上与您的手机通信,则必须在 .Net 中生成功能 token ,然后在浏览器中设置您的设备,以便您可以通过计算机进行通信。
在此处阅读有关功能 token 的更多信息: https://www.twilio.com/docs/client/capability-tokens
关于javascript - TwilioRestClient 和 Twilio.Device 之间有什么区别,为什么我可以使用 RestClient 调用但不能有现场语音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30334484/