Adobe Connect 12.4.1 安装指南(音频视频增强设置)

简介

Adobe Connect 使用最新的 WebRTC 框架提供音频视频增强功能。 通常在具有特定角色的多个 Linux® 节点上运行音频视频增强设置, 这些节点可以是信令节点、媒体节点和录制节点。此设置还利用 PostgreSQL 和 Redis 数据库,我们可以根据用途将这些数据库安装在一台或不同的计算机上。

要完成各节点的设置,相关操作为向节点复制安装程序 zip 文件、编辑配置文件、运行依赖项安装脚本,以及最终运行主安装脚本。 本文将介绍以下主题:

详细步骤,请参阅“安装”一节。

先决条件和系统要求

估算增强型音频/视频服务器/节点的大小

要估算增强型音频/视频服务器的大小,可以运行 session_participants_count.sql 文件。SQL 查询的输出可作为计算器的输入,这是一个名为 Additional Enhanced A/V hardware estimator.xlsx 的 Excel 文件。

计算器会根据您以往对 Adobe Connect 的使用情况估算所需虚拟机的数量。计算器需要下列一组输入。

  • 服务器 CPU 核心数和 RAM 数。
  • 附加 SQL 查询用于确定过去 12 个月中完成的并发会话峰值数以及平均与会者数量。

  • 每个会话中发布者数量的估算值。 发布者是指在会议室中连接麦克风(静音或未静音均可)和网络摄像头(打开和暂停均可)的与会者(主持人、演示者或参加者)。

注意:

session_participants_count.sql 和 Additional Enhanced A/V hardware estimator.xlsx 文件均只随安装程序包提供,无其他提供途径。

预估 FQDN 和 SSL 证书要求

FQDN

  • 外部应用程序负载平衡器需有一条公共 DNS 记录,如 webrtc.example.com

  • 各媒体服务器需分别有一条公共 DNS 记录,如 media-1.example.com

SSL 证书

  • LB FQDN 需拥有一个 SSL 证书 

  • 建议为媒体服务器配置 TURNS,确保各媒体服务器均有一个证书。

了解网络架构

Adobe Connect 12.4 本地群集

端口开放要求

目标 端口 协议 用途
信令节点 Redis 6379 TCP  
Postgres 5432 TCP  
录制节点 5000-5100 TCP  
ASR 节点 6000-6100 TCP  
SIP 或媒体
服务器节点
5060 UDP 对于 SIP 信令
SIP 或媒体服务器节点
5060 TCP
CPS 服务器 80 TCP 对于在没有 SSL 的情况下运行的 POC 或演示设置
CPS 服务器/LB 443 TCP
录制节点 媒体服务器
节点 (*)
443 TCP TURNS
3478 UDP STUN/TURN
3478 TCP STUN/TURN
30000 - 65535 UDP SRTP(实时媒体流)
CPS 服务器 80 TCP 对于在没有 SSL 的情况下运行的 POC 或演示设置
CPS 服务器/LB 443 TCP  
Redis 6379 TCP  
信令节点 8090 TCP
 
信令节点
18443 TCP 对于在没有 LB 的情况下运行的 POC 或演示设置
WebRTC 负载平衡器 (**) 443 TCP
 
媒体服务器节点 Redis 6379 TCP
 
Postgres 5432 TCP
 
stun.I.google.com 19302 UDP 用于发现公共 IP、 验证 NAT 类型。
stun1.I.google.com
19302 UDP 用于发现公共 IP、 验证 NAT 类型。
信令节点 18443 TCP 对于在没有 LB 的情况下运行的 POC 或演示设置
媒体服务器节点 8445 TCP 对于在存在多个媒体情况下执行群集
WebRTC 负载平衡器 (**) 443 TCP
用于注册 WebRTC 网关
CPS 服务器 WebRTC 负载平衡器
443 TCP  
录制节点 80 TCP
下载录制文件
信令节点 18443 TCP 对于在没有 LB 的情况下运行的 POC 或演示设置
用户/客户端/Internet 媒体服务器节点 (*)
443 TCP

 

 

 

 

TURNS(基于 TLS 的音频视频传输协议)

3478 UDP STUN/TURN
3478 TCP STUN/TURN
30000 - 65535 UDP SRTP(实时媒体流)
CPS 服务器 80 TCP
对于在没有 SSL 的情况下运行的 POC 或演示设置
CPS 服务器/LB 443 TCP  
信令节点 18443 TCP 对于在没有 LB 的情况下运行的 POC 或演示设置
WebRTC 负载平衡器
443 TCP
 
SIP 节点 Redis 6379 TCP
大多数情况下,SIP 服务在媒体服务器节点上运行
Postgres 5432 TCP
WebRTC 负载平衡器
443 TCP
信令节点 18443 TCP 对于在没有 LB 的情况下运行的 POC 或演示设置
自动字幕/ASR 节点 Redis 6379 TCP  
信令节点 8080 TCP 对于媒体连接
媒体服务器节点 (*) 3000-65535 UDP SRTP(实时媒体流)
443 TCP
TURNS
3478 UDP STUN/TURN
3478   STUN/TURN
信令节点 8090 TCP
 
