0

我目前正在Twilio Video我的 Android 应用程序中实现,其中正常行为(以及我需要的行为)应该是:如果客户端 A 呼叫客户端 B,并且客户端 B 拒绝呼叫,则客户端 A 收到(onConversation)错误(对象TwilioConversationsException)包含code:107, message:Participant rejects the call.. 或者,如果客户端 A 调用客户端 B,并且客户端 B 未连接到 Twilio,则客户端 A 会立即收到错误消息code:106, message:Participant is unavailable at the moment.。此时我重试几次,直到用户连接并响应(接受或拒绝),或者在发起呼叫后 30 秒过去。

我正在基于此工作,但是在客户端 B 失去互联网连接或应用程序意外关闭后,我遇到了问题。重新连接到 Twilio 后,当客户端 B 拒绝呼叫时,客户端 A 收到错误code:106, message:Participant is unavailable at the moment.而不是code:107, message:Participant rejects the call.,从而欺骗客户端 A 认为客户端 B 已与 Twilio 断开连接(当他实际连接时),从而触发新的呼叫尝试。对于我一直在观察的情况,此问题与客户端 B 身份相关联,它以某种方式保持注册unavailable状态并且无法正常工作。如果我更改客户 B 的身份,行为会恢复正常,但这不是想法。我的意图是让身份成为我的用户 ID:唯一且固定。根据这个线程,在 iOS 中也发生了同样的事情:

Twilio iOS 视频通话:当用户拒绝通话时收到“用户不可用”错误消息

我会很感激一些帮助!此致!

4

1 回答 1

0

一位同事向 Twilio 寻求支持,并被告知:

嘿,天津,

这些工作流程在可编程视频中的当前对话 API 中存在一些挑战,我们正在努力在即将推出的产品中解决这些问题:新的房间 API。房间将允许您的用户通过您定义的名称或其唯一 ID (RoomSid) 连接到命名房间(多方电话会议)。使用此 API,您不必担心端点是否/何时在线——您只需让您的用户连接到正确的房间,他们就可以彼此共享语音和视频。

Rooms API 将在几周内推出,我认为它更适合您的用例。如果您需要更紧急的解决方案,我建议您使用第三方通知产品,如 Firebase 或 PubNub,以确保两个参与者都“清醒”并连接,然后启动邀请流程。

如果您对此有任何疑问,请告诉我。感谢您尝试可编程视频,

问候, Rob Brazier

于 2016-09-14T13:10:53.403 回答