Архитектура DION предусматривает возможность переноса части компонент, отвечающих за обработку медиа-трафика и создание/хранение записей конференции, на площадку организации. Такие компоненты мы называем гибридными нодами. Наличие гибридных нод позволяет проводить конференции в защищенном контуре, не передавая медиа-трафик в облако DION.
В гибридном сценарии связь гибридных нод с облаком DION является обязательным условием для работы конференций, так как в облако передаются сигнальная информация и управляющие команды.
Все гибридные компоненты, доступные к установке, можно разделить на группы по функциональному назначению:
В данном руководстве рассмотрена установка служебных сервисов, сервисов проведения конференций и записи.
Сервисы конференций и записи DION, вынесенные в гибридную архитектуру, представлены на схеме зеленым цветом:
Наименование компонентна | Описание компонента |
---|---|
MEDIA (SFU + Audiohub) | компонент, отвечающий за обработку аудио и видео-потоков |
Recorder, Record Converter, Record delivery | компоненты, отвечающие за создание, конвертацию и скачивание пользователями видеозаписей конференций |
TURN | компонент, отвечающий за подключение внешних пользователей ко внутренним медиа-серверам через NAT |
Dion Proxy | компонент, отвечающий за обнаружение гибридных нод облаком DION |
KMS | компонент, отвечающий за хранение секрета для шифрования записей конференции при хранении |
Компоненты могут быть дублированы с целью обеспечения отказоустойчивости и масштабирования.
Прежде, чем перейти к редактированию конфигураций, убедитесь в том, что выполнены следующие шаги:
6. Если вы планируете внедрение нескольких нод Record Delivery, для балансировки нагрузки необходимо задать для них общую DNS запись.
На период установки гибридных нод необходимо наличие доступа в репозиторий операционной системы для установки необходимых зависимостей. При отсутствии доступа к публичному репозиторию некоторые пакеты не будут установлены корректно.
Передайте белые адреса будущих dion-proxy серверов вашей аккаунт команде или службе поддержки пользователей (support@diongo.ru) и запросите в ответ сертификаты, выпущенные для вашей организации.
Для выдачи сертификатов нам необходимо получить от вас белые адреса серверов dion-proxy.
Если серверов каждого типа несколько, требуется указать адрес для каждого из них.
Образы можно скачать в виде .deb (или .rpm) пакетов и образов контейнеров в следующем составе:
Сервис dion-proxy:
Сервис MEDIA:
Сервис TURN:
Сервис Recorder:
Сервис Record Delivery:
Сервис Record Converter:
Сервис KMS (может быть установлен на любой из VM):
Если вы планируете пилотную инсталляцию с использованием демо-образа S3, вы также должны скачать архив:
ID организации можно также посмотреть и скопировать в административной панели DION.
Примеры в данном разделе приведены для ОС Ubuntu
Если в процессе установки и конфигурации возникнут ошибки, рекомендуем воспользоваться руководством по устранению неисправностей.
На период установки гибридных нод необходимо наличие доступа в репозиторий операционной системы для установки необходимых зависимостей. При отсутствии доступа к публичному репозиторию некоторые пакеты не будут установлены корректно.
sudo apt update
sudo apt upgrade
apt
sudo apt install -f {путь к файлу}
4. Загрузите образ контейнера vscreen_transcoder.tar
в docker на машине, где будет установлен Recorder.
Обратите внимание, что на машине требуется предварительно установить docker.
Рекомендуем воспользоваться официальной инструкцией на сайте Docker.
sudo docker load -i {путь к образу vscreen_transcoder.tar}
5. Установите ffmpeg
на машине, где будет установлен Record Converter
sudo apt install ffmpeg
Если при установке TURN возникла ошибка:
The following packages have unmet dependencies:
coturn : Depends: libssl1.1 (>= 1.1.0) but it is not installable
E: Unable to correct problems, you have held broken packages.
Выполните следующие команды и повторите установку:
echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
sudo apt-get update
sudo apt-get install libssl1.1
Чтобы Гибридный DION начал работу, необходимо не только установить и сконфигурировать гибридные ноды, но и выполнить соответствующие настройки в административной панели DION.
Для запуска гибридного режима, перейдите в Настройки (иконка шестеренки внизу страницы).
Проверьте все настройки в разделе Конференции
Необходимо включить “Возможность переноса конференции в On-Premise”. Остальные настройки можно редактировать на ваше усмотрение.
После этого в Личном Кабинете пользователя в настройках безопасности конференции можно будет выбрать, где проводить конференцию.
Переключатель “On-Premise” включен — конференция проводится на гибридных ресурсах (если они корректно настроены). Перключатель “On-Premise” выключен — конференция проводится в облаке.
Настройка “Новые конференции создаются On-Premise” позволяет управлять созданием комнат по умолчанию для пользователей. Если галочки сняты, конференции пользователей создаются в облаке. Если галочки установлены, конференции создаются на гибридных ресурсах. Настройка не влияет на уже созданные конференции.
Поведение системы в зависимости от положения переключателя “Возможность переноса конференции в On-Premise” и настройки “Новые конференции создаются On-Premise” :
Возможность переноса конференции в On-Premise | Новые конференции создаются On-Premise | Результат |
---|---|---|
Выкл | Выкл | Все новые конференции создаются в облаке, пользователь не может перенести их в гибрид |
Вкл | Выкл | Все новые конференции создаются в облаке, пользователь может перенести их в гибрид через свой личный кабинет и настройки конференции |
Выкл | Вкл | Все новые конференции создаются в гибриде, пользователь не может перенести их в облако |
Вкл | Вкл | Все новые конференции создаются в гибриде, пользователь может перенести их в облако через свой личный кабинет и настройки конференции |
Для подключения внешних пользователей активируйте настройку “Свободный доступ к On-Premise конференциям”.
При отсутствии в гибриде сервисов записи, выключите запись конференций “On-Premise” в административной панели. Кнопка записи не будет отображаться. В противном случае при старте записи пользователь получит ошибку.
Если планируется установка сервисов записи:
https://IP_адрес или FQDN:443/v1/file
Необходимо вводить адрес именно в указанном выше формате, иначе интерфейс выдаст ошибку при попытке сохранить настройки.
https://FQDN:443/v1/file
После заполнения конфигурационных файлов сервисы DION необходимо перезапускать.
В первую очередь конфигурируется сервис Dion-Proxy, затем все остальные, согласно инструкции ниже.
Если запуск сервиса прошел успешно, сервис должен перейти в состояние Active (Running). Проверить состояние можно командой:
systemctl status {имя сервиса}
После того как сервис перешел в состояние Active (Running), он проходит регистрацию в облаке DION.
Статус регистрации сервисов можно отслеживать в административной панели на вкладке Настройки организации - Гибридные сервисы
При верной конфигурации в результате настройки все сервисы должны быть отмечены зеленым цветом.
Наличие S3 хранилища является обязательным требованием для проведения записи конференций в гибриде.
Если вы не планируете использовать запись, пропустите эту секцию и переходите к секции “Конфигурационные файлы DION”.
Предполагается, что в вашей организации существует S3 хранилище, которое может быть использовано DION для хранения аудио и видео записей конференций. Просим вас заблаговременно создать или получить bucket
(директорию для хранения записей), а также пару access-key
и secret-key
для доступа на S3 хранилище. В конфигурационных файлах DION указываются IP адрес/имя хоста S3 и порт доступа, имя bucket, access-key и secret-key.
Если инсталляция пилотная, вы можете запросить демо-образ S3 у вашей аккаунт-команды.
⚠️ Обратите внимание, демо-образ не подходит для продуктивной инсталляции, так как не поддерживает отказоустойчивость.
Рекомендуем установить minio на отдельной VM.
Для установки на машине требуются docker и docker-compose.
Если произошла перезагрузка и демо-S3 не стартовал автоматически, выполните шаги 4 и 5 инструкции ниже, чтобы запустить сервис заново.
Ниже приведены шаги по развертыванию демо-образа:
1. Распакуйте полученный архив на нужную виртуальную машину. Архив содержит docker-образ minio, docker-compose.yml и readme.md.
2. Установите docker
и docker-compose
Рекомендуем воспользоваться официальной инструкцией на сайте Docker.
3. В файле docker-compose.yml
посмотрите и поменяйте при необходимости логин и пароль для доступа к minio. Эти учетные данные используются при входе в minio через веб-интерфейс.
environment:
MINIO_ROOT_USER: {имя пользователя}
MINIO_ROOT_PASSWORD: {пароль}
4. Выполните команду
docker load -i {/путь/minio-release-2023-01-31.docker.image}
5. Перейдите в папку, где лежит файл docker-compose.yml
и выполните команду
docker compose up -d
либо (для docker compose v1):
docker-compose up -d
6. Перейдите в веб-консоль minio по адресуhttp://{IP выбранной VM}:9000
7. Создайте из веб-интерфейса новый bucket и пару access-key и secret key. Запишите имя bucket и ключи.
Запишите ключи сразу же в процессе создания, потом посмотреть их может быть невозможно.
Примеры в данном разделе приведены для ОС Ubuntu
Для редактирования конфигурационных файлов и перезапуска сервисов вам потребуются root права.
При недостатке прав используйте sudo
перед каждой командой или введите sudo su
один раз в начале работы.
Если какая-либо из гибридных нод будет запущена в нескольких экземплярах, настройки нужно выполнить на каждом экземпляре.
Перейдите в cli ноды, на которой установлен пакет dion-proxy.deb
1. Откройте на редактирование конфигурационный файл /etc/dion/proxy.yaml
sudo nano /etc/dion/proxy.yaml
Все переменные, требующие редактирования, находятся в первой части файла. Следуйте комментариям и инструкции ниже.
При редактировании файла очень важно сохранить исходную табуляцию!
2. В переменной organizationID:
укажите ID вашей организации в кавычках. Его можно взять в файле org_id.txt, который вы получили вместе с образами
organizationID: "a2ae8888-b888-4efe-eaee-cf865535555”
Не забудьте поставить пробел между двоеточием и кавычками!
3. Укажите признак датацентра в переменной logicalDatacenter:
. Можно не указывать, если используется один ДЦ.
4. Перейдите в секцию grpcOuter:п
host:
локальный IP-адрес данной ноды proxy, например, 192.168.1.1. Это адрес, по которому dion-proxy должен быть доступен для других компонентов гибридаhost: "192.168.1.1"
publicHost:
внешний белый IP-адрес данной ноды сервиса dion-proxy, например, 92.68.1.1. Это адрес, по которому dion-proxy должен быть доступен для облака DIONpublicHost: "92.168.1.1"
caCertFile: "путь_к_вашему_сертификату.pem"
serverCertFile: "путь_к_вашему_сертификату.crt"
serverKeyFile: "путь_к_вашему_ключу.key"
5. Перейдите в секцию grpcInner:
host:
локальный IP-адрес данной ноды proxy, например, 192.168.1.1. Это адрес, по которому dion-proxy должен быть доступен для других компонентов гибридаhost: "192.168.1.1"
6. Перейдите в секцию cloudGateway:
Внимание! Имена переменных в этой секции отличаются от секции
grpcOuter
. Не копируйте секцию целиком!
caCertClientsGWFile: "путь_к_вашему_сертификату.pem"
clientCertFile: "путь_к_вашему_сертификату.crt"
clientKeyFile: "путь_к_вашему_ключу.key"
7. Перейдите в секцию # адреса нод DION в контуре организации
allProxyGrpcOuterAddresses:
необходимо перечислить публичные адреса всех нод dion-proxy в вашем дата центре. Если у вас развернута всего одна нода dion-proxy, необходимо указать ее публичный адрес. - host: 18.6.14.5
port: 5443
# если есть другие dion-proxy, раскомментируйте блок ниже и внесите публичный адрес
- host: 18.6.14.6
port: 5443
Важно! Если нод dion-proxy несколько, порядок следования адресов в секции
allProxyGrpcOuterAddresses:
во всех конфигурационных файлах должен быть абсолютно одинаковым. Если установлено 2 dion-proxy, в файлахproxy.yaml
на обеих VM в этой секции должно быть 2 адреса, следующих в одинаковом порядке.
turns:
необходимо указать параметры подключения ваших нод TURN.В переменной host
укажите адрес, который в конфигурационном файле TURN указан в поле web-admin-ip
При заполнении обратите внимание на формат заполнения переменной addresses
секции meta
– Если ваш TURN сервер работает только по порту 3478 UDP:
- addresses: turn:внешний_IP_адрес:3478
– Если ваш TURN сервер работает только по портам 3478 UDP и 443 TCP:
- addresses: turn:внешний_IP_адрес:3478,turn:внешний_IP_адрес:443?transport=tcp
– Если ваш TURN сервер работает только по порту 443 TCP:
- addresses: turn:внешний_IP_адрес:443?transport=tcp
Не нужно убирать решетку перед полем addresses в комментариях, просто используйте комментарии как пример, чтобы заполнить секцию
meta
!
# впишите в переменную host локальный адрес TURN
# пример: -host: 192.168.0.1
- host: 192.168.0.2
healthCheck:
connectionType: tcp
port: 9088
meta:
# впишите публичный адрес TURN в формате, описанном выше
- addresses: turn:18.6.1.1:3478,turn:18.6.1.1::443?transport=tcp
# впишите Turn Secret, который указан в переменной static-auth-secret в конфигурационном файле turnserver.conf
authSecret: banana
# не меняйте данное значение
isTechnical: false
isInnerUse: false
Если вы планируете использовать каскадирование в облако, необходимо заполнить отдельную секцию конфигурации TURN.
Конфигурация TURN в таком случае должна выглядеть так:
turns:
- host: 192.168.0.2
healthCheck:
connectionType: tcp
port: 9088
meta:
# секция для пользовательского трафика
- addresses: turn:18.6.1.1:3478,turn:18.6.1.1::443?transport=tcp
authSecret: banana
isTechnical: false
isInnerUse: false
# секция для каскадирования в облако
- addresses: turn:18.6.1.1:3478,turn:18.6.1.1::443?transport=tcp
authSecret: banana
isTechnical: true
isInnerUse: false
Если TURN несколько, нужно добавить полную дополнительную секцию, начиная с
host
В секциях sfus:
и audiohubs:
в переменных host:
укажите локальные IP-адреса серверов, на которых развернуты соответствующие медиа-компоненты (например, 192.168.1.2). Порты не меняйте. Если необходимо добавить еще сервера SFU или Audiohub, следуйте примеру в комментариях в конфигурационном файле.
Обратите внимание, адреса сервисов необходимо писать в строке
host:
, а не в строке с именем сервиса
Если вы не планируете разворачивать сервисы записи, не заполняйте секции ниже
В секциях recorders:
, recorderConverters:
и recorderDeliverys:
в переменных host:
укажите локальные IP-адреса серверов, на которых развернуты соответствующие медиа-компоненты (например, 192.168.1.2). Порты не меняйте. Если необходимо добавить еще сервера, следуйте примеру в комментариях в конфигурационном файле.
Если вы не планируете разворачивать сервисы SIP, не заполняйте секции ниже
sipservers:
- host: 192.168.0.14
commandGRPCPort: 9091
healthCheck:
connectionType: http
port: 9092
meta:
# для перенаправления исходящих вызовов через АТС вашей организации измените значение переменной is_outgoing_calls_enabled на true
# для перенаправления потребуется внести соотвествующие изменения в файл organizations.yml и конфигурацию sip server, следуйте инструкции по установке
# при значении false исходящие звонки из конференций совершаются через облачную АТС DION
is_outgoing_calls_enabled: false
organizations:
- "" # Укажите ID вашей организации в кавычках
siptranslators:
- host: 192.168.0.13
commandGRPCPort: 9059
healthCheck:
connectionType: http
port: 8059
transcoderservers:
- host: 192.168.0.12
commandGRPCPort: 9034
healthCheck:
connectionType: http
port: 8034
Перенаправление исходящих вызовов подробно описано в разделе “Перенаправление исходящих вызовов через локальную АТС” инструкции по установке SIP.
Меняйте значение переменной
is_outgoing_calls_enabled:
наtrue
, только если вы включили перенаправление в секцииoutgoingCalls:
конфигурационного файлаsipserver.yml
и заполнили файлorganizations.yml
8. Сохраните изменения в файле
ctrl+O ctrl+X в Nano
9. Перезапустите сервис
systemctl stop dion-proxy
systemctl start dion-proxy
10. Убедитесь, что сервис запущен без ошибок и находится в статусе active (running)
systemctl status dion-proxy
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
Запуск turn возможен как в docker, так и путем установки из .deb или .rpm пакета.
Инструкция запуска в docker здесь, для конфигурирования turn установленного из пакета, следуйте инструкции ниже:
Перейдите в cli ноды, на которой установлен пакет turn.deb
1. Откройте на редактирование конфигурационный файл /etc/turnserver.conf
sudo nano /etc/turnserver.conf
2. Добавьте следующие строки в начало файла:
listening-port=3478
fingerprint
use-auth-secret
realm=turn
simple-log
verbose
verbose
включает подробное логирование. Если сервис работает нормально и нет необходимости в наличии логов, строку можно закомментировать.
3. Добавьте в файл строки:
web-admin
web-admin-ip=xxx.xxx.xxx.xxx
web-admin-port=9088
4. Добавьте в файл строку external-ip=xxx.xxx.xxx.xxx
.
external-ip=92.168.1.1
Если ваш TURN имеет два сетевых интерфейса, необходимо вместо
external-ip
указать дополнительные параметры:
listening-ip=xx.xx.xx.xx
- внешний адрес, на котором TURN слушает пользовательские запросы из Интернетаrelay-ip=xx.xx.xx.xx
- адрес внутреннего интерфейса, который перенаправляет запросы в сторону гибридных сервисов DION
5. Добавьте в файл строку static-auth-secret=xxx
proxy.yaml
(см. раздел Сервис DION-PROXY)static-auth-secret=ZZzyYyRrRZZzyYyRrR00ZZzyYyRrR00ZZzyYyRrR00YYyZz
Если ваш TURN должен работать по 443 TCP, выполните следующие действия:
1. Скопируйте файлы сертификата и ключа в директорию /bin с заменой расширения на .pem:
cp <исходный путь>.key /bin/<имя файла ключа>.pem
cp <исходный путь>.crt /bin/<имя файла сертификата>.pem
Добавьте в turnserver.conf следующие строки:
tls-listening-port=443
cert=/bin/путь_к_вашему_сертификату.pem
pkey=/bin/путь_к_вашему_ключу.pem
dh2066
⚠️ Важно поместить сертификаты именно в директорию /bin и изменить расширение файлов .key и .crt на .pem
Замену расширения можно выполнить командой
mv
:
mv /путь_к_вашему_сертификату.crt /путь_к_вашему_сертификату.pem
6. Сохраните изменения в файле
ctrl+O ctrl+X в Nano
7. Выполните перезагрузку сервиса
rm /lib/systemd/system/coturn.service
systemctl daemon-reload
8. Откройте на редактивароние файл /etc/default/coturn
TURNSERVER_ENABLED=1
ctrl+O ctrl+X в Nano
9. Перезапустите сервис
systemctl stop coturn
systemctl start coturn
10. Убедитесь, что сервис запущен без ошибок и находится в статусе active (running)
systemctl status coturn
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
Перейдите в cli ноды, на которой установлен пакет sfu.deb
/etc/dion/sfu.yaml
sudo nano /etc/dion/sfu.yaml
Все переменные, требующие редактирования, находятся в первой части файла. Следуйте комментариям и инструкции ниже.
При редактировании файла очень важно сохранить исходную табуляцию!
2. Перейдите в секцию mediacontrollerGateway:
host
IP-адрес вашей dion-proxy ноды (например, 192.168.1.1) вместо URL - host: 192.168.1.1
Если нод Proxy несколько, необходимо указать все в виде списка:
- host: 192.168.1.1
port: 9764
- host: 192.168.1.2
port: 9764
3. Сохраните изменения в файле
ctrl+O ctrl+X в Nano
4. Перезапустите сервис SFU
systemctl stop dion-sfu
systemctl start dion-sfu
5. Убедитесь, что сервис запущен без ошибок
systemctl status dion-sfu
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
Перейдите в cli ноды, на которой установлен пакет audiohub.deb
Для работы аудиозаписи конференций может потребоваться вручную создать директории и выдать на них права пользователю dion (от его имени работает служба dion-audiohub) для хранения временных файлов записи, по умолчанию в конфигурационном файле указаны следующие пути:
AUDIO_RECORDS_DIR_PATH=/app/dion/records
SPEECH_RECORDS_DIR_PATH=/app/dion/speech
Команды для создания и передачи владения этими директориями пользователю dion:
sudo mkdir -p /app/dion/speech /app/dion/records/ sudo chown dion:dion /app/dion/speech/ /app/dion/records/
1. Откройте на редактирование конфигурационный файл /etc/dion/audiohub.conf
sudo nano /etc/dion/audiohub.conf
Все переменные, требующие редактирования, находятся в первой части файла. Следуйте комментариям и инструкции ниже.
2. В переменную NET_INTERFACE_NAME
запишите имя активного сетевого интерфейса вашего сервера (например, eth0). Посмотреть имя интерфейса можно командой ifconfig
NET_INTERFACE_NAME=eth0
3. Перечислите адреса нод Proxy в переменной GW_ADDRESSES, укажите порт 9764 через двоеточие для каждого адреса:
GW_ADDRESSES=192.168.1.1:9764
Если их несколько, перечислите через запятую без пробелов:
GW_ADDRESSES=192.168.1.1:9764,192.168.1.2:9764
4. В переменной ORGANIZATION
укажите ID вашей организации без кавычек. Его можно взять в файле org_id.txt, который вы получили вместе с образами
ORGANIZATION=a2ae8888-b888-4efe-eaee-cf865535555
В шагах 5 и 6 описаны настройки, позволяющие включить аудиозапись конференций. Обязательным условием для этого является наличие S3 хранилища. По умолчанию аудиозаписи хранятся в S3 в незашифрованном виде. Для поддержки шифрования необходим сервис DION-KMS.
Если вы не планируете использовать функцию аудиозаписи конференций в гибриде, не заполняйте эти строки. При попытке создать аудиозапись пользователь получит ошибку.
5. Чтобы включить шифрование аудиозаписей, измените значение RECORD_ENCRYPTION_ENABLED
на true
и укажите адреса всех нод KMS в переменной KMS_ADDRESSES
. Адреса указываются через запятую, порт 9135 указывается через двоеточие для каждого адреса. Если шифрование не требуется, оставьте значения переменных по умолчанию.
RECORD_ENCRYPTION_ENABLED=true
KMS_ADDRESSES=192.168.1.3:9135,192.168.1.4:9135
6. Перейдите в секцию #S3
S3_ENABLED
на true
S3_ENABLED=true
S3_API_URL
локальный адрес сервера (например, 192.168.1.3), на котором работает S3 и нужный порт (9000 по умолчанию):S3_API_URL=192.168.1.3:9000
S3_ACCESS_KEY={access_key}
S3_SECRET_KEY={secret}
S3_BUCKET_NAME={name}
Имя bucket должно совпадать в конфигурационных файлах сервисов audiohub, recorder, record-delivery, record-converter!
7. Сохраните изменения в файле
ctrl+O ctrl+X в Nano
8. Перезапустите сервис
systemctl stop dion-audiohub
systemctl start dion-audiohub
9. Убедитесь, что сервис запущен без ошибок и находится в статусе active (running)
systemctl status dion-audiohub
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
Audiohub помимо микширования аудио-потоков может создавать хранимые в контуре организации аудиозаписи конференций DION.
Будет доступно в следующих версиях DION гибрид.
После выполнения конфигурации сервисов и выполнения административных настроек во вкладке “Конференции”, становится доступен для включения режим On-Premise.
Перед тем, как приступить к конфигурированию и запуску сервисов записи конференций, убедитесь что хранилище s3 сконфигурировано и доступно для подключения, в противном случае служба не будет запущена и вернет ошибку.
Если вы планируете развернуть несколько KMS нод, их конфигурационные файлы должны быть идентичны. Используйте одинаковый секрет для шифрования!
Перейдите в cli ноды, на которой установлен пакет kms.deb
1. Откройте на редактирование конфигурационный файл /etc/dion/kms.yaml
sudo nano /etc/dion/kms.yaml
2. В переменную recordsMasterKeySecret:
впишите произвольную строку. Эта строка будет использоваться при генерации ключа шифрования для хранения записей конференций в S3. Строка указывается без кавычек через пробел после двоеточия, например:
recordsMasterKeySecret: averysecretstring
3. Сохраните изменения в файле
ctrl+O ctrl+X в Nano
4. Перезапустите сервис SFU
systemctl stop dion-kms
systemctl start dion-kms
5. Убедитесь, что сервис запущен без ошибок
systemctl status dion-kms
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
На данной машине должен быть установлен
docker
Необходимо загрузить в docker образ контейнера
vscreen_transcoder.tar
Для этого выполните команду:
sudo docker load -i {путь к образу vscreen_transcoder.tar}
Проверка:
docker image ls
Перейдите в cli ноды, на которой установлен пакет recorder.deb
1. Откройте на редактирование конфигурационный файл /etc/dion/recorder.conf
sudo nano /etc/dion/recorder.conf
Все переменные, требующие редактирования, находятся в первой части файла. Следуйте комментариям и инструкции ниже.
2. В переменную NET_INTERFACE_NAME
запишите имя активного сетевого интерфейса вашего сервера (например, eth0). Посмотреть имя интерфейса можно командой ip list
или ifconfig
NET_INTERFACE_NAME=eth0
3. Укажите в переменной CAPI_GW_ADDRESSES
локальный адрес сервиса dion-proxy и, через двоеточие, порт 9764 для каждого адреса:
CAPI_GW_ADDRESSES=192.168.1.1:9764
CAPI_GW_ADDRESSES=192.168.1.1:9764,192.168.1.2:9764
4. Укажите в переменной MEDIA_CONTROLLER_ADDRESSES
локальный адрес сервиса dion-proxy и, через двоеточие, порт 9764 для каждого адреса:
MEDIA_CONTROLLER_ADDRESSES=192.168.1.1:9764
MEDIA_CONTROLLER_ADDRESSES=192.168.1.1:9764,192.168.1.2:9764
5. Укажите в переменной USERS_SERVICE_GW_ADDRESSES
локальный адрес сервиса dion-proxy и, через двоеточие, порт 9764 для каждого адреса:
USERS_SERVICE_GW_ADDRESSES=192.168.1.1:9764
USERS_SERVICE_GW_ADDRESSES=192.168.1.1:9764,192.168.1.2:9764
6. Перейдите в секцию #S3
API_URL
локальный адрес сервера (например, 192.168.1.3), на котором работает S3, и порт (9000 по умолчанию):API_URL=192.168.1.3:9000
ACCESS_KEY={access_key}
SECRET_KEY={secret}
BUCKET_NAME={name}
Имя bucket должно совпадать в конфигурационных файлах сервисов audiohub, recorder, record-delivery, record-converter!
7. В переменной ORGANIZATION
укажите ID вашей организации без кавычек. Его можно взять в файле org_id.txt, который вы получили вместе с образами
ORGANIZATION=af4587ec-1a70-487a-87fd-9472bf93edf0
В пункте 6 описаны настройки, позволяющие включить шифрование записей конференций при хранении. По умолчанию записи хранятся в S3 в незашифрованном виде. Для поддержки шифрования необходим сервис DION-KMS.
8. Чтобы включить шифрование записей, измените значение RECORD_ENCRYPTION_ENABLED
на true
и укажите адреса всех нод KMS в переменной KMS_ADDRESSES
. Адреса указываются через запятую, порт 9135 указывается через двоеточие для каждого адреса. Если шифрование не требуется, оставьте значения переменных по умолчанию.
RECORD_ENCRYPTION_ENABLED=true
KMS_ADDRESSES=192.168.1.3:9135,192.168.1.4:9135
9. Сохраните изменения в файле
ctrl+O ctrl+X в Nano
10. Перезапустите сервис
systemctl stop dion-recorder
systemctl start dion-recorder
11. Убедитесь, что сервис запущен без ошибок и находится в статусе active (running)
systemctl status dion-recorder
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
В результате запуска правильно настроенного сервиса Recorder станет возможно начать запись конференции в On-Premise комнате, и сохранение несконвертированного (.ts) файла записи в S3-бакете.
Перейдите в cli ноды, на которой установлен пакет dion-record-converter.deb
1. Откройте на редактирование конфигурационный файл /etc/dion/record-converter.conf
sudo nano /etc/dion/record-converter.conf
Все переменные, требующие редактирования, находятся в первой части файла. Следуйте комментариям и инструкции ниже.
2. В переменную NET_INTERFACE_NAME
запишите имя активного сетевого интерфейса вашего сервера (например, eth0). Посмотреть имя интерфейса можно командой ifconfig
NET_INTERFACE_NAME=eth0
3. Укажите в переменной CAPI_GW_ADDRESSES
локальный адрес сервиса dion-proxy и, через двоеточие, порт 9764:
CAPI_GW_ADDRESSES=192.168.1.1:9764
CAPI_GW_ADDRESSES=192.168.1.1:9764,192.168.1.2:9764
4. Перейдите в секцию #S3
API_URL
локальный адрес сервера (например, 192.168.1.3), на котором работает S3 и нужный порт (9000 по умолчанию):API_URL=192.168.1.3:9000
ACCESS_KEY={access_key}
SECRET_KEY={secret}
BUCKET_NAME={name}
Имя bucket должно совпадать в конфигурационных файлах сервисов audiohub, recorder, record-delivery, record-converter!
5. В переменной ORGANIZATION
укажите ID вашей организации без кавычек. Его можно взять в файле org_id.txt, который вы получили вместе с образами
ORGANIZATION=af4587ec-1a70-487a-87fd-9472bf93edf0
В пункте 6 описаны настройки, позволяющие включить шифрование записей конференций при хранении. По умолчанию записи хранятся в S3 в незашифрованном виде. Для поддержки шифрования необходим сервис DION-KMS.
6. Чтобы включить шифрование записей, измените значение SUPPORT_ENCRYPTED_RECORDS
на true
и укажите адреса всех нод KMS в переменной KMS_ADDRESSES
. Адреса указываются через запятую, порт 9135 указывается через двоеточие для каждого адреса. Если шифрование не требуется, оставьте значения переменных по умолчанию.
SUPPORT_ENCRYPTED_RECORDS=true
KMS_ADDRESSES=192.168.1.3:9135,192.168.1.4:9135
7. Сохраните изменения в файле
ctrl+O ctrl+X в Nano
8. Перезапустите сервис
systemctl stop dion-record-converter
systemctl start dion-record-converter
9. Убедитесь, что сервис запущен без ошибок и находится в статусе active (running)
systemctl status dion-record-converter
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
В результате запуска корректно настроенного сервиса Record Converter, после остановки записи конференции, помимо несконвертированного (.ts) файла записи, будет создан сконвертированный файл с расширением ".mp4".
Перейдите в cli ноды, на которой установлен пакет dion-record-delivery.deb
1. Откройте на редактирование конфигурационный файл /etc/dion/record-delivery.conf
sudo nano /etc/dion/record-delivery.conf
Все переменные, требующие редактирования, находятся в первой части файла. Следуйте комментариям и инструкции ниже.
2. Переменная MAX_USER_DOWNLOADS_COUNT_PER_MINUTE
устанавливает ограничение на количество скачиваний одним пользователем в минуту. Если необходимо, поменяйте ее значение.
MAX_USER_DOWNLOADS_COUNT_PER_MINUTE=3
TRUSTED_IP_SUBNETS=
3. В переменную NET_INTERFACE_NAME
запишите имя активного сетевого интерфейса вашего сервера (например, eth0). Посмотреть имя интерфейса можно командой ifconfig
NET_INTERFACE_NAME=eth0
4. Пропишите полные пути к сертификатам. Здесь необходимо использовать сертификаты, выпущенные вашим доверенным CA. Если использовать сертификаты, предоставленные DION, пользователи получат предупреждение о потенциальной опасности сайта при скачивании видео:
HTTP_CERT_FILE_PATH=путь_к_вашему_сертификату.crt
HTTP_KEY_FILE_PATH=путь_к_вашему_ключу.key
5. Укажите в переменной CAPI_GW_ADDRESSES
локальный адрес сервиса dion-proxy и, через двоеточие, порт 9764 для каждого адреса:
CAPI_GW_ADDRESSES=192.168.1.1:9764
CAPI_GW_ADDRESSES=192.168.1.1:9764,192.168.1.2:9764
6. Перейдите в секцию #S3
API_URL
локальный адрес сервера (например, 192.168.1.3), на котором работает S3 и нужный порт (9000 по умолчанию):API_URL=192.168.1.3:9000
ACCESS_KEY={access_key}
SECRET_KEY={secret}
BUCKET_NAME={name}
Имя bucket должно совпадать в конфигурационных файлах сервисов audiohub, recorder, record-delivery, record-converter!
В пункте 7 описаны настройки, позволяющие включить шифрование записей конференций при хранении. По умолчанию записи хранятся в S3 в незашифрованном виде. Для поддержки шифрования необходим сервис DION-KMS.
7. В переменной ORGANIZATION
укажите ID вашей организации без кавычек. Его можно взять в файле org_id.txt, который вы получили вместе с образами
ORGANIZATION=af4587ec-1a70-487a-87fd-9472bf93edf0
8. Чтобы включить шифрование записей, измените значение SUPPORT_ENCRYPTED_RECORDS
на true
и укажите адреса всех нод KMS в переменной KMS_ADDRESSES
. Адреса указываются через запятую, порт 9135 указывается через двоеточие для каждого адреса. Если шифрование не требуется, оставьте значения переменных по умолчанию.
SUPPORT_ENCRYPTED_RECORDS=true
KMS_ADDRESSES=192.168.1.3:9135,192.168.1.4:9135
9. Сохраните изменения в файле
ctrl+O ctrl+X в Nano
10. Перезапустите сервис
systemctl stop dion-record-delivery
systemctl start dion-record-delivery
11. Убедитесь, что сервис запущен без ошибок и находится в статусе active (running)
systemctl status dion-record-delivery
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
Если сервисы Recorder, Record Converter и Record Delivery настроены корректно и запущены, то при окончании записи конференции, на электронную почту пользователя придёт письмо со ссылкой на скачивание файла записи.
Для проверки работоспособности сервисов записи необходимо зайти в гибридную конференцию (отмеченную синим щитов в интерфейсе), запустить запись.
Для проверки аудиозаписи:
Если возникли ошибки или ссылка не пришла, обратитесь к руководству по устранению неисправностей или к вашей аккаунт-команде за помощью в настройке.
В результате выполнения шагов из данного руководства ожидается: