twilio - Twilio WebRTC 客户端接收来电
问题描述
问题是:是否可以直接使用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 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。
有任何想法吗?谢谢。
解决方案
我错过了文档的重要部分,可以在这里找到。
我基本上错过的是,当您调用 WebRTC 客户端时,您应该在 clientID 前面加上client:
- 所以正确的请求是:
{
"from": "+1-202-555-0112",
"to": "client:the_user_id",
"url": "https://your-server.com/twilio_ml/webhook.xml"
}
所以它就像一个魅力。
推荐阅读
- bash - 杀死 Bash 脚本中的工作
- python - 树莓派 + 相机 + 步进电机 + Open CV
- node.js - 安装 Angular CLI Ubuntu 时出现多个错误
- express - 当我做一个 POST 时,数据没有保存在 MongoDB 中,只保存了 _ID
- c# - 哪种类型的指纹读取器更适合 .Net Framework
- python - 意外的 SettingWithCopyWarning:
- c# - 如何在绑定到 C# WPF 中的枚举的 Datagrid 中填充组合框
- c# - 使用 API 密钥在 Xamarin 中调用 API
- sql - 从 >8000 字符 SQL 链接服务器查询的结果创建表
- java - JNI 错误:一个类已由 Java 运行时的更新版本编译