本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
启用多用户应用内通话、网络通话和视频通话
Amazon Connect 支持在现有通话中添加其他用户以加入应用内通话、网络通话和视频通话。您最多可以将四个其他用户添加到正在进行或预定的应用内、网络或视频通话中,共有六个参与者:代理、第一个用户和四个其他参与者(用户或代理)。
如何在多用户通话中添加参与者
-
要启用多用户通话,您需要从 Amazon Connect 控制台启用增强的多方联系人监控。
-
完成后,您可以利用现有 Amazon Connect StartWebRTCContactAPI 创建联系人,并将此联系人路由给代理。
-
要添加其他参与者,请先创建一个
ContactId
从 StartWebRTCContactAPI 响应传入 API 的CreateParticipant参与者。 CreateParticipant在原始呼叫者连接到代理之前,不会成功。可以在ParticipantDetails.ParticipantCapabilities
现场设置参与者的视频和屏幕共享功能。 -
成功CreateParticipant完成后,它将返回一个参与者令牌。此令牌可以在
Type
设置为的请求中使用WEBRTC_CONNECTION
。CreateParticipantConnection响应中包含ConnectionData哪些可用来加入会议的 Amazon Chime SDK 客户端库为创建的其他参与者。按照集成说明进行操作,允许您的应用程序最终用户加入会议。注意
CreateParticipant如果代理尚未连接到联系人,则返回 Bad Request 错误。有关用户可能在连接代理之前尝试加入的业务应用程序,请参阅处理并发用户加入。
-
其他客户可以在CreateParticipantConnection退货后随时连接。参与者加入后,所有其他语音和录音行为都与多方功能类似。如果请求中启用了新参与者的视频和屏幕共享功能,则他们可以启用他们的视频和屏幕共享。CreateParticipant
注意
任何时候总共只有 6 名参与者(客户和代理)可以加入正在进行的呼叫。Amazon Chime SDK 客户端库会返回一个状态代码,表示在加入会议期间采取行动添加超出限制的额外参与者时,该呼叫已满员。
-
在参与者连接到呼叫,然后优雅地断开连接,或者在预先配置的时间内以非优雅方式断开连接后,他们的参与者凭证将不再有效。如果客户端库
onAudioVideoDidStop
旁听者收到指示与会者不再有效的状态码,则应用程序可以触发CreateParticipant与CreateParticipantConnection您的业务后端的新呼叫以重新加入该呼叫。 -
每增加一个用户连接, Amazon Connect 就会创建一个新的联系人和联系人记录。所有其他联系人均已 PreviousContactId 设置为 InitialContactId (即由 StartWebRTCContactAPI 创建的联系人),以便将其追踪到原始联系人。每份联系人记录:
-
有一个” InitiationMethod “:” WEBR TC_API”
-
具有以下区段属性:
"SegmentAttributes": { "connect:Subtype": { "ValueString": "connect:WebRTC" } },
此外,每条联系人记录都有中提供的显示名称
CreateParticipant
。不会填写任何其他用户联系人的代理信息。这是为了避免代理信息的重复。下图说明了在网络、应用程序内或视频通话中添加多个参与者和代理的场景中,如何映射上一个和下一个联系 IDs 人。
-
处理并发用户加入
企业可能希望创建用户可以随时按任意顺序加入的应用程序。例如,您的应用程序可能会通过电子邮件将带有外部预约 ID 的链接发送给多个用户,这些用户应使用这些用户在预定时间加入通话。要实现这种行为,业务后端必须确保:
-
第一个加入的用户会触发 StartWebRTCContact 请求。
-
所有其他用户都使用 CreateParticipant 和, CreateParticipantConnection但仅在第一个用户连接到代理之后。
本节介绍一种可能的实现,假设您的业务后端包含可以保存有关预约的元数据的商店(如 DynamoDB)。请注意,预约不是示例实现的功能 Amazon Connect,而是其中的一个特征。
当用户导航到该页面时,他们应该向后端发送请求。后端检查:
-
用户是否能够开始预约,以及时间是否正确。
-
Amazon Connect 联系人是否已通过呼叫创建StartWebRTCContact。
如果尚未创建联系人,则客户应使用自定义流程调用 StartWebRTCContactAPI,并提供一个属性,该属性表示预计将加入呼叫的相应座席的座席队列。该流程应包含一个 Set 工作队列块,该块配置为使用属性中提供的代理队列。然后,流程应以 “转移到队列” 区块终止。在调用 API 之前,后端应以原子方式更新存储区,将调用从 “无” 状态移至 “正在创建” 状态,并处理任何并发修改异常。
StartWebRTCContact应将来自的凭证退还给客户,他们应立即加入通话。应在企业商店中将联系人标记为 “已创建”,并附上联系人 ID。此商业 API 需要在所有可能加入的与会者之间同步。这可以通过使用数据库提供的原子操作来完成。
如果联系人处于创建状态,则应将其他用户返回到此状态,显示相关信息,然后稍等片刻后重试。
如果联系人已创建:他们应检索联系人 ID,然后调用 DescribeContactAPI。业务后端应该寻找该Contact.AgentInfo.ConnectedToAgentTimestamp
领域。如果不存在,则表示第一个用户尚未连接到代理,其他用户应显示相关信息,稍等片刻后重试。
如果该字段存在,则后端应调用 CreateParticipantCreateParticipantConnection,然后调用 get ConnectionData,如前几节所述。
后端流程应如下所示。

您可以参阅 Amazon Connect 应用程序内调用示例
代理人不会使用同一个网站加入。代理应将其在 “联络控制面板” 中的状态设置为 “可用”。当第一个客户加入时,系统会自动呼叫代理。
计费
额外参与者的账单等同于初始客户和通话中任何代理的现有账单。音频、视频和屏幕共享均由参与者自己收取特定费用。
按住行为
在视频通话或屏幕共享会话中,即使参与者处于等待状态,代理也可以看到参与者的视频或屏幕共享。参与者有责任相应地处理 PII。如果使用本地 CCP 应用程序,则如果有任何非代理参与者处于暂停状态,则座席视频将被禁用。如果要更改此行为,可以构建自定义 CCP 和通信控件。
有关更多信息,请参阅 将应用内、Web、视频通话和屏幕共享原生集成到您的应用程序中。
限制
在创建其他应用程序内、Web、视频通话和屏幕共享参与者时,存在以下限制:
-
如果原始联系人是在客户视频功能设置为 “无” 的情况下创建的,则其他参与者无法将视频功能设置为 “发送”。