Guia de Instalação do Adobe Connect 12.4.1 (Configuração de áudio e vídeo aprimorada)

Introdução

O Adobe Connect usa a estrutura WebRTC mais recente para fornecer recursos de áudio e vídeo aprimorados. Essa configuração de áudio e vídeo aprimorados geralmente é executada em vários nós do Linux® com funções específicas. Há nós de sinalização, nós de mídia e nós de gravação. Esta configuração também usa bancos de dados PostgreSQL e Redis que podem ser instalados em uma ou em máquinas separadas, dependendo do uso.

A configuração de cada nó é feita copiando o arquivo zip do instalador para ele, editando os arquivos de configuração, executando o script de instalação de dependência e, finalmente, o script de instalação principal. Abaixo estão os tópicos abordados:

Essas etapas são descritas na seção Instalação.

Pré-requisito e requisitos do sistema 

Estimar o tamanho dos servidores/nós de áudio/vídeo aprimorados 

O arquivo session_participants_count.sql pode ser executado para estimar o tamanho dos servidores de áudio/vídeo aprimorados. A saída das consultas SQL serão as entradas para a calculadora, que é um arquivo Excel, Additional Enhanced A/V hardware estimator.xlsx.

A calculadora ajuda a estimar o número de VMs necessárias com base em seu uso anterior do Adobe Connect. A calculadora precisa do seguinte conjunto de entradas.

  • O número de núcleos da CPU do servidor e RAM. 
  • As consultas SQL anexadas são usadas para determinar o número máximo de sessões simultâneas realizadas nos últimos 12 meses e o número médio de participantes.

  • O número estimado de editores em cada sessão. Um editor é um participante da reunião (host, apresentador ou participante) que conecta seu microfone na sala de reuniões (com mudo ativado ou desativado) e sua webcam na sala de reuniões (ao vivo e pausada).

Observação:

Ambos os arquivos session_participants_count.sql e Additional Enhanced A/V hardware estimator.xlsx estão incluídos no pacote do instalador e não estão disponíveis em outro lugar.

Estimar requisitos de FQDN e certificado SSL

FQDN:

  • Um registro DNS público para o Balanceador de Carga de Aplicativo externo, por exemplo, webrtc.example.com

  • Um registro DNS público para cada servidor de mídia, por exemplo, media-1.example.com

CERTIFICADOS SSL:

  • Um certificado SSL para LB FQDN 

  • A configuração TURNS é recomendada para servidores de mídia, portanto, um certificado para cada servidor de mídia.

Entenda a arquitetura de rede

Cluster local do Adobe Connect 12.4

Requisitos de abertura de porta

Origem Destino Porta Protocolo Usar
Nó de sinalização Redis 6379 TCP  
Postgres 5432 TCP  
Nó de gravação 5000-5100 TCP  
Nó de ASR 6000-6100 TCP  
SIP ou nó de
servidor de mídia
5060 UDP Para sinalização SIP
Nó de SIP ou servidor de mídia
5060 TCP
Servidor CPS 80 TCP Para configurações de POC ou demonstração sendo executadas sem SSL
Servidor CPS/LB 443 TCP
Nó de gravação Nó de
servidor de mídia (*)
443 TCP TURNS
3478 UDP STUN/TURN
3478 TCP STUN/TURN
30000 - 65535 UDP SRTP (fluxo de mídia em tempo real)
Servidor CPS 80 TCP Para configurações de POC ou demonstração sendo executadas sem SSL
Servidor CPS/LB 443 TCP  
Redis 6379 TCP  
Nó de sinalização 8090 TCP
 
Nó de sinalização
18443 TCP Para configurações de POC ou demonstração sendo executadas sem LB
Balanceador de Carga WebRTC (**) 443 TCP
 
Nó do servidor de mídia Redis 6379 TCP
 
Postgres 5432 TCP
 
stun.I.google.com 19302 UDP Para descobrir o IP público. Verificando o tipo de NAT. 
stun1.I.google.com
19302 UDP Para descobrir o IP público. Verificando o tipo de NAT. 
Nó de sinalização 18443 TCP Para configurações de POC ou demonstração sendo executadas sem LB
Nó do servidor de mídia 8445 TCP Para executar o clustering no caso de várias mídias
Balanceador de Carga WebRTC (**) 443 TCP
Para registro no WebRTC Gateway 
Servidor CPS Balanceador de Carga WebRTC 
443 TCP  
Nó de gravação 80 TCP
Baixando arquivos de gravação
Nó de sinalização 18443 TCP Para configurações de POC ou demonstração sendo executadas sem LB
Usuários/Cliente/Internet Nó do servidor de mídia (*)
443 TCP

 

 

 

 

TURNS (Áudio-Vídeo sobre TLS) 

3478 UDP STUN/TURN
3478 TCP STUN/TURN
30000 - 65535 UDP SRTP (fluxo de mídia em tempo real)
Servidor CPS 80 TCP
Para configurações de POC ou demonstração sendo executadas sem SSL
Servidor CPS/LB 443 TCP  
Nó de sinalização 18443 TCP Para configurações de POC ou demonstração sendo executadas sem LB
Balanceador de Carga WebRTC 
443 TCP
 
