Twilio 语音 - 客户端到客户端的呼叫失败

Twilio Voice - Client to client calls fail

只要在 phone 应用程序上从一个客户端到另一个客户端进行呼叫,呼叫就会以错误结束,并且 Twilio 控制台会显示拨出的客户端号码被转换为数字而不是 client:name。例如:client:adam.weissert 在 Twilio 控制台上显示为 254368232693477378。如果有帮助,我目前在 phone 上安装了应用程序 运行,并且正在尝试在我们相应的 Web 应用程序上调用登录用户。

根据我对注册 twilio 客户端的了解,它们都需要注册访问令牌。对于我所做的呼叫尝试,这应该不是问题,这让我很困惑这是怎么发生的。

这是用于拨出电话的代码

// Code that helps reproduce the issue
 private fun placeCall(callerID: String) {
        val nonAlphaNum = "[^a-zA-Z0-9]".toRegex()
        var callIdFormat = ""

        if (!callerID.contains(".")) { //if it is not a client id and is a number
            callIdFormat = callerID.replace(" ", "")
            callIdFormat = callIdFormat.replace(nonAlphaNum, "")
        } else {
            callIdFormat = callerID
        }

        params["To"] = callIdFormat

        val connectOptions = ConnectOptions.Builder(UserService.twilioAccessToken!!)
            .params(params)
            .build()

        activeCall = Voice.connect(requireContext().applicationContext, connectOptions, callListener)
    }

Twilio 尝试拨打客户端 ID,成功拨打我们的 twilio 号码,但无法拨出客户端。

该日志不在前端产生,而是在twilio控制台显示,只在呼出时显示

Dial: Twilio does not support calling this number or the number is invalid

我想说这是 SDK 的一个关键功能,这让我觉得我可能只是错误地处理了这个问题。如果有任何建议,我将不胜感激。

我发现我们用来拨出电话的 twiml 应用程序强制所有拨出使用 twiml.dial() 函数,该函数会将给定的字符串转换为可读的 phone 数字。

我将其切换为根据客户端 ID 或 ptsn 来区分 twiml.client()