Android/iOS 上的 Twilio 可编程语音 - 拨打电话时传递自定义信息

Twilio Programmable voice on Android/iOS - Passing custom information when making a call

在 Android/iOS 上使用 twilio 移动 SDK 向后端的支持操作员进行语音呼叫(纯 voip,两端都没有 phone。支持操作员将使用后端 Web使用 twilio api/twiml 接收和排队呼叫的应用)

我们有一个非常重要的要求 -- 在拨打电话时能够将用户 ID 从移动应用程序传递到后端。这是后端网络应用程序能够为在浏览器中接听电话的支持接线员自动提取用户信息所必需的。

这是否可以通过任何方法使用移动 SDK?任何见解将不胜感激

编辑:我是否可以在拨号时使用此用户 ID 作为来电显示参数,并在 Web 应用程序端读取它?

在使用 Twilio 函数一天后,我想出了以下解决方案。

  1. 移动应用获取访问令牌、访问 Twilio 语音端点、路由到队列、等待音乐播放等。

  2. 操作员(网络应用程序)获取访问令牌,点击 Twilio 语音端点,并自动使第一个呼叫者从队列中出队(即连接到他们)

  3. 在运算符出队的TwiML中,有一个参数url,它是一个TwiML URL,将在调用者之前在排队的调用者端获取并执行连接到运营商。 Twilio给这个URL传递了一堆参数,包括调用者身份和运营商的调用sid

  4. 我们将在后端托管此 URL,并存储 {caller identity, operator call sid} 的映射。

  5. 话务员拨号后,话务员web app会轮询后台,直到返回当前话务员呼叫sid对应的来电身份。或者后端可以向运营商网络应用程序发送某种推送通知。这取决于实现(我们将使用 websockets)

更多信息请参阅https://www.twilio.com/docs/voice/twiml/queue

编辑 - Twilio javascript API 1.5 支持访问令牌而不是功能令牌,因此将它们用于移动应用程序和 Web 应用程序更简单。

编辑 2 - 今天测试了这个流程并且工作正常:-)