Nó do SIP Redis 6379 TCP
Na maioria dos casos, o serviço SIP é executado no nó do servidor de mídia 
Postgres 5432 TCP
Balanceador de Carga WebRTC 
443 TCP
Nó de sinalização 18443 TCP Para configurações de POC ou demonstração sendo executadas sem LB
Legenda automática/Nó de ASR Redis 6379 TCP  
Nó de sinalização 8080 TCP Para conexão de mídia
Nó do servidor de mídia (*) 3000-65535 UDP SRTP (fluxo de mídia em tempo real)
443 TCP
TURNS
3478 UDP STUN/TURN
3478   STUN/TURN
Nó de sinalização 8090 TCP
 
Servidor CPS 80 TCP
Para configurações de POC ou demonstração sendo executadas sem SSL
Servidor CPS/LB 443 TCP
 

* Na maioria dos casos, os servidores de mídia têm um endereço IP público, mas em ambientes restritos onde o acesso ao Adobe Connect não é necessário pela Internet, as portas devem estar abertas para seu endereço IP privado.

** Há um Balanceador de Carga WebRTC externo para roteamento de tráfego para vários nós de sinalização e para descarregamento de SSL. O LB atua como uma interface entre os novos servidores WebRTC e o CPS e os usuários finais.

O balanceamento de carga geralmente é feito por meio de um balanceador de carga de aplicativo externo com a configuração abaixo.

  • Porta HTTPS 443: Porta HTTP 18443 dos nós de sinalização - os usuários finais e do CPS se conectam a este ouvinte e este é o ponto de entrada para o novo cluster WebRTC.

  • Porta HTTPS 443: Porta HTTP 9090 dos nós de sinalização - usada pelo administrador para conectar-se ao painel da Web do administrador do WebRTC para configurar TURNS e SIP/Telefonia.

Requisitos de sistema para servidores de áudio/vídeo aprimorados

  • SO - Red Hat Enterprise Linux 64 bits versão 8.6
  • Bibliotecas de terceiros (código aberto) instaladas nos servidores:
    • Podman 4.2.0
    • Virtualenv 20.19.0
    • Python 3.9
    • Tubo 21.3.1
    • Bibliotecas Python (pydantic, pyhocon, docker, redis, packaging, psycopg2-binary, python-json-logger, pystun3, coloredlogs, colorama)

Preparar o ambiente

Uma configuração de áudio e vídeo aprimorados típica precisaria de pelo menos três servidores Red Hat. Um para cada um dos nós de sinalização, mídia e gravação. O avaliador com base na carga da reunião pode sugerir vários nós de servidor de mídia, gravação e sinalização. Um balanceador de carga de aplicativo seria usado para descarregamento de SSL e para comunicação entre o CPS e clientes de usuário final com nós de sinalização.

Algumas configurações baseadas na carga podem ter apenas dois servidores com contêineres de serviço de gravação em execução no nó de sinalização.

Aqui vamos descrever as três configurações de servidor mais comuns em detalhes.

  • Provisione 3 servidores Red Hat. Consulte o Avaliador de hardware para obter informações sobre configuração.
  • A instalação requer um usuário não-raiz com acesso sudo.
    • Após uma nova instalação do Red Hat, crie um novo id de usuário.
    • Para ativar o sudo para a nova ID de usuário no RHEL, adicione a ID ao grupo de discos:
      • Torne-se raiz executando us.
      • Execute usermod -aG wheel your_user_id.
      • Faça logoff e logon novamente usando a nova ID.
  • Atribua endereços IP estáticos aos nós de sinalização e gravação.
  • Provisione e atribua um endereço IP público para o servidor de mídia. Se estiver usando o NAT 1:1, o IP público deve ser mapeado para o IP privado do servidor de mídia.
  • Crie um registro DNS público para o servidor de mídia. É altamente recomendável configurar o TURNS (conexão sobre TLS 443). Também, forneça um certificado SSL para esse FQDN. 
  • Abra as portas de rede necessárias entre os três nós. Consulte a seção Arquitetura de rede. 
  • Configure um balanceador de carga de aplicativo externo conforme descrito na seção anterior. Além disso, configure um registro DNS público para o LB e provisione um certificado SSL. 

Copiar o arquivo zip do instalador

  1. Copie o NCC_Onprem_12_4_Installer.zip para o diretório inicial de todos os nós.
    Por exemplo, scp NCC_Onprem_12_4_Installer.zip -i ssh_key.pem my-user@webrtc.corp.example.com:/home/my-user/

  2. Como opção, verifique o zip assinado baixado usando Jarsigner. O Jarsigner é instalado como parte do JAVA.

    1. Verifique se o JAVA está instalado usando o comando [java -version]. Se o Java estiver instalado, você obtém a versão JAVA como uma saída.
    2. Se o Java não estiver presente na máquina, instale o JAVA.
      sudo yum install java-1.8.0-openjdk-devel 
    3. Agora, copie o comando abaixo na janela Terminal e clique em Enter.
      jarsigner -verify -verbose NCC_Onprem_12_4_Installer.zip
    4. A saída da verificação contém:
      • lista de arquivos dentro do zip
      • informações de certificado do Adobe para autenticação
      • a mensagem de saída bem-sucedida "o jar está verificado" ou a malsucedida  "o jar não está verificado"
    5. Se as informações do certificado forem válidas e se a mensagem de saída da verificação bem-sucedida for impressa, o usuário poderá usar o conteúdo do zip e prosseguir para a instalação, caso contrário o usuário precisará entrar em contato com o Suporte da Adobe.
  3. Extraia o ZIP. Verifique se os arquivos têm as permissões apropriadas.
    Use os comandos: Não execute nenhum comando com acesso root/sudo, a menos que especificado claramente.

    descompactar NCC_Onprem_12_4_Installer.zip
    Percorra o diretório-pai do instalador, por exemplo,
    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

    Observação:

    Ao executar a instalação em um ambiente sem acesso à Internet ou em um ambiente bloqueado, execute o comando abaixo:

    sudo chmod +x Externaldependecies/package-util.sh
  4. Executar o script de instalação de dependência.

    1. Ao executar a instalação em um ambiente sem acesso à Internet ou em um ambiente bloqueado, execute o comando abaixo para instalar dependências externas: Se você tiver acesso à Internet, continue com a seguinte etapa 2.
      Percorra o diretório pai do instalador, por exemplo, Verifique se você está no diretório ~/ncc-onprem-installer/.
      Execute o bash ExternalDependencies/package-util.sh —install. Isso instala todas as dependências externas necessárias na caixa.

      Isso é necessário uma vez por nó.
    2. Percorra o diretório pai do instalador, por exemplo, Verifique se você está no diretório ~/ncc-onprem-installer/.
      Execute o bash ExternalDependencies/install.sh. Isso instala todas as dependências externas necessárias na caixa.

      Isso é necessário uma vez por nó.

