Lync Server 2013 中持久聊天服务器的工作原理

 

上次修改的主题: 2012-11-21

Lync Server 2013 持久聊天服务器使你能够参与持续一段时间的多党、基于主题的对话。 持久聊天服务器可以帮助组织执行以下操作:

  • 改善地理分散团队和跨职能团队之间的沟通

  • 扩大信息意识和参与

  • 改善与扩展组织的通信

  • 减少信息重载

  • 提高信息意识

  • 增加重要知识和信息的分散

可以使用 Lync Server 2013 将持久聊天服务器部署为可选角色。 持久聊天服务在专用池上运行,持久聊天服务器池依赖于 Lync Server 池将消息路由到该池。 客户端通过 SIP (XCCOS) 使用可扩展聊天通信。 Lync Server 前端服务器配置为将流量路由到持久聊天服务器池。

High-Level体系结构

下图提供了持久聊天服务器体系结构和服务的高级视角。

持久聊天服务器高级体系结构

持久聊天服务器体系结构。

持久聊天服务器高级服务

持久聊天服务器组件。

在持久聊天服务器前端服务器上运行两个服务:

  • 持续聊天 (频道)

  • 合规性

持续聊天 (频道) 服务

持久聊天 (频道) 服务是负责持久聊天服务器的核心服务。 此服务提供以下函数:

  • 接受传入消息

  • 注册并列出持久聊天室内的联机参与者

  • 向其他通道订阅者重新传输消息

  • 实现频道管理、聊天室邀请、搜索和新内容通知的逻辑

持久聊天 (频道) 服务存储和访问聊天室内容和其他系统元数据 (授权规则等) 使用持久聊天存储。 此服务存储上传到持久聊天文件存储中聊天室的文件。

合规性服务

合规性服务是持久聊天服务器的可选组件,负责将聊天内容和事件存档到持久聊天合规性存储。 如果您的组织规定必须存档持久聊天活动,您可以部署可选的持久聊天合规性服务。 合规性服务安装在持久聊天池中的每个持久聊天服务器上。 配置后,持久聊天服务器符合性会记录用户活动,例如加入和离开会议室,以及发布和读取消息。 合规性服务存储需要存档在持久聊天合规性文件存储中的文件。

持久聊天 Web 服务

在 Lync Server 前端服务器上,两个服务运行依赖于 Internet Information Services (IIS) ,并作为 Web 组件实现:

  • 用于文件上传/下载的持久聊天 Web 服务 负责从聊天室发布和检索文件。

  • 用于聊天室管理的持久聊天 Web 服务 负责为用户提供管理聊天室和创建新聊天室的能力。

如何开始使用持久聊天服务器?

持久聊天服务器是 Lync Server 2013 基础结构中的可选服务器角色。 如果安装持久聊天服务器角色,管理员通过策略启用的任何用户都可以将持久聊天与 Lync 2013 客户端配合使用。

有关如何部署持久聊天服务器并使用户能够按策略利用功能的详细信息,请参阅 在 Lync Server 2013 中部署持久聊天服务器

有关如何在持久聊天服务器部署上配置设置的详细信息,请参阅 在 Lync Server 2013 中部署持久聊天服务器 和管理 Lync Server 2013 持久聊天服务器

有关如何通过策略使用户能够利用 Lync 2013 客户端中的持久聊天功能的详细信息,请参阅在 Lync Server 2013 中部署持久聊天服务器和管理 Lync Server 2013 持久聊天服务器

如果部署了持久聊天合规性,请参阅 管理 Lync Server 2013 持久聊天服务器 ,了解有关如何配置符合性设置的详细信息。

持久聊天呼叫流

持久聊天客户端使用 XCCOS 与持久聊天服务通信。 以下序列描述了登录过程以及典型的会议室订阅和消息发布方案。

登录

以下调用流图和步骤描述了登录过程。

持久聊天客户端登录呼叫流

