【问题标题】:Twilio testing outbound call with ngrokTwilio 使用 ngrok 测试出站呼叫
【发布时间】:2019-02-25 18:13:00
【问题描述】:

我正在尝试使用我的 Twilio“测试”凭据通过 Twilio 测试我的出站呼叫。这是一个 ASP.NET MVC 4 Web 应用程序,它托管 Twilio 的端点。由于我在本地主机上运行,​​它们将通过 ngrok(路由到本地主机的公共端点)命中。

我在 twilio 中配置了一个 [toll-free] 电话号码,语音请求路由到我的 ngrok url。

当我尝试在我的网络应用程序中执行我的测试出站呼叫时,我导航到一个测试控制器。它会触发一些最终执行的代码:

var call = _client.InitiateOutboundCall(
    new CallOptions
    {
        From = "+1" + _fromPhone, // twilio toll-free phone number with base site/ngrok url configured, ie http://{ngrokcode}.ngrok.io
        To = "+1" + phoneNumber, // phone that I want to "answer" and listen to the message
        Url = url, // ngrok url that points to my localhost endpoint to play message, ie http://{ngrokcode}.ngrok.io/message/{forCustomerId}
        IfMachine = "Continue"
    });

在这次通话中,“_fromPhone”是我在 twilio 中购买/配置的电话号码,免费电话号码,它是路由到我的 ngrok url 的电话号码。

“phoneNumber”是我要拨打的电话

“url”是我希望 twilio 命中的端点,因此它可以向收件人“说出”消息。

但是,使用这些测试凭据,电话永远不会中断。我不小心运行了同样的东西,但是使用生产凭据,电话确实出去了(并开始在我的手机上响起),但是当我接听时,它沉默了大约 15 秒,然后它终于说 twilio 遇到了一个错误。

查看意外生产调用的日志,它说它无法连接到我的 [ngrok] url。

那么,两个问题,为什么在使用我的测试凭据时电话没有被执行?而且,如果/当电话响起时,它为什么不执行/点击包含我的“说”动词的端点?

【问题讨论】:

  • 您的 ngrok 端点是否自行工作?

标签: c# twilio


【解决方案1】:

这里是 Twilio 开发者宣传员。

测试凭据不用于进行测试调用,它们用于确保对 API 的调用按预期工作,并且不会自行生成调用。 The docs say:

当您使用测试凭据进行身份验证时,我们不会向您的帐户收费、更新您的帐户状态或连接到真实电话号码

至于您何时使用您的真实凭据拨打电话,这里还有更多内容需要调查。

15 秒是 Twilio 在尝试连接到端点时将等待的超时。这表明 ngrok 正在工作并代理请求,但您的 Web 应用程序挂起或响应时间过长。

您可以从浏览器(或 Postman 或 curl)访问您的 ngrok 端点吗?当您访问它时,您的 Web 应用程序是否记录了任何可能有帮助的信息? ngrok 仪表板(在 ngrok 运行时可在 http://127.0.0.1:4040 获得)是否为您提供更多洞察力。

让我知道,我会用更多建议更新我的答案。

【讨论】:

    猜你喜欢
    • 2018-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-15
    • 1970-01-01
    相关资源
    最近更新 更多