CPS 服务器 80 TCP
对于在没有 SSL 的情况下运行的 POC 或演示设置
CPS 服务器/LB 443 TCP
 

*大多数情况下,媒体服务器具有公共 IP 地址,但在无需通过 Internet 访问 Adobe Connect 的受限环境中,端口应向其专用 IP 地址开放。

**存在可用于将流量路由到多个信令节点并用于 SSL 卸载的外部 WebRTC 负载平衡器。 负载平衡器充当新 WebRTC 服务器以及 CPS 和最终用户之间的接口。

通常通过具有以下配置的外部应用程序负载平衡器完成负载平衡。

  • HTTPS 端口 443:信令节点 HTTP 端口 18443 - CPS 和最终用户连接到此侦听器,这是新 WebRTC 群集的入口点。

  • HTTPS 端口 443:信令节点 HTTP 端口 9090 - 由管理员用来连接到 WebRTC 管理网页面板,以配置 TURNS 和 SIP/Telephony。

增强音频/视频服务器的系统要求

  • 操作系统 - Red Hat Enterprise Linux 64 位版本 8.6
  • 安装在服务器上的第三方库(开源):
    • Podman 4.2.0
    • Virtualenv 20.19.0
    • Python 3.9
    • Pip 21.3.1
    • Python 库(pydantic、pyhocon、docker、redis、packaging、psycopg2-binary、python-json-logger、pystun3、coloredlogs、colorama)

准备环境

典型的音频视频增强设置至少需要 3 台 Red Hat 服务器, 分别用于信令、媒体和录制节点。 基于会议负载的估算器可以为多个媒体服务器、录制和信令节点提供建议。 应用程序负载平衡器将用于 SSL 卸载以及 CPS 与具有信令节点的最终用户客户端之间的通信。

一些基于负载的设置可能只需 2 台服务器,其中录制服务容器可在信令节点上运行。

最常见的 3 种服务器设置具体介绍如下。

  • 配置 3 台 Red Hat 服务器。 请参阅硬件估算器进行配置。
  • 要想成功安装,用户需为具有 sudo 访问权限的非 root 用户。
    • 全新安装 Red Hat 后,创建新的用户 ID。
    • 要在 RHEL 上为新用户 ID 启用 sudo,请将此 ID 添加到 wheel 组:
      • 运行 sudo,成为 root 用户。
      • 运行 usermod -aG,将 your_user_id 添加到 wheel 组。
      • 退出登录,然后使用新 ID 重新登录。
  • 为信令和录制节点分配静态 IP 地址。
  • 为媒体服务器配置并分配公共 IP 地址。 如果使用 1:1 NAT,则应将公共 IP 映射到媒体服务器的专用 IP。
  • 为媒体服务器创建公共 DNS 记录。 强烈建议设置 TURNS(通过 TLS 443 进行连接)并为此 FQDN 配置 SSL 证书。 
  • 打开 3 个节点之间的必要网络端口。 请参阅“网络架构”一节。 
  • 按照上一节中的说明设置外部应用程序负载平衡器。 此外,还要为负载平衡器设置公共 DNS 记录,并配置 SSL 证书。 

复制安装程序 zip 文件

  1. NCC_Onprem_12_4_Installer.zip 复制到所有节点的主目录,
    例如,scp  NCC_Onprem_12_4_Installer.zip -i ssh_key.pem  my-user@webrtc.corp.example.com:/home/my-user/

  2. 使用 Jarsigner 验证下载的已签名 zip 文件(可选)。 Jarsigner 随 Java 一起安装。

    1. 使用命令 [ java -version ] 验证是否已安装 Java。如果已安装 Java,则可以获取 Java 版本的输出。
    2. 若计算机上未安装 Java,请先完成安装。
      sudo yum install java-1.8.0-openjdk-devel 
    3. 接下来,在“终端”窗口中复制以下命令,然后按 Enter 键。
      jarsigner -verify -verbose NCC_Onprem_12_4_Installer.zip
    4. 验证的输出结果包含以下内容:
      • zip 中的文件列表
      • 来自 Adobe 的用于身份验证的证书信息
      • 若验证成功,输出消息为“已验证 jar”;若验证失败,则输出消息为“未验证 jar”
    5. 如果证书信息有效,且已打印验证成功的输出消息,则用户可以使用 zip 文件内容继续安装,否则需要联系 Adobe 支持团队
  3. 提取 ZIP。确保文件具有相应的权限。
    使用以下命令:除非明确指定,否则请勿使用 root/sudo 访问权限运行任何命令。

    解压缩 NCC_Onprem_12_4_Installer.zip
    遍历到安装程序父目录,例如
    cd  ~/ncc-onprem-installer/
    sudo chmod +x ExternalDependencies/install.sh
    sudo chmod +x MainInstall.sh
    sudo chmod +x check-connectivity.sh
    sudo chmod +x uninstall.sh

    注意:

    在没有 Internet 访问权限的环境或处于锁定环境中运行安装程序时,请运行以下命令:

    sudo chmod +x Externaldependecies/package-util.sh
  4. 执行依赖项安装脚本。

    1. 在没有 Internet 访问权限的环境或处于锁定环境中运行安装程序时,请运行以下命令以安装外部依赖项。 如果您可以访问 Internet,请继续执行后续的步骤 2
      遍历到安装程序的父目录,例如,确保您位于 ~/ncc-onprem-installer/ 目录中。
      执行 bash ExternalDependencies/package-util.sh --install。此操作会在特定的计算机环境中安装所有必需的外部依赖项。

      需针对各节点执行此操作。
    2. 遍历到安装程序的父目录,例如,确保您位于 ~/ncc-onprem-installer/ 目录中。
      执行 bash ExternalDependencies/install.sh。 此操作会在特定的计算机环境中安装所有必需的外部依赖项。

      需针对各节点执行此操作。

