Руководство по установке Adobe Connect 12.2 (настройка улучшенного интерфейса для работы с аудио и видео)

Введение

В Adobe Connect используется новейшая структура WebRTC, позволяющая реализовать улучшенные возможности для работы с аудио и видео. Эта настройка улучшенного интерфейса для работы с аудио и видео работает на базе нескольких узлов Linux®, каждый из которых выполняет свои функции. Существуют узлы передачи сигнала, узлы медиасервера и узлы записи. При настройке также используются базы данных PostgreSQL и Redis, которые можно установить на одно устройство или на отдельные устройства в зависимости от вида использования.

Настройка каждого узла осуществляется посредством копирования на него ZIP-файла с программой установки, изменения файлов конфигурации, выполнения сценария установки зависимостей и, наконец, выполнения основного сценария установки. Ниже перечислены темы, которые рассматриваются далее:

Эти действия описаны в разделе «Установка».

Обязательные и системные требования 

Оценка размера серверов/узлов улучшенного интерфейса для работы с аудио и видео 

Для оценки размера серверов улучшенного интерфейса для работы с аудио и видео можно запустить файл session_participants_count.sql. Результаты запросов SQL станут входными данными для калькулятора, который представляет собой файл Excel, Additional Enhanced A/V hardware estimator.xlsx.

Калькулятор поможет оценить количество необходимых виртуальных машин исходя из ретроспективных данных об использовании Adobe Connect. Калькулятору потребуется следующий набор входных данных.

  • Количество ядер ЦП и величина ОЗУ. 
  • Прилагаемые запросы 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 СЕРТИФИКАТЫ:

  • Один SSL-сертификат для FQDN балансировщика нагрузки 

  • Для медиасерверов рекомендуется конфигурация TURNS, соответственно, один сертификат для каждого медиасервера.

Понимание архитектуры сети

Требования к открытию портов

Источник Пункт назначения Порт Протокол Использование
Узел передачи сигнала Redis 6379 TCP  
Postgres 5432 TCP  
Узел записи 5000-5100 TCP  
SIP-узел или узел
медиасервера
5060 UDP  
SIP-узел или
узел медиасервера
5060 TCP Для передачи сигналов SIP
Сервер CPS 443 TCP
Узел записи Узел
медиасервера (*)
443 TCP TURNS
3478 UDP STUN/TURN
3478 TCP STUN/TURN
30000 - 65535 UDP SRTP (медиапоток в режиме реального времени)
Сервер CPS 443 TCP  
Redis 6379 TCP  
Узел передачи сигнала 8090 TCP
 
Балансировщик нагрузки 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. 
Балансировщик нагрузки WebRTC (**) 443 TCP
Для регистрации в шлюзе WebRTC 
Сервер CPS Балансировщик нагрузки WebRTC 
443 TCP
 
Узел записи 80 TCP
Загрузка файлов записей
Пользователи/Клиент/Интернет Узел медиасервера (*)
443 TCP

 

 

 

 

TURNS (аудио-видео через TLS) 

3478 UDP STUN/TURN
3478 TCP STUN/TURN
30000 - 65535 UDP SRTP (медиапоток в режиме реального времени)
Сервер CPS 443 TCP
 
Балансировщик нагрузки WebRTC 
443 TCP
 
SIP-узел Redis 6379 TCP
В большинстве случаев служба SIP работает на базе узла медиасервера 
Postgres 5432 TCP
Балансировщик нагрузки WebRTC 
443 TCP

* Медиасерверы в большинстве случаев имеют общедоступный IP-адрес, но в ограниченных средах, где доступ к Adobe Connect i через Интернет не требуется, порты должны быть открыты для их частного IP-адреса.

** Для маршрутизации трафика на несколько узлов передачи сигнала и для разгрузки SSL существует внешний балансировщик нагрузки WebRTC. Балансировщик нагрузки выступает в качестве интерфейса между новыми серверами WebRTC и CPS и конечными пользователями.

