Javascript TwilioRestClient和Twilio.Device之间有什么区别,为什么我可以使用RestClient调用,但是可以';你没有现场声音吗?

Javascript TwilioRestClient和Twilio.Device之间有什么区别,为什么我可以使用RestClient调用,但是可以';你没有现场声音吗?,javascript,asp.net-mvc,twilio,Javascript,Asp.net Mvc,Twilio,我试着在黄昏前拨打我的电话号码。我通过调用操作方法实现了这一点: public ActionResult Call(string toNumber) { client = new TwilioRestClient(Settings.AccountSid, Settings.AuthToken); var result = client.InitiateOutboundCall(Settings.TwilioNumber, toNumber, "http://twi

我试着在黄昏前拨打我的电话号码。我通过调用操作方法实现了这一点:

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。我想要现场双向音频。 在Twilio的一些示例中,我看到了capability token的用法:

var capability = new TwilioCapability(accountSid, authToken);
    capability.AllowClientOutgoing(appSid);
    capability.AllowClientIncoming("jenny");
    string token = capability.GenerateToken();
和Twilio设备:
Twilio.Device.setup(“@token”)


在我的示例中,为什么我甚至可以在不生成容量令牌的情况下拨打电话?我是否可以用C语言而不是javascript创建
Twilio.Device
?我是否应该将功能令牌作为模型从控制器传递?

Twilio.Device名称空间是Twilio客户端库的专有名称空间(对于iOS、Android或用于web浏览器的JS库)。如果你认为你的智能手机或网络浏览器是一种可能的语音通信设备,那么做你想做的事情就会容易一点。如果希望能够在计算机上与手机通信,则必须在.Net中生成功能令牌,然后在浏览器中设置设备,以便可以通过计算机进行通信

在此处阅读有关功能令牌的更多信息:

非常抱歉,我感到困惑,我想用笔记本上的Chrome来拨打普通电话(手机、标准电话)。据我所知,我需要:1.在服务器端(控制器)生成能力令牌2。将其传递到客户端(浏览器)3。使用Twilio客户端\n请纠正我,我在“智能手机或网络浏览器的设置”和“在浏览器中设置设备”中感到困惑。谢谢你的帮助。很抱歉给你添麻烦。你的理解完全正确。您可以进行出站呼叫,然后从操作结果中请求twimlet,原因是您不需要设置设备来执行此操作。你所做的只是向Twilio发送指令。要在笔记本电脑上实际使用chrome,您需要执行上述操作,并使用生成的功能令牌初始化twilio设备。