安装过程

下文以 WebRTC 环境为例,讲解如何在 4 个不同的 Red Hat 实例上进行安装。  信令节点、记录节点、媒体—服务器节点和 ASR 节点。  请密切注意在 containers.conf 中为各节点说明配置的服务。 您需要在配置文件中为每个节点配置一组特定的服务/容器。

**在实验室系统中,您可以在一个 Linux 实例上安装所有这些“节点”(信令、录制、媒体和 ASR 服务器)。  在这种情况下,您可以在 containers.conf 中将环境所需的全部服务器/容器数量设置为 1。

信令节点

您通常可以在信令节点上运行以下服务。 将每项服务都作为一个 docker 容器运行。

  • config(配置服务)
  • cas(新的 Connect API 服务)
  • apigw(API 网关/路由器)
  • liveswitch-gateway(WebRTC 网关服务)

信令节点通常位于可通过外部负载平衡器访问 Connect 客户端的专用子网中。

过程

  1. 编辑主机文件

    在信令节点上更新主机文件。 您可以使用 nano 或 vi 等文本编辑器。 

    1. 使用 nano 或 vi 编辑器(例如 sudo vi /etc/hosts)打开 /etc/hosts 文件
    2. 在末尾添加以下行。 将 <private-ip> 替换为主机的专用 IP 地址。请注意以下各单词之间的空格。 

    <private-ip> cas.ncc.svc.cluster.local gw.fm.ncc.internal config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local

    192.168.1.100 cas.ncc.svc.cluster.local gw.fm.ncc.internal config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local

    应在 ASR 节点上更新主机文件。您可以使用 nano 或 vi 等文本编辑器。

    1. 使用 nano 或 vi 编辑器(例如 sudo vi /etc/hosts)打开 /etc/hosts 文件
    2. 在末尾添加以下行。 将 <private-ip> 替换为主机的专用 IP 地址。请注意以下各单词之间的空格。

    <private-ip> gw.fm.ncc.internal

    注意:
    将 <private-ip> 变为信令主机
    的专用 IP 地址。
  2. 编辑配置文件

    1. 编辑位于 ncc-onprem-installer/Config/config.conf 的配置文件。文件编辑的相关说明将以注释形式添加到配置文件中。 需要分别为每台主机编辑此文件。
    2. 接下来,编辑  ncc-onprem-installer/Config/containers.conf。 文件编辑的相关说明将以注释形式添加到文件中。需要分别为每台主机编辑此文件。 具体情况取决于要安装的服务和要部署的容器数量。
    3. 您可以在典型的信令节点上安装以下服务:
      • casServer
      • configService
      • apiGateway
      • gatewayServer
      • redis
      • postgres
      • lb(可选。 有关其他配置步骤,请参阅下文“负载平衡器”一节。)
    4. 请将上述所有服务的数量设置为 1,所有其他服务的数量设置为 0。
    5. 重要提示:更改 Config.conf 后,请将 configService 的 restart 参数设置为 1。
    6. 在需要多个信令节点的设置中,仅需将 Redis 和 Postgres 数据库安装在第一个节点上。
  3. 执行主安装程序脚本。
    切换到主安装程序目录 cd ~/ncc-onprem-installer/
    执行主安装程序脚本 bash MainInstall.sh。 等待确认消息。
    若安装成功,则消息为:
                   2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful。 
    若安装失败,则消息为:
                   2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed。 有关详细信息,请查看 installer.log。

    请参阅“疑难解答”一节。

  4. 验证安装情况

    • 运行状况检查 API
      要检查节点的运行状况,可以浏览以下网址:http://<private_ip>:18443/health。 正常的响应必须为“200 OK {"apigw":"ok"}”。  

      要通过 RedHat 计算机进行验证,可以使用 CURL 命令
      , 例如,curl -v http://172.31.56.203:18443/health 
    • 验证容器状态
      在“终端”窗口中,运行 docker ps 命令。
      输出应如下所示。不管容器处于何种状态,都不应重新启动。
    容器状态

  5. 使用捆绑的 Nginx 负载平衡器(又称负载平衡器容器)

    安装程序现已与开源 Nginx 容器绑定,可实现 SSL 卸载。 

    该操作仅适用于实验室或仅具有 1 个信令节点的小型设置。 

    应在信令节点上安装负载平衡器。

    使用此捆绑的负载平衡器时,信令节点应位于公共子网(或 DMZ)中,并已为这些节点分配一个公共 IP 或已通过 1:1 NAT 映射到公共 IP。 客户端通过端口 443 上的负载平衡器 URL 直接连接到节点。

    在无需通过 Internet 访问 Connect 的设置中,信令节点应该位于专用子网中,但仍可从端口 443 的内部网络完成访问。

    要求:

    • 公共/专用 DNS 记录取决于用例
    • DNS 记录的 SSL 证书
    • SSL 证书的私钥

    负载平衡器使用步骤: 

    1. mkdir -p ~/connect/loadbalancer/certs
    2. 将 SSL 证书(已为信令节点的 FQDN 颁布)和私钥复制到证书目录, 确保二者名称分别为 cert.crt 和 key.key。
    3. 在 config.conf 文件的主机名 > 负载平衡器以及主机名 > FQDN 部分(现为 WebRTC 群集的入口点)添加 FQDN。
    4. 在 container.conf 文件中,将负载平衡器的数量更新为 1。
    5. 接下来,运行 bash MainInstall.sh。

    要将通配符证书用于 AWS EC2 实例,请按照以下步骤操作: 

    1. 在 Route 53 中创建 A 记录。 例如,如果通配符证书为 *.example.com,则将 A 记录创建为 webrtc.example.com,并将其映射到 EC2 实例的弹性 IP 中。
    2. 将通配符证书和密钥复制到 ~/connect/loadbalancer/certs 目录。确保二者名称分别为 cert.crt 和 key.key。
    3. 添加 FQDN。 例如,在主机名 > 负载平衡器以及主机名 > FQDN 部分添加 webrtc.example.com。
    4. 在 container.conf 文件中,将负载平衡器的数量更新为 1。
    5. 接下来,运行 bash MainInstall.sh。