Processo de instalação

As etapas a seguir vão para a instalação do ambiente WebRTC (como exemplo) em 4 instâncias separadas do Red Hat.  Um nó de sinalização, um nó de gravação, um nó de servidor de mídia e um nó de ASR.  Preste muita atenção aos serviços configurados no containers.conf para obter instruções de cada nó. Você precisa configurar cada nó com um conjunto específico de serviços/contêineres nos arquivos de configuração.

** Em um sistema de laboratório, você pode instalar todos esses ‘nós’ (sinalização, gravação e servidor de ASR) em uma instância do Linux.  Nesse caso, no arquivo containers.conf, você definiria "count=1" para todos os servidores/contêineres necessários para o seu ambiente. 

Nó de sinalização

Nos nós de sinalização, você normalmente executaria os seguintes serviços. Cada serviço é executado como um contêiner de docker.

  • config (Serviço de configuração)
  • cas (Novo serviço de API do Connect)
  • apigw (Gateway/Roteador de API)
  • liveswitch-gateway (Serviço de Gateway WebRTC)

Os nós de sinalização geralmente estão na sub-rede privada acessível ao cliente Connect por meio de um balanceador de carga externo. 

Procedimento

  1. Editar o arquivo de hosts

    No nó de sinalização, o arquivo de hosts deve ser atualizado. Você pode usar um editor de texto como nano ou vi. 

    1. Abra o arquivo /etc/hosts usando o editor nano ou vi, por exemplo, sudo vi /etc/hosts
    2. Adicione a seguinte linha no final. Substitua o <private-ip> com o IP privado do host. Observe o espaço entre cada palavra abaixo. 

    <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

    No nó de ASR, o arquivo de hosts deve ser atualizado. Você pode usar um editor de texto como nano ou vi.

    1. Abra o arquivo /etc/hosts usando o editor nano ou vi, por exemplo, sudo vi /etc/hosts
    2. Adicione a seguinte linha no final. Substitua o <private-ip> com o IP privado do host. Observe o espaço entre cada palavra abaixo.

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

    Observação:
    Altere o <private-ip> com o IP privado do host de sinal
  2. Editar os arquivos de configuração

    1. Edite o arquivo de configuração presente em, ncc-onprem-installer/Config/config.conf. As instruções para editar o arquivo são adicionadas como comentários no arquivo de configuração. Esse arquivo precisa ser editado para cada host separadamente.
    2. Agora, edite ncc-onprem-installer/Config/containers.conf. As instruções para editar o arquivo são adicionadas como comentários no arquivo. Esse arquivo precisa ser editado para cada host separadamente. Dependendo dos serviços a serem instalados e do número de contêineres a serem implantados. 
    3. Em um nó de sinalização típico, você instalaria:
      • casServer
      • configService
      • apiGateway
      • gatewayServer
      • redis
      • postgres
      • lb (opcional. Consulte a seção Balanceador de Carga abaixo para obter etapas adicionais de configuração.)
    4. Portanto, defina count=1 para todos os serviços acima e 0 para todos os outros. 
    5. Importante: defina restart=1 para configService, depois de fazer qualquer alteração em Config.conf. 
    6. Em configurações que exigem vários nós de sinalização, os bancos de dados Redis e Postgres são instalados apenas no primeiro nó. 
  3. Executar o script do instalador principal.
    Alterne para o diretório do instalador principal cd ~/ncc-onprem-installer/ 
    Execute o script do instalador principal bash MainInstall.sh. Aguarde a mensagem de confirmação.
    Mensagem de sucesso:
                   2023-01-31 18:21:34,033 : INFORMAÇÕES : Principal : 55 : instalação bem-sucedida. 
    Mensagem de falha:
                   2023-01-31 20:04:44.849 : ERRO : Principal : 59 : Falha na instalação. Verifique o arquivo installer.log para mais informações. 

    Consulte a seção de solução de problemas.

  4. Verificar instalação

    • API de verificação de integridade 
      Para verificar a integridade do nó, você pode navegar até o URL: http://<private_ip>:18443/health. Uma resposta íntegra deve ser 200 OK {"apigw":"ok"}.  

      Para verificar a partir da máquina RedHat você pode usar o comando CURL 
      Por exemplo, curl -v http://172.31.56.203:18443/health 
    • Verificar Status do Contêiner 
      Na janela Terminal, execute o comando docker ps.
      A saída como a abaixo e o STATUS não devem ser reiniciados para nenhum dos contêineres.
    Status do Contêiner

  5. Use o contêiner de lb do Balanceador de Carga Nginx fornecido

    O instalador agora vem com um contêiner Nginx de código aberto para descarregamento SSL. 

    Isso deve ser usado apenas para laboratórios ou pequenas configurações com apenas 1 nó de sinalização. 

    Você deve instalar o LB no nó de sinalização.

    Ao usar este LB empacotado, o nó de sinalização deve estar nas sub-redes públicas (ou DMZ) e receber um IP público ou mapeado para um IP público via NAT 1:1. Os clientes se conectam ao nó diretamente através da URL do LB na porta 443.

    Em configurações em que o acesso ao Connect não é necessário a partir da Internet, a sinalização deve estar na sub-rede privada, mas ainda acessível da rede interna na porta 443.

    Requisitos:

    • Registros DNS públicos/privados, dependendo do caso de uso
    • Certificado SSL para o registro DNS
    • Chave privada para o certificado SSL

    Etapas para usar o Balanceador de Carga: 

    1. mkdir -p ~/connect/loadbalancer/certs
    2. Copie o certificado SSL (emitido para o FQDN do nó de sinalização) e a chave privada para o diretório de certificados. Verifique se os nomes são cert.crt e key.key.
    3. No arquivo config.conf, adicione o FQDN na seção hostnames>lb e também na seção hostnames>fqdn, pois esse seria agora o ponto de entrada do cluster WebRTC.
    4. No arquivo container.conf, atualize a contagem do lb para 1.
    5. Agora, execute o bash MainInstall.sh.

    Se estiver usando um certificado curinga com uma instância do AWS EC2: 

    1. Crie um registro A no Route53. Por exemplo, se o certificado curinga for *.example.com, crie o registro A como webrtc.example.com e mapeie-o para o IP Elástico da instância EC2.
    2. Copie o certificado e a chave curingas para o diretório ~/connect/loadbalancer/certs. Verifique se os nomes são cert.crt e key.key.
    3. Adicione o FQDN. Por exemplo, webrtc.example.com no hostnames>lb e também no hostnames>fqdn.
    4. No arquivo container.conf, atualize a contagem do lb para 1.
    5. Agora, execute o bash MainInstall.sh.
