Twilio ClientQuickstart无法正常工作

问题描述:

我遇到了the Twilio ClientQuickstart project for C#/js问题。根据Twilio的支持,该项目应该“开箱即用”,但它不适合我。我希望能够通过电话呼叫浏览器,从浏览器呼叫电话,并与每个人的谈话(没有电脑读取消息)。我尝试了一些没有成功的更改,现在我回到原始项目,其中只有本地配置中的appsettings。 TwilioAccountSid,TwilioAuthToken和TwilioTwimlAppSid都是正确的,并且TwilioCallerId被设置为我的twilio语音编号。设置正常,设备在每次通话之前准备就绪。Twilio ClientQuickstart无法正常工作

现在我使用ngrok主办的网站。 twilio控制台中twiml应用的语音请求网址设置为从ngrok提供的带有/语音的网址。

既不叫也不向外倾诉一个人的工作。当从浏览器呼叫电话时,我只听到来自twilio的自动'Congratulations'消息。如果我在“拨打电话”文本框中根本没有输入数字,则会得到完全相同的结果。

当调用twilionumber,我听到铃声在我的手机,但什么也没有发生在浏览器中。调试表明VoiceController的Index方法被重复调用,产生了很多响应对象,直到调用超时。这导致twilio控制台呼叫日志中的呼入/呼出电话列表,其中第一个'from'是我的电话号码(并且twilion数字为'to'),其余两个电话号码都是从和到,在'传入'和'外拨'每秒钟。

public ActionResult Index(VoiceRequest request) { 

    var callerId = ConfigurationManager.AppSettings["TwilioCallerId"]; 
    var response = new TwilioResponse(); 

    if (!string.IsNullOrEmpty(request.To)) { 
     // wrap the phone number or client name in the appropriate TwiML verb 
     // by checking if the number given has only digits and format symbols 
     if (Regex.IsMatch(request.To, "^[\\d\\+\\-\\(\\) ]+$")) { 
      response.Dial(new Number(request.To), new { callerId }); 
     } 
     else { 
      response.Dial(new Client(request.To), new { callerId }); 
     } 
    } 
    else { 
     response.Say("Thanks for calling!"); 
    } 
    return TwiML(response); 
} 

我已经搜索,但似乎无法找到任何有关此类问题的任何信息。如果有人能够就此问题发表看法,我将非常感激。

Twilio开发人员在这里传播。

dialling from the browser你需要确保你进入浏览器应用真正的电话号码或其他客户端名称。

enter image description here

这条线:if (!string.IsNullOrEmpty(request.To)) {正在检查传入请求有号码或客户端,它试图转盘。如果你不输入任何内容,它只会落在祝贺信息上。如果您输入要拨号的号码,您是否可以登录或调试以查看是否有号码被发送?

在另一方面,如果你尝试,然后再次拨打您的Twilio号由外线电话,数量会再继续尝试拨打自己,因为你亲眼目睹。

这种快速启动的目的是让你去制作,并在浏览器中接听电话,要么以其他浏览器或手机网络。您需要做更多的工作才能让来自电话网络的来电发生在您的浏览器中。

你可以做的是,如果输入request.To是你的Twilio号,然后返回到TwiML到<Dial>你知道现在登录一个<Client>名。

+0

谢谢菲尔,'客户'的'拨号'工作!但是,这样做的正确方法是什么? (我只是假设自从你说“你能做什么,是......还有更好的方法”)。 在拨出电话时,我输入了一个真实的电话号码,并尝试了几个不同的号码。 试图通话时,testproject中的输出窗口打印出: >请求功能令牌... >得到了一个令牌。 > Twilio.Device准备就绪! >成功建立呼叫! >挂起... >通话结束。 javascript将数字输出到控制台,但只听到'祝贺'。 –

+0

如果你想查看一个更完整的项目,不仅仅是快速入门,然后看看本教程[使用Twilio客户端进行调用](https://www.twilio.com/docs/tutorials/walkthrough/)浏览器的呼叫/ CSHARP/MVC)。 – philnash

+0

我跟从快速启动一样,从BrowserCalls项目调用同样的问题。我已经创建了一个真正的电话号码票,并尝试从仪表板调用它。根据本教程,twilio会将电话号码传递给/ Call/Connect(请求URL)。我在CallController的Connect方法中设置了一个断点,但它永远不会到达。根据通话状态的更新,我看到号码是正确的。 当试图从我的电话呼叫到浏览器(查看仪表板,作为support_agent)时,Connect方法被调用并且呼叫通过。 –