媒体服务器节点

您可以在媒体节点上运行以下服务: 

  • liveswitch-media-server(媒体服务器) – 用于音频视频增强
  • liveswitch-sip-connector(SIP 服务) – 用于使用 SIP

媒体节点应位于公共子网(或 DMZ)中,并已为这些节点分配一个公共 IP 或已通过 1:1 NAT 映射到公共 IP。 客户端直接连接到媒体节点的公共 IP。

增强型音频视频 (WebRTC) 客户端使用 ICE 方法进行连接,并尝试通过下列端口和协议与媒体服务器建立音频视频流: 

  • 30000 – 65535 范围内的 UDP 端口可处理实时媒体流。
  • UDP 和 TCP 端口 3478 可处理  STUN  和  TURN 流量,以帮助客户端通过防火墙实现流媒体传输。
  • 通过端口 443 的 TLS 启用 TURNS,确保在受限网络中进行流媒体传输时具有高可用性。 
  • C12 WebRTC 客户端会首先尝试所有选项(TCP 和 UDP),然后再切换到端口 443 的 TLS。
  • UDP 和 TCP 端口 5060 可处理用于中继/PBX 注册和入站/出站拨叫的  SIP  流量。 (如果使用 SIP,必须执行此步骤)

过程

  1. 执行主安装程序脚本。
    切换到主安装程序目录 cd ~/ncc-onprem-installer/
    执行主安装程序脚本  bash MainInstall.sh。 等待确认消息。
    若安装成功,则消息为:
           2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful。
    若安装失败,则消息为:
                2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed。有关详细信息,请查看 installer.log。

    请参阅“疑难解答”一节。

  2. 验证安装情况

    在“终端”窗口中,运行 docker ps 命令,确保 liveswitch-media-server 容器正在运行。

录制节点

录制节点应在私密网络中运行。 在录制节点上,可以运行以下一个或多个实例: 

  • hcr(录制容器。 hcr 容器数量决定可以同时运行的录制实例数量)
  • recordingserver(用于向 CPS 提供录制文件的 Web 服务器。 每个录制节点提供 1 个录制文件)

可以在下列位置访问录制节点:

  • 本地网络的 TCP 80,以便 CPS 可以下载录制内容。
  • 本地网络的 TCP 5000-5100,将各个录制容器绑定到该范围内的主机端口。
  • 本地网络的 TCP 8090。

为保证录制成功,录制节点应能够访问“媒体节点”一节中列出的公共 IP 端口上的媒体节点以及端口 443 的 CPS。

过程

  1. 编辑配置文件

    1. 编辑 config.conf 文件或从信令节点 ~/ ncc-onprem-installer /Config/config.conf 进行复制。 
    2. 接下来,编辑 ~/ncc-onprem-installer/Config/containers.conf。 文件编辑的相关说明将以注释形式添加到文件中。
    3. 您可以在录制服务器节点上安装以下服务:
      • recordingContainer
      • recordingserver  
    4. 请将 recordingContainer 的数量设置为大于等于 1,将 recordingserver 的数量设置为 1,将其他节点的数量设置为 0。
  2. 执行主安装程序脚本
    切换到主安装程序目录 cd ~/ncc-onprem-installer/ncc-onprem-installer/
    执行主安装程序脚本  bash MainInstall.sh。等待确认消息。
    若安装成功,则消息为:
                    2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful。
    若安装失败,则消息为:
                   2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed。有关详细信息,请查看 installer.log

    请参阅“疑难解答”一节。

  3. 验证安装情况

    在“终端”窗口中,运行命令 B ,确保 hcr 和 recordingserver 容器正在运行。

ASR 节点 

ASR 或隐藏字幕节点应在专用网络中运行。 在 ASR 节点上,您可以运行一个或多个 ASR 实例(ASR 容器。 ASR 容器的数量决定同时运行隐藏式字幕的会议数量)。

ASR 节点应该可以通过 TCP 6000-6100 从本地网络访问,各个 ASR 容器已绑定到该范围内的主机端口。 

过程

  1. 编辑配置文件。

  2. 编辑 config.conf 文件 (~/ ncc-onprem-installer /Config/config.conf) 或从信令节点进行复制。 

  3. 接下来,编辑 ~/ncc-onprem-installer/Config/containers.conf

  4. 您可以在 ASR 服务器节点上安装以下服务:

    asrContainer

                请将 asrContainer 的数量设置为大于等于 1 

  5. 执行主安装程序脚本。
    切换到主安装程序目录 cd ~/ncc-onprem-installer/ncc-onprem-installer/
    执行主安装程序脚本  bash MainInstall.sh。等待确认消息。

    成功消息

             2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful。

    失败消息

            2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed。 有关详细信息,请查看 installer.log。

升级拥有 12.0、12.1、12.1.5 版本的系统 

准备环境 

复制安装程序 zip 文件.

  1. NCC_Onprem_12_4_Installer.zip 复制到所有节点的主目录,
    例如,scp  NCC_Onprem_12_4_Installer.zip -i ssh_key.pem  my-user@webrtc.corp.example.com:/home/my-user/

  2. 使用 Jarsigner 验证下载的已签名 zip 文件(可选)。 Jarsigner 随 Java 一起安装。

    1. 使用命令 [ java -version ] 验证是否已安装 Java。如果已安装 Java,则可以获取 Java 版本的输出。
    2. 若计算机上未安装 Java,请先完成安装。
      sudo yum install java-1.8.0-openjdk-devel 
    3. 接下来,在“终端”窗口中复制以下命令,然后按 Enter 键。
      jarsigner -verify -verbose NCC_Onprem_12_4_Installer.zip
    4. 验证的输出结果包含以下内容:
      • zip 中的文件列表
      • 来自 Adobe 的用于身份验证的证书信息
      • 若验证成功,输出消息为“已验证 jar”;若验证失败,则输出消息为“未验证 jar”
    5. 如果证书信息有效,且已打印验证成功的输出消息,则用户可以使用 zip 文件内容继续安装,否则需要联系 Adobe 支持团队
  3. 提取 ZIP。确保文件具有相应的权限。
    使用以下命令:除非明确指定,否则请勿使用 root/sudo 访问权限运行任何命令。

    解压缩 NCC_Onprem_12_4_Installer.zip
    遍历到安装程序父目录,例如
    cd ~/ncc-onprem-installer/
    sudo chmod +x ExternalDependencies/install.sh
    sudo chmod +x MainInstall.sh
    sudo chmod +x check-connectivity.sh
    sudo chmod +x uninstall.sh

  4. 执行依赖项安装脚本。

    遍历到安装程序的父目录,例如,
    确保您位于 ~/ncc-onprem-installer/ 目录中
    执行 bash ExternalDependencies/install.sh。此操作会在特定的计算机环境中安装所有必需的外部依赖项。

    需针对各节点执行此操作。

注意:

升级过程需要停机。

信令节点 

您通常可以在信令节点上运行以下服务。 将每项服务都作为一个 docker 容器运行。 

  • config(配置服务)
  • cas(新的 Connect API 服务)
  • apigw(API 网关/路由器)
  • liveswitch-gateway(WebRTC 网关服务)