Nó do Servidor de Mídia

Nos nós de mídia, você executaria os seguintes serviços: 

  • liveswitch-media-server (Servidor de Mídia) - Para áudio e vídeo aprimorados
  • liveswitch-sip-connector (serviço SIP) - Para usar SIP

Os nós de mídia devem estar nas sub-redes públicas (ou DMZ) e receber um IP público ou ser mapeados para um IP público via NAT 1:1. Os clientes se conectam diretamente aos IPs públicos do nó de mídia. 

O cliente de áudio e vídeo aprimorados (WebRTC) usa o método ICE para conectividade e tenta estabelecer um fluxo de áudio e vídeo com o servidor de mídia nas portas e no protocolo abaixo: 

  • Portas UDP no intervalo 30000 - 65535 controlam o fluxo de mídia em tempo real.
  • Identificador de porta UDP e TCP 3478 STUN e TURN para ajudar os clientes a fazer o stream através dos firewalls.
  • TLS na porta 443 para habilitar TURNS para garantir alta disponibilidade para streaming em redes restritas. 
  • O Cliente C12 baseado em WebRTC tenta todas as opções (TCP e UDP) antes de mudar para TLS na porta 443
  • UDP e TCP porta 5060  suportam tráfico SIP para registro de tronco/PBX e chamadas de entrada/saída. (Obrigatório se você estiver usando SIP)

Procedimento

  1. Executar o script do instalador principal.
    Alterne para o diretório do instalador principal cd ~/ncc-onprem-installer/
     
    Execute o script do instalador principal bash MainInstall.sh. Aguarde a mensagem de confirmação.
    Mensagem de sucesso
    2023-01-31 18:21:34,033 : INFORMAÇÕES : Principal : 55 : instalação bem-sucedida.
    Mensagem de falha
                   2023-01-31 20:04:44,849 : ERRO : Principal : 59 : Falha na instalação. Verifique o arquivo installer.log para mais informações.    

    Consulte a seção de solução de problemas.

  2. Verificar instalação

    Na janela Terminal, execute o comando docker ps e verifique se o contêiner liveswitch-media-server está em execução. 

Nó de gravação

Os nós de gravação devem ser executados em uma rede privada. Em nós de gravação, você pode executar uma ou mais instâncias de: 

  • hcr (Contêiner de Gravação. Nº de contêineres hcr decidem sobre gravações simultâneas que podem ser executadas) 
  • recordingserver (WebServer) para fornecer arquivos de gravação ao CPS. 1 por nó de gravação) 

Os nós de gravação devem ser acessíveis em: 

  • TCP 80 da rede local, para que o CPS possa baixar as gravações.
  • TCP 5000-5100 da rede local, contêineres de gravação individuais seriam vinculados a portas de host nesse intervalo.
  • TCP 8090 da rede local. 

Os nós de gravação devem ser capazes de acessar os nós de mídia no IP público nas portas listadas na seção Nós de mídia e para CPS na porta 443 para fazer uma gravação bem-sucedida.

