iOS Nexmo SDK拨打应用语音自定义答案网址中的电话号码

问题描述

我正在关注Nexmo文档here,我再也找不到了iOS文档(神秘) 尤其是文档谈论了它说的Answer URL

您应将CALLEE_PHONE_NUMBER替换为要拨打的号码。但是,最终,实际调用的号码是Answer URL Webhook中提供的号码。在实际的用例中,您将创建一个服务器组件作为Answer URL。该应用程序将通过Answer URL将CALLEE_PHONE_NUMBER发送到您的后端,后端将对其进行验证,然后将其提供给返回的JSON。

注意:您创建的要点特定于本教程。在实际情况中,答案URL应该由专门构建的Web解决方案提供。您的后端应提供可用于自定义NCCO的服务,并且在这种情况下,应接收并验证从应用程序拨打的电话号码。

因此,我创建了一个自定义后端,该后端带有一个?to参数,该参数返回有效的json,如下所示: GET https://mycustomurl.herokuapp.com/hello?to=18052425555

[{"action":"talk","text":"Please wait while we connect you."},{"action":"connect","timeout":20,"from":"14697938019","endpoint":{"type":"phone","number":"18052425555"}}]

我将自定义网址放在仪表板中的应用程序中,如下所示... https://mycustomurl.herokuapp.com/我还尝试了其他许多变体,例如完整路径/ hello等。

当我通过应用发出呼叫时...如何引用此端点?参数是自动to(nexmo支持人员告诉我的)吗?我要传递网址吗?

我尝试了所有这些组合:

client.call("https://mycustomurl.herokuapp.com/hello?to=18052428083",callHandler: .server)
client.call("hello?to=18052428083",callHandler: .server)
client.call("18052428083",callHandler: .server)

我无法使用它,也无法在文档中找到有关如何使用自定义后端答案网址的任何内容。任何帮助将不胜感激。

解决方法

我们转了一些东西,对重定向不起作用表示歉意。这是step by step tutorial on making a call from the app

您的自定义网址不需要任何参数,但是您需要更新仪表板以使用https://mycustomurl.herokuapp.com/hello

在应用中,您调用client.call("44000000000",callHandler: .server),这将向您的自定义网址发出GET请求。对自定义网址的请求将在其查询中包含一个JSON对象,如下所示:

{
  to: '44000000000',from_user: 'Alice',conversation_uuid: 'CON-7a15150b-121d-42b7-91eb-23ccefdcbf5e',uuid: 'NONE'
}

JSON对象中的to值将是应用程序中提供的数字。您可以使用它来填写要返回的NCCO,例如:

[
    {
        "action": "talk","text": "Please wait while we connect you."
    },{
        "action": "connect","endpoint": [
            {
                "type": "phone","from": request.body.from_user
                "number": request.body.to
            }
        ]
    }
]

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...