Балансировка нагрузки, как правило, осуществляется посредством внешнего балансировщика нагрузки приложения с описанной далее конфигурацией.

  • HTTPS порт 443: узлы передачи сигнала, HTTP порт 18443 — CPS и конечные пользователи будут подключаться к этому слушателю, и это будет входная точка для нового кластера WebRTC.

  • HTTP порт 443: узлы передачи сигнала, HTTP порт 9090 — используется администратором для подключения к веб-панели администратора WebRTC для настройки TURNS и SIP/телефонии.

Системные требования для серверов улучшенного интерфейса для работы с аудио и видео

  • ОС – 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)

Подготовка среды

Для стандартной настройки улучшенного интерфейса для работы с аудио и видео требуется как минимум три сервера Red Hat: по одному для узла передачи сигнала, узла медиасервера и узла записи. Исходя из уровня нагрузки собраний, блок оценки может предложить использовать несколько узлов медиасервера, записи и передачи сигнала. Для разгрузки SSL и для связи между CPS и клиентами конечных пользователей с узлами передачи сигнала используется балансировщик нагрузки приложения.

В некоторых случаях настройка на основе нагрузки может предусматривать всего два сервера с контейнерами службы записи, работающими на узле передачи сигнала.

Здесь мы подробно рассмотрим наиболее распространенные варианты настройки с тремя серверами.

  • Предоставьте 3 сервера Red Hat. С конфигурацией можно ознакомиться в разделе «Блок оценки аппаратного обеспечения».
  • Для установки требуется некорневой пользователь с sudo-доступом.
    • После новой установки Red Hat создайте новый идентификатор пользователя.
    • Чтобы активировать sudo для нового идентификатора пользователя на RHEL, добавьте этот идентификатор в группу wheel:
      • Получите корневой статус, выполнив su.
      • Выполните usermod -aG wheel your_user_id.
      • Выйдите из системы и войдите обратно с новым идентификатором пользователя.
  • Присвойте статические IP-адреса узлам передачи сигнала и записи.
  • Выделите и присвойте общедоступный IP-адрес медиасерверу. При использовании 1:1 NAT общедоступный IP-адрес должен быть увязан с частным IP-адресом медиасервера.
  • Создайте общедоступную запись DNS для медиасервера. Настоятельно рекомендуется настроить TURNS (подключение через TLS 443), поэтому также обеспечьте SSL-сертификат для этого FQDN. 
  • Откройте необходимые сетевые порты между тремя узлами. Ознакомьтесь с разделом «Архитектура сети». 
  • Настройте внешний балансировщик нагрузки приложения, как описано в предыдущем разделе. Также настройте общедоступную запись DNS для балансировщика нагрузки и обеспечьте SSL-сертификат. 

Копирование ZIP-файла программы установки

  1. Скопируйте файл NCC_Onprem_12_2_Installer.zip в корневой каталог всех узлов.
    Например, scp  NCC_Onprem_12_2_Installer.zip -i ssh_key.pem  my-user@webrtc.corp.example.com:/home/my-user/

  2. В качестве альтернативы проверьте загруженный подписанный ZIP-файл с помощью Jarsigner. Утилита Jarsigner устанавливается в рамках JAVA.

    1. Убедитесь, что JAVA установлена, с помощью команды [ java -version ]. Если JAVA установлена, результатом выполнения команды станет ее версия.
    2. Если JAVA на устройстве отсутствует, установите JAVA.
      sudo yum install java-1.8.0-openjdk-devel 
    3. Теперь скопируйте следующую команду в окне терминала и нажмите Enter.
      jarsigner -verify -verbose NCC_Onprem_12_2_Installer.zip
    4. Результат проверки будет включать:
      • перечень файлов внутри ZIP-файла;
      • сведения о сертификате от Adobe для аутентификации;
      • выходное сообщение об успехе "jar is verified" («архив JAR подтвержден») или о неудаче "jar is not verified" («архив JAR не подтвержден»)
    5. Если сведения о сертификате являются действительными, и получено выходное сообщение об успешной проверке, пользователь может воспользоваться содержимым ZIP-файла и перейти к установке. В противном случае пользователю необходимо связаться со службой поддержки Adobe
  3. Извлеките содержимое ZIP-файла. Убедитесь в том, что у файлов имеются соответствующие разрешения.
    Воспользуйтесь командами: Не выполняйте никаких команд с root/sudo- доступом, если прямо не указано иное.

    разархивируйте файл NCC_Onprem_12_2_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

    Примечание.

    При выполнении установки в среде без доступа в Интернет или в закрытой среде выполните следующую команду:

    sudo chmod +x Externaldependecies/package-util.sh
  4. Выполнение сценария установки зависимостей.

    1. При выполнении установки в среде без доступа в Интернет или в закрытой среде выполните следующую команду для установки внешних зависимостей: Если доступ в Интернет имеется, переходите к следующему действию 2.
      Перейдите в родительский каталог программы установки, например, Убедитесь в том, что вы в каталоге ~/ncc-onprem-installer/ .
      Выполните команду bash ExternalDependencies/package-util.sh --install. С помощью этой команды будут установлены все требуемые внешние зависимости в блоке.

      Это нужно сделать один раз для каждого узла.
    2. Перейдите в родительский каталог программы установки, например, Убедитесь в том, что вы в каталоге ~/ncc-onprem-installer/ .
      Выполните команду bash ExternalDependencies/install.sh. С помощью этой команды будут установлены все требуемые внешние зависимости в блоке.

      Это нужно сделать один раз для каждого узла.