持久聊天服务器调用流图。

  1. 持久聊天客户端首先发送 SIP 订阅以从服务器检索带内预配文档。 本文档指示是否为用户启用或禁用持久聊天,以及持久聊天服务器池的 SIP URI 列表。

  2. 持久聊天客户端将 SIP INVITE 消息发送到在上一步中获取的持久聊天服务器的 SIP URI。 INVITE 序列后跟 200 OK 和 ACK,持久聊天客户端现在已打开具有持久聊天服务器终结点的 SIP 会话。 因此,持久聊天客户端通过发送 SIP INFO 消息(包含聊天消息或请求服务器执行操作的命令)与持久聊天服务器通信。 在服务器负载) 过重的情况下,所有这些消息都会被确认为 200 正常或 503 服务不可用 (。 如果客户端收到 503 响应,它将重试消息。 (本示例不包括 503 响应。) 如果服务器接受消息或命令并发送 200 OK,它将以单独的 SIP INFO 消息的形式向客户端提供响应。 此响应包括对发起命令的引用。

  3. 持久聊天客户端发送包含 XCCOS getserverinfo 命令的 SIP INFO 消息。 持久聊天服务器使用新的 SIP INFO 消息进行答复,其中包含有关持久聊天服务配置的信息。

  4. 持久聊天客户端发送包含 XCCOS getassociations 命令的 SIP INFO 消息。 持久聊天服务器使用新的 SIP INFO 消息进行答复,该消息包含用户所属的会议室列表。 持久聊天客户端重复该命令以检索用户是其经理的会议室列表。

  5. 持久聊天客户端从“状态”文档中获取后续会议室的列表,其中每个后续会议室都由“roomSetting”类别表示。 所有后续会议室都加入单个 SIP INFO 消息,其中包含包含会议室 URI 列表的 XCCOS bjoin 命令。 由于后跟会议室列表保留在服务器上,因此任何计算机上的任何客户端都具有指定用户 URI 的后跟会议室列表。 如果本地计算机注册表中的用户) 启用此选项,则持久聊天客户端还会保留打开的会议室列表 (,并通过发送包含每个已打开会议室的 XCCOS 联接 命令的 SIP INFO 消息在登录时加入其中每个会议室。 由于此列表保留在注册表中,因此在不同计算机上运行的两个持久聊天客户端上可能会有所不同。

  6. 对于加入的每个会议室,持久聊天客户端发送包含 XCCOS bccontext 命令的 SIP INFO 消息。 持久聊天服务器使用包含会议室中最新聊天消息的新 SIP INFO 消息进行答复。

  7. 持久聊天客户端发送包含 XCCOS getinv (的 SIP INFO 消息,即获取邀请) 命令,以请求客户端尚未看到的任何新会议室邀请。 在单独的 SIP INFO 消息中,持久聊天服务器返回这些会议室的列表。

订阅会议室并发布消息

以下调用流图和步骤描述了典型的会议室订阅和消息发布方案。

持久聊天客户端会议室订阅和消息发布呼叫流

会议室订阅和消息发布方案。

  1. 在持久聊天客户端中,User1 单击 “加入聊天室”,单击 “搜索”,然后输入一些搜索条件。 持久聊天客户端发送一条 SIP INFO 消息,其中包含 XCCOS chansrch (会议室搜索) 命令以及搜索条件。 持久聊天服务器查询后端数据库,并在包含符合搜索条件的可用会议室列表的新 SIP INFO 消息中答复。

  2. User1 选择要加入的聊天室,然后单击 “关注此聊天室”。 持久聊天客户端向持久聊天服务器发送一条 SIP INFO 消息,其中包含 XCCOS 联接 命令和用户选择的聊天室的聊天室 ID。 持久聊天服务器使用包含预配数据的 SIP INFO 消息进行答复。

  3. 持久聊天客户端向持久聊天服务器发送包含 XCCOS bccontext (后链上下文) 命令的 SIP INFO 消息。 持久聊天服务器检索聊天历史记录,并在单独的 SIP INFO 消息中将其返回到持久聊天客户端。 此时,用户将进入聊天室,并准备参与。

  4. User1 输入新消息,然后单击“ 发送”。 持久聊天客户端在 SIP INFO XCCOS grpchat 命令中将消息发布到聊天室。 持久聊天服务器将此新消息的副本存储在持久聊天后端数据库中。

  5. 持久聊天服务器将 SIP INFO XCCOS grpchat 消息的单独副本发送给用户 2,用户已进入聊天室。

持久聊天符合性呼叫流

持久聊天服务器使用消息队列 ((也称为 MSMQ) )和附加合规性数据库 (mgccomp) 来处理符合性数据。 作为如何处理符合性事件的示例,以下事件序列描述了如何处理消息发布事件。

  1. 用户将消息发布到会议室。

  2. 持久聊天服务器将与事件相关的信息放置在专用消息队列中。

  3. 持久聊天符合性服务器从队列中读取此事件,并将其放入 mgccomp 数据库供以后处理。

  4. 持久聊天符合性服务器会定期处理数据库中的一组事件,并将其发送到持久聊天合规性适配器进行处理。

  5. 如果适配器成功处理数据,持久聊天合规性服务器会从 mgccomp 数据库中删除事件。