过程

  1. 编辑配置文件

    1. 编辑位于 ncc-onprem-installer/Config/config.conf 的配置文件。文件编辑的相关说明将以注释形式添加到配置文件中。 需要分别为每台主机编辑此文件。 您可以参考之前安装的 config.conf 文件。 请勿用旧文件替换新文件。 最新版本包含重要更新。 
    2. 接下来,编辑  ncc-onprem-installer/Config/containers.conf。文件编辑的相关说明将以注释形式添加到文件中。需要分别为每台主机编辑此文件。
    3. 升级信令节点时,通常需要安装以下服务: 
      • casServer
      • configService
      • apiGateway
      • gatewayServer
    4. 请参考之前安装中的文件,确定要安装的服务以及要部署的容器数量。 将所有之前安装的服务的数量设置为 1,将所有其他服务的数量设置为 0。
    5. 重要提示:更改 Config.conf 文件后或使用最新版本的安装程序进行升级时,请将 configService 的 restart 参数设置为 1。
    6. 重要提示:升级时,未安装随附的 Redis 和 Postgres 数据库,因此请在 containers.conf 文件中将其数量保留为 0。
  2. 切换到主安装程序目录 cd ~/ncc-onprem-installer/
    执行主安装程序脚本 bash MainInstall.sh。 安装程序会自动将服务升级到最新版本。 等待确认消息。 
    若安装成功,则消息为:
                    2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful。
    若安装失败,则消息为:
                    2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed。有关详细信息,请查看 installer.log。
  3. 验证安装情况

    • 运行状况检查 API
      要检查节点的运行状况,可以浏览以下网址:http://<private_ip>:18443/health。 正常的响应必须为“200 OK {"apigw":"ok"}”。 要通过 RedHat 计算机进行验证,可以使用 CURL 命令,
      例如,curl -v http://172.31.56.203:18443/health
    • 验证容器状态
      在“终端”窗口中,运行 docker ps 命令
      输出应如下所示。不管容器处于何种状态,都不应重新启动。

    容器状态

媒体服务器节点

您可以在媒体节点上运行以下服务:

  • liveswitch-media-server(媒体服务器) – 用于音频视频增强
  • liveswitch-sip-connector(SIP 服务) – 用于使用 SIP

过程

  1. 编辑配置文件。

    1. 编辑 config.conf 文件或从信令节点 ~/ncc-onprem-installer /Config/config.conf 进行复制。您可以参考之前安装的 config.conf 文件。 请勿用旧文件替换新文件。 最新版本包含重要更新。

      注意:

      如果您处于受限环境中,请在 gatewayServer 部分中将 externalStunUrls0 和 externalStunUrls1 条目留空。 例如,externalStunUrls0=""、externalStunUrls1=""。

    2. 接下来,编辑 ~/ncc-onprem-installer/Config/containers.conf。文件编辑的相关说明将以注释形式添加到文件中。
    3. 接下来,编辑 ~/ncc-onprem-installer/Config/containers.conf。文件编辑的相关说明将以注释形式添加到文件中。

    4. 您可以在媒体服务器节点上升级以下服务: 

      • mediaServer
      • sipServer(如需 SIP/Telephony)
    5. 请参考之前安装中的文件,确定要安装的服务以及要部署的容器数量。 将所有之前安装的服务的数量设置为 1,将所有其他服务的数量设置为 0。

    6. 在 mediaServer 块中,更新 mediaNodePublicIPmediaNodePublicFQDN 的值。有关更多详细信息,请参阅内联注释。

  2. 执行主安装程序脚本
    切换到主安装程序目录 cd ~/ncc-onprem-installer/
    执行主安装程序脚本 bash MainInstall.sh。 安装程序会自动将服务升级到最新版本。 等待确认消息。
    若安装成功,则消息为:
                    2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful。 
    若安装失败,则消息为:
                   2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed。 有关详细信息,请查看 installer.log。

    请参阅“疑难解答”一节。

  3. 验证安装情况

    在“终端”窗口中,运行 docker ps 命令,确保 liveswitch-media-server 和 liveswitch-sip-connector(可选安装)容器正在运行。

录制节点

录制节点应在私密网络中运行。 在录制节点上,可以运行以下一个或多个实例:
hcr(录制容器。 hcr 容器数量等于可以运行的并发录制实例数量。)