Procedimento

  1. Editar os arquivos de configuração

    1. Edite o arquivo config.conf ou copie-o do nó de sinalização, ~/ ncc-onprem-installer /Config/config.conf
    2. Agora, edite  ~/ncc-onprem-installer/Config/containers.conf. As instruções para editar o arquivo estão adicionadas como comentários no arquivo.
    3. Em um nó do servidor de gravação, você instalaria:
      • recordingContainer  
      • recordingserver  
    4. Portanto, defina count >= 1 para recordingContainer, 1 para recordingserver e 0 para todos os outros.
  2. Executar o script do instalador principal
    Alterne para o diretório do instalador principal cd ~/ncc-onprem-installer/ncc-onprem-installer/.
    Execute o script do instalador principal, bash MainInstall.sh. Aguarde a mensagem de confirmação.
    Mensagem de sucesso
                    2023-01-31 18:21:34,033 : INFORMAÇÕES : Principal : 55 : instalação bem-sucedida.
    Mensagem de falha
                    2023-01-31 20:04:44,849 : ERRO : Principal : 59 : Falha na instalação. Verifique o arquivo installer.log para mais informações

    Consulte a seção de solução de problemas.

  3. Verificar instalação

    Na janela Terminal, execute o comando B e verifique se o hcr e os contêineres do servidor de gravação estão em execução. 

Nó de ASR 

Os nós de ASR ou Legenda Oculta devem ser executados em uma rede privada. Em nós de ASR, você pode executar uma ou mais instâncias do ASR (contêiner de ASR). O número de contêineres de ASR decide o número de reuniões que terão legendas ocultas sendo executadas simultaneamente).

Os nós de ASR devem ser acessíveis no TCP 6000-6100 da rede local. Os contêineres de ASR individuais seriam vinculados às portas do host neste intervalo. 

Procedimento

  1. Editar os arquivos de configuração.

  2. Edite o arquivo config.conf ou copie-o do nó de sinalização, ~/ ncc-onprem-installer /Config/config.conf

  3. Agora, edite ~/ncc-onprem-installer/Config/containers.conf.

  4. Em um nó do servidor de ASR, você instalaria:

    asrContainer

                Portanto,count >= 1 para asrContainer 

  5. Executar o script do instalador principal.
    Alterne para o diretório do instalador principal cd ~/ncc-onprem-installer/ncc-onprem-installer/.
    Execute o script do instalador principal: bash MainInstall.sh. Aguarde a mensagem de confirmação.

    Mensagem de êxito

             2023-01-31 18:21:34,033 : INFO : Main : 55 :Instalação bem-sucedida.

    Mensagem de falha

            2023-01-31 20:04:44,849 : ERROR : Main : 59 : Falha na instalação. Verifique o arquivo installer.log para mais informações.

Atualização de um sistema com 12.0, 12.1, 12.1.5 

Preparar o ambiente 

Copiar o arquivo zip do instalador.

  1. Copie o NCC_Onprem_12_4_Installer.zip para o diretório inicial de todos os nós.
    Por exemplo, scp NCC_Onprem_12_4_Installer.zip -i ssh_key.pem my-user@webrtc.corp.example.com:/home/my-user/

  2. Como opção, verifique o zip assinado baixado usando Jarsigner. O Jarsigner é instalado como parte do JAVA.

    1. Verifique se o JAVA está instalado usando o comando [java -version]. Se o Java estiver instalado, você obtém a versão JAVA como uma saída.
    2. Se o Java não estiver presente na máquina, instale o JAVA.
      sudo yum install java-1.8.0-openjdk-devel 
    3. Agora, copie o comando abaixo na janela Terminal e clique em Enter.
      jarsigner -verify -verbose NCC_Onprem_12_4_Installer.zip
    4. A saída da verificação contém:
      • lista de arquivos dentro do zip
      • informações de certificado do Adobe para autenticação
      • a mensagem de saída bem-sucedida "o jar está verificado" ou a malsucedida  "o jar não está verificado"
    5. Se as informações do certificado forem válidas e se a mensagem de saída da verificação bem-sucedida for impressa, o usuário poderá usar o conteúdo do zip e prosseguir para a instalação, caso contrário o usuário precisará entrar em contato com o Suporte da Adobe.
  3. Extraia o ZIP. Verifique se os arquivos têm as permissões apropriadas.
    Use os comandos: Não execute nenhum comando com acesso root/sudo, a menos que especificado claramente.

    descompactar NCC_Onprem_12_4_Installer.zip
    Percorra o diretório-pai do instalador, por exemplo,
    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. Executar o script de instalação de dependência.

    Percorra o diretório pai do instalador, por exemplo, 
    Verifique se você está no diretório ~/ncc-onprem-installer/
    Execute o bash ExternalDependencies/install.sh. Isso instala todas as dependências externas necessárias na caixa. 

    Isso é necessário uma vez por nó.

Observação:

O processo de upgrade requer tempo de inatividade.

Nó de sinalização 

Nos nós de sinalização, você normalmente executaria os seguintes serviços. Cada serviço é executado como um contêiner de docker. 

  • config (Serviço de configuração)
  • cas (Novo serviço de API do Connect)
  • apigw (Gateway/Roteador de API)
  • liveswitch-gateway (Serviço de Gateway WebRTC)

