# Компонент для протокола TrueConf
Представляет собой исполняемый файл с именем tc_bc. Настройки для работы компонента можно указать в списке параметров запуска после пути к исполняемому файлу или в подключаемом файле конфигурации (с помощью параметра -c
). Пример файла конфигурации смотрите после перечисления параметров.
# Запуск из консоли
Для запуска компонента как консольного приложения перейдите в терминал и выполните команду:
<path_to_border_controller> <parameters>
где <path_to_border_controller>
— путь к исполняемому файлу, <parameters>
— список параметров (см. далее).
Например, запуск на Windows с минимально необходимым параметром -d
(адрес TrueConf Server):
"C:\Program Files\TrueConf\tc_bc.exe" -d 10.110.10.10
Запуск на Linux с минимально необходимым параметром -d
:
"/opt/trueconf/enterprise/etc/bc/tc_bc" -d 10.110.10.10
# Добавление как службы или демона
Данный способ удобнее по ряду причин:
процесс может быть запущен автоматически от имени системной учётной записи ОС (не требуется входа в сеанс пользователя), при этом остаётся возможность его управлением вручную;
в пределах ОС можно сделать разные службы/демоны на базе одного приложения для направления трафика на несколько экземпляров TrueConf Server, не разворачивая множество виртуальных или физических серверов в DMZ;
в журнале событий ОС будут записи о старте и остановке службы/демона, сообщения в случае проблем в работе и пр.
# Добавление службы на Windows
Чтобы добавить компонент в список служб Windows, можно воспользоваться командой New-Service
в PowerShell (opens new window) или утилитой sc.exe (opens new window).
При этом для большей гибкости в дальнейшей поддержке расширения рекомендуем указать параметры не в списке после пути к исполняемому файлу, а в подключаемом файле конфигурации (смотрите параметр -c
).
Создание службы с помощью PowerShell:
Запустите PowerShell от имени администратора.
Выполните команду вида:
$params = @{
Name = "TrueConf Border Controller"
BinaryPathName = "c:\trueconf\tc_bc.exe -c c:\trueconf\tc_bc.cfg --service"
DisplayName = "TrueConf Border Controller"
StartupType = "Automatic"
Description = "This is a TrueConf Border Controller service."
}
new-service @params
где в параметре BinaryPathName
укажите ваш путь к tc_bc.exe
и расположение файла конфигурации. Обратите внимание, что наличие параметра --service
является обязательным.
Если путь, например, к файлу конфигурации, содержит пробелы, то его следует заключить в двойные кавычки " и экранировать их с помощью символа ` (обратная одинарная кавычка), например:
`"c:\trueconf\trueconf\tc_bc.cfg`"
Подробнее об этом читайте в документации PowerShell (opens new window).
Создание службы с помощью утилиты sc через cmd (терминал):
Запустите cmd от имени администратора.
Выполните команду вида:
sc create TrueConf_Border_Controller binPath= ""C:\TrueConfBorderController\tc_bc.exe" --service --ConfigFile C:\TrueConfBorderController\tc_bc.cfg" DisplayName=TrueConf_Border_Controller type=own start=auto
# Добавление демона на Linux
Для добавления демона на Linux надо создать для него файл запуска (называемый юнит) в каталоге /etc/systemd/system
. Например, для запуска от имени root с чтением файла конфигурации tc_bc.cfg:
В одной директории, например,
/opt/trueconf/enterprise/etc/bc/
, разместите исполняемый файл компонента tc_bc и конфигурационный файл tc_bc.cfg. Список параметров для файла конфигурации представлен ниже.Создайте файл юнита, например, tbc.service, с помощью команды:
sudo nano /etc/systemd/system/tbc.service
3. Сохраните в файле следующее содержимое:
[Unit]
Description=TrueConf Border Controller
After=network.target
[Service]
ExecStart=/usr/bin/tbc.sh
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
4. По пути из параметра ExecStart
разместить скриптtbc.sh
, в котором укажите команду запуска в виде:
#!/bin/bash
/opt/trueconf/enterprise/etc/bc/tc_bc -c /opt/trueconf/enterprise/etc/bc/tc_bc.cfg
5. Для обновления конфигурации в подсистеме systemd выполните команду:
sudo systemctl daemon-reload
6. Для ручного запуска демона выполните команду:
sudo systemctl start tbc.service
7. Проверить статус работы демона можно с помощью команды:
sudo systemctl status tbc.service
Созданный демон будет запускаться автоматически при старте системы и успешной проверке конфигурации сети.
Подробнее о создании демона Linux читайте в документации к вашей версии ОС, или в общих руководствах, например на Linux Handbook (opens new window).
# Список параметров
Компонент TrueConf Border Controller для перенаправления трафика TrueConf поддерживает следующие параметры запуска (в скобках для некоторых представлены альтернативные варианты вызова).
# Параметры командной строки (нельзя использовать в файле конфигурации)
-h
(--help
) — вывод встроенной помощи со списком параметров и примерами;-c <path>
(--ConfigFile <path>
) — путь<path>
к файлу конфигурации;-v
(--version
) — версия компонента.
# Общие параметры
--Debug <level>
— уровень логирования от 0 (отключен) до 4;--LogDirectory <path>
— путь к сохранению лог-файлов по работе расширения;--LogToConsole
— вывод логов в консоль вместо лог-файла;--Daemonize <path to the PID lock-file>
(только для Linux) — запуск в виде демона (daemon) с указанием пути сохранения PID-файла;--Service
(только для Windows) — запуск в виде службы;--R
— автоматический перезапуск службы при ошибке.
# Параметры маршрутизации:
-D <id>/<host>:<port>
(--Destination <id>/<host>:<port>
) — адрес или FQDN TrueConf Server или TrueConf Enterprise для перенаправления трафика. Здесь:<id>
— (опционально) уникальная строка идентификатора для объединения опций (если требуется работа одного TrueConf Border Controller с несколькими правилами перенаправления, не рекомендуется);<host>
— IPv4, IPv6 или FQDN (IPv6 должен быть указан в квадратных скобках[IPv6]
);<port>
— (опционально) порт, может быть опущен если равен значению по-умолчанию 4307;
-L <id>/<host>:<port>
(--Listen <id>/<host>:<port>
) — сетевой интерфейс для получения входящего трафика, опции совпадают с таковыми для параметра-D
;-E <id>/<cipher>:<flags>:<key>
(--Encryption <id>/<cipher>:<flags>:<key>
) — шифрование пакетов от TrueConf Border Controller к серверу видеосвязи. Здесь:<id>
— (опционально) уникальная строка идентификатора для объединения опций;<cipher>
— используемый шифр, принимает значенияNone
(без шифрования, по-умолчанию),ChaCha20
,AES-256-CTR
,AES-256-OFB
,AES-192-CTR
,AES-192-OFB
,AES-128-CTR
,AES-128-OFB
,xoshiro256++
,xoshiro256**
;<key>
— ключ для шифрования (в 16-ричном виде), может быть опущен, чтобы использовалось случайно сгенерированное значение (не совместимо с режимом PSK);<flags>
— если имеется и равенPSK
, значит, используется шифрование с использованием Pre-Shared Key. Тогда требуется его настройка на стороне сервера видеосвязи.
# Пример файла конфигурации:
LogDirectory=/opt/trueconf/enterprise/etc/bc/logs/
Listen=10.140.10.123
Destination=10.110.10.10
Encryption=ChaCha20