Javascript 如何使用Twilio进行实时语音通话,而不只是在接听电话时播放MP3?

Javascript 如何使用Twilio进行实时语音通话,而不只是在接听电话时播放MP3?,javascript,asp.net-mvc,sip,twilio,telephony,Javascript,Asp.net Mvc,Sip,Twilio,Telephony,为了通过Twilio从笔记本中拨打电话号码,我创建了ASP.NET-MVC5.2应用程序 我可以拨打电话和接听电话,但我不知道如何实现现场语音(能够通话)连接,而不仅仅是播放音乐 我在HomeController中创建了一个操作方法: public ActionResult Call(string to) { client = new TwilioRestClient(Settings.AccountSid, Settings.AuthToken);

为了通过Twilio从笔记本中拨打电话号码,我创建了ASP.NET-MVC5.2应用程序

我可以拨打电话和接听电话,但我不知道如何实现现场语音(能够通话)连接,而不仅仅是播放音乐

我在
HomeController
中创建了一个操作方法:

  public ActionResult Call(string to) {
            client = new TwilioRestClient(Settings.AccountSid, Settings.AuthToken); 

            var result = client.InitiateOutboundCall(Settings.TwilioNumber, to, "http://twimlets.com/message?Message%5B0%5D=http://demo.kevinwhinnery.com/audio/zelda.mp3"); //it causes to play zelda theme when call is answered by callee

            if (result.RestException != null) {
                return new System.Web.Mvc.HttpStatusCodeResult(500, result.RestException.Message);
            }

            return Content("Call enroute!");
        }

 public ActionResult Index() {
            return View();
        }
$('form button').on('click', function(e) {
    e.preventDefault();

    // expect just a string of text back from the server 
    var url = '/call'; 
    $.ajax(url, { //invokes call action method
        method:'POST',
        dataType:'text',
        data:{
            to:$('#to').val()//passes the number argument to the action method
        },
        success: function(data) {
            showFlash(data);
        },
        error: function(jqxhr) {
            alert('There was an error sending a request to the server');
        }
    })
});
此操作方法由Ajax调用调用

当我在
Views\Home\Index.csthml
中点击按钮时:

    <form>
        <p>Enter your mobile phone number:</p>
        <input id="to" type="text"
               placeholder="ex: +16518675309" />
        <button>Send me a message</button>
    </form>
这会启动到指定号码的电话呼叫,即
48123456789
,其中
48
是国家代码。当被叫人接听电话时,会播放塞尔达主题。()

相反,我想通过笔记本电脑(它有内置麦克风)和我打过电话的人交谈,让这个人回话。简而言之,我希望有现场的声音

问题:如何在ASP.NET-MVC 5.x中使用Twilio实现实时语音通话

Settings.AccountSid
Settings.AuthToken
是我的凭据:

 public static class Settings
    {
        public static string AccountSid { get { return "A###############0"; } }
        public static string AuthToken { get { return "e###############0"; } }
        public static string TwilioNumber { get { return "4########1"; } }
    }

实现这一点的方法是使用拨号Twiml拨号可以选择几个选项之一;电话号码、SIPURL或Twilio客户端标识符。拨号的一个例子是CallMe twimlet,它可以在上找到,看起来像下面这样

<Response>
    <Dial>
        <Number>+44.........</Number>
    </Dial>
</Response>

+44.........
如果你的笔记本电脑上已经安装了一部软电话,那么你可以拨打它。如果你有Skype,你可以使用你的Skype电话号码


如果您没有安装软电话,您可以始终使用Twilio客户端,并在web浏览器中运行该客户端。

Twilio evangelist

如果您想通过浏览器拨打电话,您需要了解如何使用Twilio Client for JavaScript:

这将允许您将VoIP呼叫从浏览器放到Twilio中。一旦呼叫到达Twilio,您就可以通过另一个Twilio客户端、SIP端点或PSTN电话桥接该呼叫:


希望这能有所帮助。

我认为这是不可能的,除非你的笔记本上有VOIP软件。否则你就得把对方说的话录下来,听听,录下来,然后把你的录音输入到对twilio的回应中,Jacob Roberts他们直截了当地说一个人可以做到:但我找不到这种用法的例子。这个Twilio客户端不是我在
调用
操作方法中初始化的
Twiliorest客户端
?我已经可以打电话了。我的程序实际上会拨打我的手机号码并播放Zelda.mp3,但我希望能够通过该连接进行通话。你好,Devin,谢谢你的帮助。我知道我需要一个web浏览器端的Twilio客户端,几天后我遇到了这个问题:请看一下好吗?我只想通过电话进行语音连接。当前的答案也是我的建议。谢谢,我已经读了几遍了(在过去几天里),我遇到了appSid问题。你能检查一下其他主题吗,没有关于Twilio如何设置语音请求链接的信息。语音请求URL必须是Twilio可以向其发送HTTP请求的可公开访问的URL。您可以将网页或XML文件发布到公共托管网站(例如运行在Azure或AWS或Heroku或任何其他托管提供商上的网站),也可以使用ngrok之类的工具将运行在您自己的本地计算机上的web服务器公开为公共URL。这有用吗?