Procedimento

  1. Editar os arquivos de configuração

    1. Edite o arquivo de configuração presente em, ncc-onprem-installer/Config/config.conf. As instruções para editar o arquivo são adicionadas como comentários no arquivo de configuração. Esse arquivo precisa ser editado para cada host separadamente. Você pode usar o arquivo config.conf da instalação anterior como referência. Por favor, não substitua o novo arquivo pelo antigo. A versão mais recente tem atualizações importantes. 
    2. Agora, edite ncc-onprem-installer/Config/containers.conf. As instruções para editar o arquivo são adicionadas como comentários no arquivo. Esse arquivo precisa ser editado para cada host separadamente.  
    3. Ao atualizar o nó de sinalização, você normalmente instalaria: 
      • casServer
      • configService
      • apiGateway
      • gatewayServer
    4. Consulte o arquivo da instalação anterior para identificar os serviços a serem instalados e o número de contêineres a serem implantados. Defina count=1 para todos os serviços instalados anteriormente e 0 para todos os outros. 
    5. Importante: defina restart=1 para configService após fazer qualquer alteração no arquivo Config.conf ou ao atualizar usando uma versão mais recente do instalador. 
    6. Importante: durante a atualização, os bancos de dados Redis e Postgres enviados não são instalados. Portanto, mantenha a contagem como 0 no arquivo containers.conf. 
  2. Alterne para o diretório do instalador principal cd ~/ncc-onprem-installer/ 
    Execute o script do instalador principal bash MainInstall.sh. O instalador atualiza automaticamente os serviços para a versão mais recente. Aguarde a mensagem de confirmação. 
    Mensagem de sucesso:
                   2023-01-31 18:21:34,033 : INFORMAÇÕES : Principal : 55 : instalação bem-sucedida.
    Mensagem de falha:
                  2023-01-31 20:04:44.849 : ERRO : Principal : 59 : Falha na instalação. Verifique o arquivo installer.log para mais informações. 
  3. Verificar instalação

    • API de verificação de integridade
      Para verificar a integridade do nó, você pode navegar até o URL: http://<private_ip>:18443/health. Uma resposta íntegra deve ser 200 OK {"apigw":"ok"}. Para verificar a partir da máquina RedHat, você pode usar o comando CURL.
      Por exemplo, curl -v http://172.31.56.203:18443/health
    • Verificar Status do Contêiner
      Na janela Terminal, execute o comando docker ps
      A saída como a abaixo e o STATUS não devem ser reiniciados para nenhum dos contêineres.

    Status do Contêiner

Nó do servidor de mídia

Nos nós de mídia, você executaria os seguintes serviços:

  • liveswitch-media-server (Servidor de Mídia) - Para áudio e vídeo aprimorados
  • liveswitch-sip-connector (serviço SIP) - Para usar SIP

Procedimento

  1. Editar os arquivos de configuração.

    1. Edite o arquivo config.conf ou copie-o do nó de sinalização ~/ncc-onprem-installer /Config/config.conf.  Você pode usar o arquivo config.conf da instalação anterior como referência. Por favor, não substitua o novo arquivo pelo antigo. A versão mais recente tem atualizações importantes.

      Observação:

      Se você estiver em um ambiente restrito, deixe entradas em branco para externalStunUrls0 e externalStunUrls1 na seção gatewayServer. Por examplo, externalStunUrls0="" , externalStunUrls1="".

    2. Agora, edite ~/ncc-onprem-installer/Config/containers.conf. As instruções para editar o arquivo estão adicionadas como comentários no arquivo.
    3. Agora, edite ~/ncc-onprem-installer/Config/containers.conf. As instruções para editar o arquivo estão adicionadas como comentários no arquivo.

    4. Em um nó de servidor de mídia, você atualizaria: 

      • mediaServer
      • sipServer (se SIP/Telefonia for necessário)
    5. Consulte o arquivo da instalação anterior para identificar os serviços a serem instalados e o número de contêineres a serem implantados. Defina count=1 para todos os serviços instalados anteriormente e 0 para todos os outros. 

    6. No bloco mediaServer, atualize os valores para mediaNodePublicIP e mediaNodePublicFQDN. Consulte os comentários incorporados para mais detalhes.

  2. Execute o script do instalador principal 
    Alterne para o diretório do instalador principal cd ~/ncc-onprem-installer/
    Execute o script do instalador principal bash MainInstall.sh. O instalador atualiza automaticamente os serviços para a versão mais recente. Aguarde a mensagem de confirmação.
    Mensagem de sucesso:
                   2023-01-31 18:21:34,033 : INFORMAÇÕES : Principal : 55 : instalação bem-sucedida. 
    Mensagem de falha:
                   2023-01-31 20:04:44.849 : ERRO : Principal : 59 : Falha na instalação. Verifique o arquivo installer.log para mais informações. 

    Consulte a seção solução de problemas.

  3. Verificar instalação

    Na janela Terminal, execute o comando docker ps e verifique se os contêineres liveswitch-media-server e liveswitch-sip-connector (instalação opcional) estão em execução.

Nó de gravação

Os nós de gravação devem ser executados em uma rede privada. Em nós de gravação, você pode executar uma ou mais instâncias: 
hcr (Contêiner de Gravação. O número de contêineres de hcr é igual ao número de gravações simultâneas que podem ser executadas.)