Процедура установки

Далее описывается порядок действий для установки среды WebRTC (в качестве примера) в 3 отдельных вариантах Red Hat. Узел передачи сигнала, узел записи и узел медиасервера. Обращайте особое внимание на настройки служб в файле containers.conf для получения инструкций по каждому узлу. Необходимо настроить каждый узел посредством организации особого набора служб/контейнеров в файлах конфигурации.

** В рамках лабораторной системы можно установить все эти «узлы» (передачи сигнала, записи и медиасервера) в один вариант Linux. В этом случае в файле containers.conf необходимо задать значение ‘count=1’ для всех серверов/контейнеров, необходимых для вашей среды. 

Узел передачи сигнала

На узлах передачи сигнала, как правило, работают следующие службы: Каждая служба работает как контейнер Docker.

  • config (служба конфигурации)
  • cas (новая служба API-интерфейса Connect)
  • apigw (шлюз API/маршрутизатор)
  • liveswitch-gateway (служба шлюза WebRTC)

Узел (узлы) передачи данных, как правило, располагаются в частной подсети, доступной клиенту Connect через внешний балансировщик нагрузки. 

Процедура

  1. Изменение файла Hosts 

    Файл hosts на узле передачи сигнала следует обновить. Для этого можно воспользоваться текстовым редактором, например, nano или vi. 

    1. Откройте файл /etc/hosts с помощью редактора nano или vi, например, sudo vi /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

    Примечание.

    Измените значение IP-адреса, приведенное в качестве примера, в соответствии со своей средой.

    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

  2. Изменение файлов конфигурации 

    1. Измените файл конфигурации ncc-onprem-installer/Config/config.conf. Инструкции по изменению файла представлены в виде комментариев к файлу конфигурации. Этот файл необходимо изменить для каждого узла в отдельности.  
    2. Теперь измените файл  ncc-onprem-installer/Config/containers.conf. Инструкции по изменению файла представлены в виде комментариев к файлу. Этот файл необходимо изменить для каждого узла в отдельности. В зависимости от устанавливаемых служб и количества развертываемых контейнеров. 
    3. На стандартном узле передачи сигнала устанавливаются:
      • casServer
      • configService
      • apiGateway
      • gatewayServer
      • redis
      • postgres
      • lb (балансировщик нагрузки. Не обязательно. Дополнительные действия по настройке описаны в разделе «Балансировщик нагрузки» далее.)
    4. Итак, задайте для всех вышеперечисленных служб значение count=1, а для всех остальных — 0. 
    5. Важно: задайте для configService значение restart=1 после внесения любых изменений в файл Config.conf. 
    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-адрес или быть увязанным с общедоступным IP-адресом посредством 1:1 NAT. Клиенты подключаются к узлу напрямую через URL-адрес балансировщика нагрузки на порте 443.

    При развертывании, не требующем доступа к Connect через Интернет, узел передачи сигнала должен располагаться в частной подсети, но при этом быть доступным по внутренней сети на порте 443.

    Требования:

    • Записи общедоступного/частного DNS-сервера в зависимости от вида использования
    • SSL-сертификат для записи DNS
    • Закрытый ключ для SSL-сертификата

    Порядок использования балансировщика нагрузки

    1. mkdir -p ~/connect/loadbalancer/certs
    2. Скопируйте SSL-сертификат (выданный для FQDN узла передачи сигнала) и закрытый ключ в каталог сертификатов. Убедитесь, что их имена — cert.crt и key.key.
    3. В файле config.conf добавьте FQDN в разделы hostnames>lb и hostnames>fqdn, поскольку это будет входная точка для кластера WebRTC.
    4. В файле container.conf измените количество балансировщиков нагрузки (lb) на 1.
    5. Теперь запустите bash MainInstall.sh.

    При использовании универсального сертификата с вариантом AWS EC2: 

    1. Создайте запись A в Route53. Например, если универсальный сертификат *.example.com, создайте запись А в виде webrtc.example.com и увяжите ее с эластичным IP-адресом варианта EC2.
    2. Скопируйте универсальный сертификат и ключ в каталог ~/connect/loadbalancer/certs. Убедитесь, что их имена — cert.crt и key.key.
    3. Добавьте FQDN. Например, webrtc.example.com в разделах hostnames>lb и hostnames>fqdn.
    4. В файле container.conf измените количество балансировщиков нагрузки (lb) на 1.
    5. Теперь запустите bash MainInstall.sh.
