首页 > 解决方案 > Twilio WebRTC 客户端接收来电

问题描述

问题是:是否可以直接使用POST/Accounts/[AccountSid]/CallsAPI(或以任何其他方式,除了下面描述的方式)使用 clientID 发起对浏览器的传入调用?

文档说是的,但是当我提供clientId这样的:{ "to": "the_user_id" }时,我遇到了一个非常令人困惑和奇怪的错误:

{
"code": 21215,
"message": "Account not authorized to call +843873743. Perhaps you need to enable some international permissions: https://www.twilio.com/console/voice/calls/geo-permissions/low-risk"
}

我不知道那个数字是+843873743多少。似乎 twilio 在内部尝试调用它而不是我提供的 clientId 值。

如果我提供真实的电话号码(例如+1821...等),它可以正常工作 - { "to": "+1821..." }。它按预期进行调用,它遵循我提供的 WebHook url 下的说明。

如果在 TwiML 中提供以下 XML,我也可以工作:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Say>Calling WebRTC client</Say>
    <Dial callerId="+38312312312312">
        <Client>the_user_id</Client>
    </Dial>
    <Say>Bye</Say>
</Response>

但是上面的解决方案要求我必须先拨打一个真实的电话,然后在对话中添加一个 WebRTC 客户端。我想先调用 WebRTC 客户端,然后像往常一样使用 TwiML 添加任何其他人。

我所做的是我正在玩twilio quickstart js example

有任何想法吗?谢谢。

标签: twilio

解决方案


我错过了文档的重要部分,可以在这里找到。

我基本上错过的是,当您调用 WebRTC 客户端时,您应该在 clientID 前面加上client:- 所以正确的请求是:

{
  "from": "+1-202-555-0112",
  "to": "client:the_user_id",
  "url": "https://your-server.com/twilio_ml/webhook.xml"
}

所以它就像一个魅力。


推荐阅读