Procedimento

  1. Editar os arquivos de configuração

    1. Edite o arquivo config.conf ou copie-o do nó de sinalização, ~/ ncc-onprem-installer /Config/config.conf. Você pode usar o arquivo config.conf da instalação anterior como referência. Por favor, não substitua o novo arquivo pelo antigo. A versão mais recente tem atualizações importantes.
    2. Agora, edite ~/ncc-onprem-installer/Config/containers.conf. As instruções para editar o arquivo estão adicionadas como comentários no arquivo.
    3. Em um nó de servidor de gravação, você atualizaria: 
      • recordingContainer
    4. Consulte o arquivo containers.conf do diretório de instalação anterior e defina o mesmo valor de count para recordingContainer e 0 para todos os outros serviços. 
  2. Executar o script do instalador principal.
    Alterne para o diretório do instalador principal cd ~/ncc-onprem-installer/ncc-onprem-installer/ 
    Execute o script do instalador principal bash MainInstall.sh. O instalador atualiza automaticamente os serviços para a versão mais recente. Aguarde a mensagem de confirmação.
    Mensagem de sucesso:
                   2023-01-31 18:21:34,033 : INFORMAÇÕES : Principal : 55 : instalação bem-sucedida.
    Mensagem de falha:
              2023-01-31 20:04:44,849 : ERRO : Principal : 59 : Falha na instalação. Verifique o arquivo installer.log para mais informações.

    Consulte a seção de solução de problemas.

  3. Verificar instalação

    Na janela Terminal, execute o comando docker ps e verifique se os contêineres de hcr estão em execução.

Configurar o áudio e vídeo aprimorados no Adobe Connect Service (CPS)

As seguintes etapas precisam ser executadas em todos os servidores do Adobe Connect 12 (CPS):

  1. Adicione as configurações abaixo em custom.ini de todos os servidores do connect presentes em <Installation_Dir>/Connect/custom.ini.
    # lista separada por vírgula separated list de URLs de descoberta de CAS
    # Valores possíveis
    WEBRTC_CAS_DISCOVERY_URLS=http://<Signalling Node IP >:18443/api/cps/ingest
    WEBRTC_CAS_DISCOVERY_URLS=http://<Load Balancer URL>/api/cps/ingest
    # Segredo compartilhado para CAS, usado para assinar solicitações para CAS. Insira o que você definiu na seção hmac no arquivo config.conf no nó de sinalização.
    WEBRTC_CAS_SHARED_SECRET=CorrectHorseBatteryStaple
  2. Salve o arquivo e reinicie o serviço connectpro.

Processo de pós-instalação

  1. Verificar Conectividade de Rede

    Execute o fluxo de trabalho do Teste de Conectividade para verificar a conectividade de rede entre nós diferentes 

    1. Efetue logon no nó de sinalização.
    2. Percorra o diretório pai do instalador, por exemplo,
      cd ~/ncc-onprem-installer/ncc-onprem-installer/
    3. Execute o comando bash check-connectivity.sh.
    4. A ferramenta de conectividade usa os valores fornecidos no arquivo Config.conf para executar testes básicos de rede como: 
      • Solicitações HTTP entre serviços diferentes 
      • Testes de conectividade de rede nas portas TCP e UDP necessárias
      • Resolução de nomes
      • Conectividade do banco de dados
    5. Este teste verifica a conectividade necessária entre os nós e serviços e compartilha os resultados para ajudar a diagnosticar problemas de conectividade da rede.
  2. Testar o Adobe Connect Meeting com áudio e vídeo aprimorados 

    1. Crie uma nova reunião e certifique-se de que a opção Áudio/vídeo aprimorados esteja selecionada.
    2. Entre na sala de reuniões e ative o microfone e a câmera.
    3. Se possível, ingresse também na sala de um PC ou dispositivo móvel diferente e verifique a troca de áudio e vídeo.
    4. Experimente o compartilhamento de tela.    
    5. Inicie a gravação. Espere 30s e pare. Agora, verifique se a gravação está acessível.

Configuração de Recursos Adicionais 

Configurar SIP 

Para configurar o SIP, você deve acessar o painel da Web do administrador de FM. 

  1. Visite: http://<your-load-balancer-address>:9090/admin  e efetue logon com o nome de usuário e a senha configurados no config.conf. Se você não estiver usando um balanceador de carga, navegue até http://<signalling_node-address>:9090/admin.
  2. Visite APLICATIVOS, depois adobeconnecte e role para baixo até Canais.
    Configure a ID de Chamador de Saída SIP para ambos padrão (*) e grupo de canais de transmissão*.
    Configuração de ID de chamador de saída SIP

  3. No menu principal, vá para IMPLANTAÇÕES e edite a configuração SIP.

    Configuração SIP

Carregar certificado TURNS para administrador de FM 

Para fornecer terminação SSL para associações TURNS, você pode carregar um certificado no painel do administrador FM.

O certificado deve estar no formato PFX.

Siga as etapas abaixo:

  1. Visite: http://<your-load-balancer-address>:9090/admin e efetue logon com o nome de usuário e a senha configurados no config.conf. Se você não estiver usando um balanceador de carga, navegue até http://<signalling_node-address>:9090/admin.

  2. Vá a CERTIFICADOS

  3. Em Certificados de arquivo, selecione em um sinal + e carregue o certificado do domínio que você está usando.

Configurar a associação TURNS 

Isso é necessário para que possamos ter comunicação TURN segura.

Se você já carregou o certificado conforme discutido na seção anterior, execute as seguintes etapas:

  1. Navegue até IMPLANTAÇÕES, depois selecione Padrão

  2. Role para baixo até a seção Configuração avançada.

  3. Configure as associações do TURNS com o certificado carregado anteriormente.

    Configurar a associação TURNS

Desinstalação

  1. Altere para o diretório raiz do instalador (o diretório raiz contém uninstall.sh) cd ~/ncc_onprem_installer.

  2. Execute bash uninstall.sh.

  3. Para remover o diretório de dados dos bancos de dados Postgres e Redis do nó de sinalização, execute o comando abaixo.

    sudo rm -rf ~/connect  

Observação:

Isso remove todos os componentes e imagens NCC do sistema. Mas as dependências externas (Python, PIP, Virtualenv e pacotes do Python) não são excluídas. 

Solução de problemas

docker.errors.DockerException: Erro ao buscar a versão API do servidor: (“Conexão abortada”, FileNotFoundError(2, “Não há tal arquivo ou diretório”))

Esta mensagem de erro é exibida quando a variável de ambiente DOCKER_HOST não está definida corretamente. Siga as etapas abaixo:

  1. Percorra o diretório pai do instalador, por exemplo:
    cd ~/ncc-onprem-installer/
  2. Execute o comando source ~/.bash_profile

Se as etapas acima não resolverem o problema, siga as etapas abaixo:

  1. Remover Podman sudo yum remove podman-remote
  2. Desconecte-se da conta de usuário atual e efetue o logon novamente.
  3. Percorra o diretório pai do instalador, por exemplo:
    cd ~/ncc-onprem-installer/
  4. Execute bash ExternalDependencies/install.sh.
Observação:

Não execute nenhum comando com acesso root/sudo, a menos que especificado claramente.

2023-03-22 03:27:12 : ERRO : Principal : 48 : Falha ao iniciar o Postgres.

Esta mensagem de erro é exibida quando o contêiner do docker do Postgres não consegue montar o volume do host devido a um problema de permissão. Siga as etapas abaixo:         

  1. Percorra o diretório pai do instalador, por exemplo,
    cd ~/ncc-onprem-installer/
  2. Execute o comando docker load -i images/postgres.tar.gz
  3. Em seguida, execute:
    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. Isso corrigirá os problemas de permissão no diretório do host.
  5. Agora, execute o comando abaixo para remover o contêiner do docker do Postgres.
    docker rm -f postgres
  6. Por fim, execute o MainInstaller novamente.
    bash MainInstall.sh 

pydantic.errors.PydanticImportError: `BaseSettings` foram movidas para o pacote `pydantic-settings`. Consultehttps://docs.pydantic.dev/2.0/migration/#basesettings-has-moved-to-pydantic-settings para obter mais detalhes.

Siga as etapas abaixo:         

  1. Percorra o diretório pai do instalador, por exemplo,
    cd ~/ncc-onprem-installer/
  2. Execute o comando: source bin/activate
  3. Em seguida, execute este comando para desinstalar o pydatic:
    python3 -m pip uninstall pydantic
  4. Execute este comando para reinstalar o Pydantic:
    python3 -m pip install "pydantic==1.*"
  5. Por fim, execute o MainInstaller novamente.
    bash MainInstall.sh 

O media server precisa de 1 :1 NAT, o que significa que qualquer entrada e saída de tráfego para o media server para a Internet precisa usar o IP público. O media server descobre automaticamente seu IP público para usar o protocolo STUN uma vez que você tenha configurado NAT 1:1 para o media server em seu roteador ou firewall. Acesse a interface de administração do portal WebRTC e se certifique de que o mediaver possa detectar seu endereço público de IP. 

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

O Media Server não pode ser alcançado pelos clientes mesmo após NAT 1:1 funcionar corretamente

O Cliente WebRTC utiliza o ICE e tenta estabelecer um fluxo de áudio e vídeo com o media server na ordem abaixo:

  • UDP na faixa de porta de 35000 a 65535 

  • TCP na porta 3478

  • TLS na porta 443 

  • O Cliente base C12 WebRTC tentará todas as opções (TCP e UDP) antes de mudar para TLS pela porta 443

Por padrão, o Connect 12.4.1 é criado com a suposição de que CPS e WebRTC e New Connect Cluster (conhecido também como NCC) estão no mesmo VLAN/VPC ou domínio de transmissão. Caso você os tenha em redes diferentes, assegure-se de que tem o roteamento de camada três entre CPS e NCC/WebRTC para ter conectividade de rede em ambas as direções. 

Para verificar a conectividade de rede entre CPS e NCC, use CURL e Telnet. 

A conectividade CPS e NCC funciona somente em HTTPS.

O erro abaixo aparece nos registros de container de FMGW A segunda instância Redis está definida para funcionar como secundária. 

ERRO [FM.LiveSwitch.Signalling.Server.IdleThread][-] 2022-07-21T12:46:29.439Z Erro inesperado na linha ociosa.
StackExchange.Redis.RedisServerException: READONLY Você não pode escrever contra uma secundária.

Solução:  

Abra o arquivo de configuração correspondente ao serviço Redis e modifique o valor do atributo “apenas leitura de escravo" para “não”. 

Como solução alternativa, siga as etapas abaixo:

  1. cd ncc-onprem-installer.
  2. mv Images images.
  3. sed -i 's/Images\//images\//' Installer/utils/global_constants.py.
  4. Desinstalar - Execute uninstall.sh.
  5. Reinstalar - Execute MainInstall.sh.       

Exceções de BD de fluxo em logs podem ser ignoradas por enquanto.

Depois de reinicializar uma instância e reiniciar um contêiner de docker, se você verificar os logs para o contêiner do cas, verá as exceções.

Para resolver esse problema, reinicie o contêiner do cas. Digite cas de reinicialização do docker.

Mais semelhantes

Receba ajuda com mais rapidez e facilidade

Novo usuário?