Установка и настройка TURN-сервера на CentOS 7
1. Скачайте и установите turnserver
Для компиляции из исходников можно воспользоваться следующим руководством.
2. Создайте файл конфигурации turnserver.conf
Пример конфигурационного файла turnserver.conf.default находится в директории /usr/local/etc. Можно переименовать его в turnserver.conf или создать новый файл.
Ниже приведен пример минимального конфигурационного файла:
fingerprint lt-cred-mech user=username1:password1 realm=flashphoner.com cert=/usr/local/etc/turn_server_cert.pem pkey=/usr/local/etc/turn_server_pkey.pem pkey-pwd=qweasd
а) Как видно из этого примера, для работы TURN-сервера необходимы сертификат и приватный ключ.
Если TURN-сервер установлен на том же сервере, что WCS-сервер, то можно воспользоваться сертификатами WCS-сервера.
Если TURN-сервер установлен на другом сервере, то можно воспользоваться openssl, чтобы сгенерировать сертификат и приватный ключ:
openssl req -x509 -newkey rsa:4096 -keyout /usr/local/etc/turn_server_pkey.pem -out usr/local/etc/turn_server_cert.pem -days 365
б) ОБЯЗАТЕЛЬНО: В конфигурационном файле TURN-сервера должна быть включена авторизация и указаны пользователи для авторизации (первые три строки примера конфигурационного файла).
3. Запустите turnserver
turnserver
Соединение с использованием TURN-сервера
При создании сессии c помощью Flashphoner API необходимо передать параметр mediaOptions, в котором следует указать координаты TURN-сервера. Ниже приведен пример создания такой сессии:
Flashphoner.createSession({urlServer: url, mediaOptions: {"iceServers": [ { 'url': 'turn:192.168.0.1:3478?transport=tcp', 'credential': 'password1', 'username': 'username1' } ], "iceTransportPolicy": "relay"}})
Известные проблемы
1) Браузер Microsoft Edge не играет потоки через TURN сервер
Решение: использовать другой браузер, т.к. Microsoft Edge не поддерживает TURN по TCP