过程

  1. 编辑配置文件

    1. 编辑 config.conf 文件或从信令节点 ~/ ncc-onprem-installer /Config/config.conf 进行复制。 您可以参考之前安装的 config.conf 文件。 请勿用旧文件替换新文件。 最新版本包含重要更新。
    2. 接下来,编辑 ~/ncc-onprem-installer/Config/containers.conf。 文件编辑的相关说明将以注释形式添加到文件中。
    3. 您可以在录制服务器节点上升级以下服务:
      • recordingContainer
    4. 请参考先前安装目录中的 containers.conf,并将 recordingContainer 的数量设置为与之相同的数值,将所有其他服务的数量设置为 0。
  2. 执行主安装程序脚本。
    切换到主安装程序目录 cd ~/ncc-onprem-installer/ncc-onprem-installer/
    执行主安装程序脚本 bash MainInstall.sh。 安装程序会自动将服务升级到最新版本。 等待确认消息。
    若安装成功,则消息为:
                   2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful。
    若安装失败,则消息为:
                    2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed。有关详细信息,请查看 installer.log。

    请参阅“疑难解答”一节。

  3. 验证安装情况

    在“终端”窗口中,运行 docker ps 命令,确保 hcr 容器正在运行。

在 Adobe Connect Service (CPS) 中配置音频视频增强功能

需要在所有 Adobe Connect 12 (CPS) 服务器上执行以下步骤:

  1. 在位于 <Installation_Dir>/Connect/custom.ini 的所有 Connect 服务器的 custom.ini 中添加以下配置。
    # CAS 发现 URL 列表(以逗号分隔)
    # 可能的值
    WEBRTC_CAS_DISCOVERY_URLS=http://<Signalling Node IP >:18443/api/cps/ingest
    WEBRTC_CAS_DISCOVERY_URLS=http://<Load Balancer URL>/api/cps/ingest
    # CAS 共享密钥,用于签署对 CAS 的请求。 输入您在信令节点 config.conf 文件 hmac 部分设置的值。
    WEBRTC_CAS_SHARED_SECRET=CorrectHorseBatteryStaple
  2. 保存文件并重新启动 connectpro 服务。

安装之后的过程

  1. 验证网络连接

    运行连接测试工作流程,以验证不同节点之间的网络连接 

    1. 登录信令节点。
    2. 遍历到安装程序父目录,例如
      cd ~/ncc-onprem-installer/ncc-onprem-installer/
    3. 运行 bash check-connectivity.sh
      命令。
    4. 在运行基本网络测试时,连接工具会使用 Config.conf 文件中提供的值,例如:
      • 不同服务之间的 HTTP 请求 
      • 必要的 TCP 和 UDP 端口上的网络连接测试
      • 名称解析
      • 数据库连接
    5. 此测试检查节点和服务之间的必要连接,然后共享结果,以帮助诊断网络连接问题。
  2. 测试 Adobe Connect 会议的音频视频增强功能 

    1. 创建新会议,确保已选择“增强型音频/视频”选项。
    2. 加入会议室,打开麦克风和摄像头。
    3. 如果情况允许,亦请从其他电脑或移动设备加入会议室,验证音频视频交流是否正常。
    4. 尝试屏幕共享。    
    5. 开始录制。等待 30 秒,然后按下“停止”。 接下来,验证是否可以访问录制内容。

其他功能设置

配置 SIP 

若要配置 SIP,您必须访问 FM 管理网页面板。 

  1. 访问  http://<your-load-balancer-address>:9090/admin,使用在 config.conf 中配置的用户名和密码登录。如果未使用负载平衡器,请浏览 http://<Signalling_Node-address>:9090/admin
  2. 访问应用程序,然后访问 Adobe Connect,随后向下滚动至频道
    default (*)broadcast-* 频道组配置 SIP 出站拨叫者 ID。
    SIP 出站拨叫者 ID 配置

  3. 从主菜单中转到部署并编辑 SIP 配置。

    SIP 配置

将 TURNS 证书上传至 FM 管理面板

若要为 TURNS 绑定提供 SSL 终止,可以将证书上传到 FM 管理面板。

证书必须采取 PFX  格式。

请执行下列步骤:

  1. 访问  http://<your-load-balancer-address>:9090/admin,使用在 config.conf 中配置的用户名和密码登录。如果未使用负载平衡器,请浏览 http://<Signalling_Node-address>:9090/admin

  2. 转到证书

  3. 文件证书项下选中 + 号并上传您正在使用的域的证书。

配置 TURNS 绑定

若要进行安全的 TURN 通信,必须执行此操作。

若您已按上一部分所述上传证书,请执行以下步骤:

  1. 导航至部署,然后选择默认

  2. 向下滚动至高级配置部分。

  3. 使用您之前上传的证书配置 TURNS 绑定

    配置 TURNS 绑定

卸载

  1. 更改为安装程序根目录(根目录包含 uninstall.sh)cd ~/ncc_onprem_installer

  2. 执行 bash uninstall.sh

  3. 要从信令节点中删除 Postgres 和 Redis 数据库数据目录,请运行以下命令。

    sudo rm -rf ~/connect

注意:

此操作会从系统中删除所有 NCC 组件和图像, 但外部依赖项(Python、PIP、Virtualenv 和 Python 包)不会被删除。

疑难解答

docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))

