Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

TURN сервер используется для установки WebRTC соединения и передачи медиатраффика, если брандмауэр блокирует обмен по UDP между клиентом и сервером

Возможны следующие варианты использования TURN сервера совместно с WCS-сервером:

1. Использование внешнего TURN сервера. Данный вариант подходит корпоративным пользователям с развитой инфраструктурой, а также пользователям, предпочитающим разделять выполняемые задачи по серверам.

2. Использование внутреннего TURN сервера, встроенного в WCS. Данный вариант подходит малым предприятиям и пользователям, предпочитающим решения "из коробки".

Использование внешнего TURN-сервера

При использовании внешнего TURN сервера трафик через доступные TCP-порты проходит следующим образом:

Установка и настройка 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

  • No labels