Узел медиасервера

На узле (узлах) медиасервера работают следующие службы: 

  • liveswitch-media-server (медиасервер) — для улучшенного аудио/видео
  • liveswitch-sip-connector (SIP-служба) — для использования SIP

Узлы медиасервера должны располагаться в общедоступных подсетях (или DMZ) и иметь общедоступный IP-адрес или быть увязанными с общедоступным IP-адресом посредством 1:1 NAT. Клиенты подключаются к общедоступным IP-адресам узлов медиасервера напрямую. 

Клиент улучшенного интерфейса для работы с аудио и видео (WebRTC) использует ICE метод для подключения и пытается установить поток для передачи аудио и видеоданных с медиасервером через следующие порты и протокол:

  • порты UDP в диапазоне 30000–65535 обрабатывают медиапоток в режиме реального времени;
  • порт UDP и TCP 3478 обрабатывает трафик  STUN и TURN, помогая клиентам осуществлять потоковую передачу данных через  брандмауэры.
  • TLS через порт 443 позволяет TURNS обеспечивать высокую доступность для потоковой передачи данных в ограниченных сетях;
  • клиент C12 на базе WebRTC попробует все варианты (TCP и UDP), прежде чем переключится на TLS через порт 443;
  • порт UDP и TCP 5060 обрабатывает трафик  SIPдля регистрации магистрального канала/PBX и входящих/исходящих вызовов. (Требуется в случае использования 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. 1 на каждый узел записи) 

Узлы записи должны быть доступны на: 

  • TCP 80 из местной сети, чтобы служба CPS могла загружать записи.
  • TCP 5000-5100 из локальной сети, отдельные контейнеры записей будут связаны с портами узлов в этом диапазоне. 
  • TCP 8090 из местной сети. 

Чтобы успешно производить запись, узлы записи должны иметь доступ к узлам медиасервера по общедоступным IP-адресам на портах, перечисленных в разделе «Узлы медиасервера», а также к службе CPS на порте 443.

Процедура

  1. Изменение файлов конфигурации 

    1. Измените файл config.conf или скопируйте его с узла передачи сигнала, ~/ ncc-onprem-installer /Config/config.conf
    2. Теперь измените файл  ~/ncc-onprem-installer/Config/containers.conf. Инструкции по изменению файла представлены в виде комментариев к файлу.
    3. На узле сервера записи устанавливаются:
      • recordingContainer  
      • recordingserver  
    4. Итак, задайте значение count=1 для recordingContainer, 1 для recordingserver, и 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 and recordingserver работают. 

