【问题标题】:Twilio Programmable voice on Android/iOS - Passing custom information when making a callAndroid/iOS 上的 Twilio 可编程语音 - 拨打电话时传递自定义信息
【发布时间】:2018-08-20 17:28:45
【问题描述】:

使用 Android/iOS 上的 twilio 移动 SDK,向后端的支持运营商发出语音呼叫(纯 voip,两端都没有电话。支持运营商将使用使用 twilio api/twiml 的后端 Web 应用程序接收和排队呼叫)

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

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

编辑:我可以在拨号时使用这个用户 ID 作为 callerid 参数,并在网络应用程序端读取它吗?

【问题讨论】:

  • PS:我已经看到了使用 twilio javascript API 为 Web 客户端执行此操作的方法,但不确定是否有与 Android/iOS 等效的方法
  • 您是如何在网络上看到它的?
  • 引用 Client (JavaScript) Twilio.Device.connect() 有一个可选的 params 参数,它允许将 JavaScript 对象作为 POST/GET 参数传递给应用程序。例如,以下代码会将参数 app=Support 和 location=Seattle 传递给与此设备的功能令牌关联的 Twilio 应用程序。 var connection = Twilio.Device.connect({ app:"Support", location:"Seattle"});
  • 谢谢。我有一个类似的question。有什么线索吗?
  • 你不能只添加参数here我在这里也看到params

标签: mobile parameters sdk twilio voice


【解决方案1】:

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

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

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

  3. 在用于操作员出队的 TwiML 中,有一个参数 url,它是一个 TwiML URL,在调用者连接到操作员之前,将在排队的调用者端获取并执行该 URL。 Twilio 向这个 URL 传递了一堆参数,包括调用者身份和操作员的调用 sid

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

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

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

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

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

【讨论】:

  • 现在部署在我们的预生产代码中并且工作正常!以防将来有人想使用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多