如果未正确设置 DOCKER_HOST 环境变量,则会显示此错误消息。 请执行下列步骤:

  1. 遍历到安装程序父目录,例如
    cd ~/ncc-onprem-installer/
  2. 运行 source ~/.bash_profile 命令

如果上述步骤无法解决该问题,请执行以下步骤:

  1. 运行 sudo yum remove podman-remote 命令,删除 Podman
  2. 退出当前用户并重新登录。
  3. 遍历到安装程序父目录,例如
    cd ~/ncc-onprem-installer/
  4. 执行 bash ExternalDependencies/install.sh
注意:

除非明确指定,否则请勿使用 root/sudo 访问权限运行任何命令。

2023-03-22 03:27:12 : ERROR : Main : 48 : Failed to start Postgres。

Postgres docker 容器由于权限问题而无法挂载主机卷时,系统将显示此错误消息。 请执行下列步骤:

  1. 遍历到安装程序父目录,例如
    cd ~/ncc-onprem-installer/
  2. 运行 docker load -i images/postgres.tar.gz 命令
  3. 然后运行:
    docker run -d \
    --env POSTGRES_PASSWORD='PostPass1234' \
    --volume  ~/connect/postgres/data:/var/lib/postgresql/data \
    --publish 5432:5432 \
    --network host \
    --user 0 \
    --restart always \
    --name postgres \
    docker-connect-release.dr-uw2.adobeitc.com/ncc-onprem/postgres:12.4.1
  4. 此操作将修复主机目录中的权限问题。
  5. 接下来,运行以下命令,删除 Postgres docker 容器。
    docker rm -f postgres
  6. 最后,再次运行 MainInstaller。
    bash MainInstall.sh 

pydantic.errors.PydanticImportError:`BaseSettings` 已移至 `pydantic-settings` 包。 请参阅 https://docs.pydantic.dev/2.0/migration/#basesettings-has-moved-to-pydantic-settings,了解更多详细信息。

请执行下列步骤:

  1. 遍历到安装程序父目录,例如
    cd ~/ncc-onprem-installer/
  2. 运行命令 source bin/activate
  3. 然后运行此命令以卸载 Pydatic:
    python3 -m pip uninstall pydantic
  4. 运行此命令以重新安装 Pydantic:
    python3 -m pip install "pydantic==1.*"
  5. 最后,再次运行 MainInstaller。
    bash MainInstall.sh 

Media Server 需要 1:1 NAT,这意味着 Media Server 在互联网上的任何流量出入口都需要使用公共 IP。 如果您在路由器或防火墙上为 Media Server 配置了 1:1 NAT,则 Media Server 会自动寻找其公共 IP 并使用 STUN 协议。  请进入 WebRTC 网关的管理界面,确保 Media Server 可以检测到其公共 IP 地址。

https://adminwebrtc.yourdomain.com/admin/#/servers

即使 1:1 NAT 工作正常,仍然无法从客户端访问 Media Server

WebRTC 客户端使用 ICE 并按照以下顺序与 Media Server 建立音视频流:

  • UDP(端口范围为 35000 至 65535) 

  • TCP(端口 3478)

  • TLS(端口 443) 

  • C12 WebRTC 客户端会首先尝试所有选项(TCP 和 UDP),然后再切换到 443 端口的 TLS

Connect 12.4.1 默认为假设 CPS、WebRTC 和 New Connect Cluster (NCC) 位于同一 VLAN/VPC 或广播域。如果它们位于不同的网络中,请确保 CPS 和 NCC/WebRTC 之间具有正确的第三层路由,以便建立双向网络连接。 

要检查 CPS 和 NCC 之间的网络连接,请使用 CURL 和 Telnet。 

CPS 和 NCC 连接仅通过 HTTPS 工作。

FMGW 容器日志中显示以下错误:第二个 Redis 实例被设置为作为副本运行。 

ERROR [FM.LiveSwitch.Signalling.Server.IdleThread][-] 2022-07-21T12:46:29.439Z 闲置线程中发生意外错误。 
StackExchange.Redis.RedisServerException: READONLY 您无法对只读副本进行写入。

解决方案:  

打开 Redis 服务对应的配置文件,将属性值“slave-read-only”修改为“no”。 

作为一种解决方法,请执行以下步骤:

  1. cd ncc-onprem-installer
  2. mv Images images。
  3. sed -i 's/Images\//images\//' Installer/utils/global_constants.py。
  4. 卸载 - 执行 uninstall.sh
  5. 重新安装 - 执行 MainInstall.sh

现在可以忽略日志中的 InfluxDB 异常。

重新启动实例并重新启动 docker 容器后,如果查看 CAS 容器中的日志情况,则会发现存在异常。

要解决此问题,请重新启动 CAS 容器。 输入 docker restart cas

更多类似资源

Adobe, Inc.

更快、更轻松地获得帮助

新用户?