我正在尝试通过Twilio测试我的呼出呼叫,使用我的Twilio“测试”凭证。这是一个TwilioMVC4Web应用程序,托管了供ASP.NET使用的端点。由于我在localhost上运行,它们将通过ngrok (路由到您的localhost的公共端点)进行访问。
我在twilio中配置了一个免费电话号码,语音请求将路由到我的ngrok url。
当我尝试在我的web应用程序中执行我的测试呼出呼叫时,我导航到一个测试控制器。它会触发一些代码,最终执行以下代码:
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。
那么,有两个问题,当使用我的测试凭据时,为什么电话呼叫没有执行?而且,如果/当电话呼叫发出时,为什么它不执行/命中包含我的“说”动词的端点?
发布于 2019-03-04 14:45:48
Twilio开发者的布道者在这里。
测试凭据不用于进行测试调用,它们用于确保对API的调用按预期工作,并且不会自己生成调用。The docs say
当您使用测试凭据进行身份验证时,我们不会向您的帐户收费,不会更新您的帐户状态,也不会连接到真实电话号码。
至于您何时使用真实凭据进行了呼叫,这里有更多需要查看的内容。
15秒是Twilio在尝试连接到端点时等待的超时时间。对我来说,这表明ngrok正在工作并代理请求,但您的web应用程序挂起或响应时间太长。
您可以从浏览器(或Postman或curl)访问ngrok端点吗?当您访问web应用程序时,您的web应用程序是否记录了一些可能会有所帮助的内容?ngrok仪表板(在ngrok运行时在http://127.0.0.1:4040上可用)是否给了您更多的洞察力。
让我知道,我会用更多的建议更新我的答案。
https://stackoverflow.com/questions/54872321
复制相似问题