【问题标题】:Twilio in a Development Environment开发环境中的 Twilio
【发布时间】:2014-09-03 20:08:12
【问题描述】:

我想为我们的应用程序开发一个浏览器到浏览器的调用功能,但在代码发布到生产环境之前,所有浏览器都在内部网络上针对 mydomain.local 地址运行。我可以拨出电话并获得试用消息,但我假设该呼叫没有通过目标浏览器,因为它没有在公共站点上运行。有没有办法解决?我认为这是一种常见的情况。

更新:详细信息:这是为了让网页 A 上的客户服务用户调用客户网页 B1(使用 Twilio 连接代码)和 B2(使用 TwiML,如教程中所述):

A(客户服务端)

call: function () {
         var phone = { 'PhoneNumber': ' 444e0d6c161644a6a27a305332a4cbbd') };
         Twilio.Device.connect(phone);
          $(".call").hide();
          $(".hang-up").show();
        },

B1:(客户页面) …… 能力.AllowClientIncoming("444e0d6c161644a6a27a305332a4cbbd"); ....

B2:(从客户页面启动) 444e0d6c161644a6a27a305332a4cbbd

我的 VoiceURL 配置为指向 B2;

A 和 B 都在运行 Twilio 设置代码,调用“就绪”函数。

在客服端触发call方法时,播放Twilio演示消息,我“按任意键继续”后挂断;

B1 从不接听来电。同样,拨打我的 Twilio 电话号码只会播放默认演示消息,并且似乎无法连接到网页。

文档很简陋,感觉确实少了一块。

【问题讨论】:

    标签: twilio


    【解决方案1】:

    Twilio 布道者在这里。

    这可能是因为您的防火墙阻止了入站 ports needed for Twilio Client。如果是这样的话,除了打开它们之外,我认为没有什么可以做的。

    在您开始考虑使用防火墙之前,我将首先通过处理error function 仔细检查您的第二个 Twilio 客户端实例是否在加载时实际上连接到 Twilio,并且我还将打开您的浏览器开发者控制台并确保没有报告 JavaScript 错误。您还可以在调用 setup 函数时包含“调试”参数,以使 Twilio 客户端将调试信息记录到浏览器控制台。

    最后,我将验证您用于将呼叫转发到该客户端的 TwiML 是否生成正确,其中包括具有第二个客户端注册的正确名称的 <Client> 名词。

    希望对您有所帮助。

    【讨论】:

    • 谢谢,德文。我没有找到关于这些端口的文档。你是说,如果接收客户端向 twilio 注册自己并且端口是打开的,那么它应该可以工作,即使在专用网络中?我在哪里可以找到有关需要打开哪些端口的信息。我当然会先做其他步骤。谢谢!
    • 我已更新我的答案以包含指向具有 Twilio 客户端端口详细信息的常见问题解答的链接
    • 非常感谢。还有一个问题,只是为了让我了解这是否可能。当浏览器通过执行以下操作在名称 X 下注册时:AllowClientIncoming(X),即使它在 192.168.xx 或 developername.domain.local 上运行,只要端口打开并且使用生成的令牌进行设置调用通过“传入”功能,Twilio 应该能够将传入呼叫定向到它。对吗?
    • 是的,没错。客户端不必拥有公共 IP 即可接收来自 Twilio 的呼叫。但是,您分配给 TwiML 应用程序的 URL 必须公开托管,以便 Twilio 可以向它发出 HTTP 请求。希望对您有所帮助。
    猜你喜欢
    • 2021-06-12
    • 1970-01-01
    • 2014-10-21
    • 2010-11-01
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多