Twilio WebRTC客户端接收来电

时间:2019-02-05 15:34:08

标签: twilio

问题是:是否可以直接使用POST/Accounts/[AccountSid]/Calls API(或以下所述以外的任何其他方式)使用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网址下的说明。

如果在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

有什么想法吗?谢谢。

1 个答案:

答案 0 :(得分:1)

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

我基本上想念的是,在调用WebRTC客户端时,应在客户端ID前面加上client:-这样正确的请求是:

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

所以它就像一种魅力。