寻找建议看看,是否可以实现一个"呼叫等待";使用Agora WebSDK的功能?我们有一个现场演员阵容,主持人在演出期间会接到观众的电话。我们希望:
- 当听众呼叫时,应将该呼叫放入队列
- 当呼叫者(在队列中(处于等待状态时;保持";音乐给呼叫者(但这可能不是绝对必要的(
- 主机可以一次将一个呼叫者排成队列并接听该呼叫
我可以想出两种可能的方法,我们可以在直播中实现这一点。
- 一种是在主持人接受呼叫后,让主叫观众作为主持人重新加入频道。但在队列管理方面会有很多"放手">
- 另一种方法是使用带外解决方案,如Twillio。在这种情况下,调用需要有一个单独的WebRTC连接
有什么建议吗?
"呼叫等待">您所描述的功能并不是使用Agora的视频Web SDK开箱即用的,而是非常有可能将Agora视频SDK与Agora RTM Web SDK一起使用。
您需要使用Agora的实时消息传递SDK来提供信令层。
使用RTM通道事件可以实现每次用户加入或离开RTM通道时的回调;信道消息";回调。
观众成员可以发送频道消息"em";呼入"发送给所有参与者,从而出现在他们所有屏幕上的队列中。或者,您可以选择通过管理员运行队列逻辑(以添加一层审核(。
在这种情况下;呼入"消息时,Admin用户的客户端可以将用户添加到队列中(或根据需要拒绝(。使用信道消息,管理客户端可以将信道消息发送到";通用通道";具有更新的队列详细信息。
管理员用户可以发送一个频道消息,让所有的客户端知道什么时候";呼叫者";被选择为将角色从观众(暂停(切换到广播员。这将使";弃权;因为管理员用户只发送一条消息,所有远程客户端都可以做出适当的反应。
我们为我们的"后台";观众连接。我们让制作人最初接收电话(多个队列,每个制作人一个(,以在音频/视频的内容和质量方面对呼叫者进行资格鉴定。对于那些可以继续的人,我们提供了一个新的渠道,让他们等到轮到自己晋升为主持人。每个新的队列都针对节目后台的不同位置(同样是多个制作人/主持人,每个站一个,他们进行采访,然后转到下一个来电者(。我们提供了一些后端服务来帮助保护队列。