Обновление системы с версиями 12.0, 12.1, 12.1.5 

Подготовка среды 

Копирование ZIP-файла программы установки.

  1. Скопируйте файл NCC_Onprem_12_2_Installer.zip в корневой каталог всех узлов.
    Например, scp  NCC_Onprem_12_2_Installer.zip -i ssh_key.pem  my-user@webrtc.corp.example.com:/home/my-user/

  2. В качестве альтернативы проверьте загруженный подписанный ZIP-файл с помощью Jarsigner. Утилита Jarsigner устанавливается в рамках JAVA.

    1. Убедитесь, что JAVA установлена, с помощью команды [ java -version ]. Если JAVA установлена, результатом выполнения команды станет ее версия.
    2. Если JAVA на устройстве отсутствует, установите JAVA.
      sudo yum install java-1.8.0-openjdk-devel 
    3. Теперь скопируйте следующую команду в окне терминала и нажмите Enter.
      jarsigner -verify -verbose NCC_Onprem_12_2_Installer.zip
    4. Результат проверки будет включать:
      • перечень файлов внутри ZIP-файла;
      • сведения о сертификате от Adobe для аутентификации;
      • выходное сообщение об успехе "jar is verified" («архив JAR подтвержден») или о неудаче "jar is not verified" («архив JAR не подтвержден»)
    5. Если сведения о сертификате являются действительными, и получено выходное сообщение об успешной проверке, пользователь может воспользоваться содержимым ZIP-файла и перейти к установке. В противном случае пользователю необходимо связаться со службой поддержки Adobe
  3. Извлеките содержимое ZIP-файла. Убедитесь в том, что у файлов имеются соответствующие разрешения.
    Воспользуйтесь командами: Не выполняйте никаких команд с root/sudo- доступом, если прямо не указано иное.

    разархивируйте файл NCC_Onprem_12_2_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 (новая служба API-интерфейса Connect)
  • 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. Чтобы определить устанавливаемые службы и количество развертываемых контейнеров, обратитесь к файлу из предыдущей установки. Задайте для всех вышеперечисленных служб значение count=1, а для всех остальных — 0. 
    5. Важно: задайте для configService значение restart=1 после внесения любых изменений в файл Config.conf или после использования более новой версии программы установки. 
    6. Важно: при обновлении предоставленные базы данных Redis и Postgres установке не подлежат, поэтому установите для них количество 0 в файле containers.conf. 
  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 из предыдущей установки. Не заменяйте новый файл старым. В более новой версии присутствуют важные обновления.

      Примечание.

      Если вы в ограниченной среде, не заполняйте поля externalStunUrls0 и externalStunUrls1 в разделе gatewayServer. Например, externalStunUrls0="" , externalStunUrls1="".

    2. Теперь измените файл ~/ncc-onprem-installer/Config/containers.conf. Инструкции по изменению файла представлены в виде комментариев к файлу.
    3. Теперь измените файл ~/ncc-onprem-installer/Config/containers.conf. Инструкции по изменению файла представлены в виде комментариев к файлу.

    4. На узле медиасервера обновляются:

      • mediaServer
      • sipServer (если требуется SIP/телефония)
    5. Чтобы определить устанавливаемые службы и количество развертываемых контейнеров, обратитесь к файлу из предыдущей установки. Задайте для всех вышеперечисленных служб значение count=1, а для всех остальных — 0. 

    6. В блоке mediaServer обновите значения параметров mediaNodePublicIP и mediaNodePublicFQDN. Для получения более подробных сведений ознакомьтесь с внутристрочными комментариями.

  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 (CPS)

