twilio-twiml - 是否可以在调用客户端而不是数字时控制 callerid 输出?
问题描述
在拨打电话号码时使用 Twilio 必须将有效的电话号码作为来电显示。但是,在呼叫移动客户端时,呼叫者 ID 的文档很少。 callerid 的 Twml 文档说:
如果您正在拨打电话
<Client>
,您还可以将有效的客户端标识符设置为 callerId 属性。例如,如果您为来电设置了一个客户端并且正在拨打该客户端,则可以将 callerId 属性设置为 client:joey。
然而,当我这样做时,客户在他的来电显示中看到的是文字字符串'client:joey'。 如果我想让来电显示“joey”或“Joey Joestar”怎么办?
什么构成“有效的客户标识符”?我可以将其设置为任何字符串吗?还是我必须进行一堆 api 调用或预先设置更改才能实现这一点?(该系统上是否有任何文档?)
解决方案
客户端身份不允许使用特殊字符或空格,并且callerId 必须是有效的客户端身份。有效字符为a-Z0-9和_。您可以为用户使用唯一的哈希,或者例如映射UUID 并将连字符替换为下划线。
您可以向<Dial>动词添加其他参数,这些参数将发送到客户端 SDK,您可以在来电时显示它们。在您的示例中,如果您给Alice打电话并且想要显示Joe's name,它将看起来像这样。
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>
<Client>
<Identity>alice</Identity>
<Parameter name="callerName" value="Joey Joestar"/>
</Client>
</Dial>
</Response>
https://www.twilio.com/docs/voice/how-share-information-between-your-applications#dialclient
推荐阅读
- java - 在 java 8 中使用计数器从对象创建映射的快捷方式
- python - 使用 Python 推断“中间”文件内容
- mysql - MYSQL 主从 DISK SPACE 的区别
- mongodb - mongo findOneAndUpdate 创建重复记录
- selenium - Selenium 在 Mac 上打开 Google Chrome 而不是 Chromium
- flutter - Flutter 将小部件直接保存到图像中
- xcode - 如何在发布适用于 iOS 的 Nativescript 应用程序时启用自动签名?
- json - 在 SwiftUI 列表中显示 JSON 字典
- java - 将 RecyclerView 中单击的正确项目位置返回到另一个活动
- html - 无法在 IE11 上输入表单输入