问题是:是否可以直接使用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。
有什么想法吗?谢谢。
答案 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"
}
所以它就像一种魅力。