На всех серверах Adobe Connect 12 (CPS) необходимо выполнить следующие действия:

  1. Добавьте следующие настройки в файл custom.ini всех серверов Connect по адресу <каталог_установки>/Connect/custom.ini.
    # перечень URL-адресов обнаружения CAS через запятую
    # Возможные значения
    WEBRTC_CAS_DISCOVERY_URLS=http://<IP-адрес узла передачи сигнала >:18443/api/cps/ingest
    WEBRTC_CAS_DISCOVERY_URLS=http://<URL-адрес балансировщика нагрузки>/api/cps/ingest
    # Секретный вопрос для CAS, используемый для подписания запросов к CAS. Введите тот, который вы установили в разделе hmac в файле config.conf на узле передачи сигнала.
    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. Зайдите в «ПРИЛОЖЕНИЯ», выберите«AdobeConnect», а затем прокрутите список вниз до раздела«Каналы».
    Настройте конфигурацию исходящего идентификатора абонента SIP для групп каналовdefault (*) иbroadcast-*.
    Конфигурация исходящего идентификатора абонента SIP

  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: ошибка при получении версии API сервера: ("Соединение прервано", FileNotFoundError(2, "Нет такого файла или каталога"))

Это сообщение об ошибке появляется, когда переменная среды DOCKER_HOST не задана надлежащим образом. Выполните следующие действия.

  1. Перейдите в родительский каталог программы установки, например:
    cd ~/ncc-onprem-installer/
  2. Выполните команду source ~/.bash_profile

Если вышеописанные действия не помогут решить проблему, выполните следующие действия.

  1. Удалите Podman, sudo yum, удалите podman-remote 
  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.

Это сообщение об ошибке появляется, когда контейнер Docker Postgres не способен вместить объем узла из-за проблемы с разрешением. Выполните следующие действия:·         

  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.2
  4. Это позволит решить проблемы с разрешением в каталоге узла.
  5. Теперь выполните следующую команду, чтобы удалить контейнер Docker Postgres.
    docker rm -f postgres
  6. Наконец, запустите MainInstaller еще раз.
    bash MainInstall.sh 

Медиасерверу требуется 1:1 NAT, что означает, что любой исходящий и входящий трафик для медиасервера для Интернета должен использовать общедоступный IP-адрес. Медиасервер автоматически обнаруживает свой общедоступный IP-адрес для использования протокола STUN после настройки 1:1  NAT для медиа-сервера на вашем маршрутизаторе или брандмауэре. Перейдите в интерфейс администратора WebRTC-шлюза и убедитесь, что медисервер может определить его общедоступный IP-адрес. 

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

Media Server недоступен для клиентов даже после того, как 1: 1 NAT работает нормально 

Клиент WebRTC использует ICE и пытается установить поток для передачи аудио и видеоданных с медиасервером в следующем порядке:

  • UDP в диапазоне портов от 35000 до 65535 

  • TCP через порт 3478

  • TLS через порт 443 

  • Клиент C12 на базе WebRTC попробует все варианты (TCP и UDP), прежде чем переключится на TLS через порт 443

Connect 12.2 по умолчанию разработан с учетом того, что CPS, WebRTC и New Connect Cluster (он же NCC) находятся в одном и том же VLAN/VPC или широковещательном домене. Если вы используете их в разных сетях, убедитесь, что у вас есть надлежащая маршрутизация третьего уровня между CPS и NCC/WebRTC, чтобы иметь сетевое подключение в обоих направлениях. 

Чтобы проверить сетевое соединение между CPS и NCC, используйте CURL и Telnet. 

Подключение CPS и NCC работает только через HTTPS-соединение.

Приведенная ниже ошибка появляется в журналах контейнера FMGW. Второй экземпляр Redis настроен на работу в качестве реплики. 

ОШИБКА [FM.LiveSwitch.Signalling.Server.IdleThread][-] 2022-07-21T12:46:29.439Z Непредвиденная ошибка в бездействующем потоке. 
StackExchange.Redis.RedisServerException: ТОЛЬКО ДЛЯ ЧТЕНИЯ Вы не можете писать против реплики только для чтения. 

Решение:  

Откройте файл конфигурации, соответствующий сервису 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.

Похожие темы

Получайте помощь быстрее и проще

Новый пользователь?