Должен ли запрос на поворот включать кандидатов на оглушение?
Здесь есть два очень похожих вопроса, но на оба они не даны ответы:
rfc5766-turn-server в качестве TURN и STUN для вопроса 1 приложения webrtc говорит, что "с rfc5766-turn-server достаточно выступить в качестве TURN, а также в качестве STUN-сервера или мне также нужно запустить stun-сервер".
пропущенные кандидаты-ретрансляторы с сервера TURN говорят о пропущенных кандидатах-ретрансляторах, эффект, который я вижу при создании только turn
запрос.
У нас есть coturn
настроен с turns
а также use-auth-secret
и используйте https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ для тестирования.
- Когда я делаю ошеломляющий запрос
stun:hostname:5349
без пароля я вижуsrflx
кандидат (мой внешний IP). - Когда я делаю запрос на поворот
turns:hostname:5349[username:password]
Я вижуrelay
кандидат (публичный адрес сервера TURN).
Это выглядит хорошо, но мне нужно сделать 2 запроса на один и тот же сервер? не должны turn
включают stun
и дай мне srflx
а также relay
кандидаты?
- Можно настроить
coturn
вернуть оба в одном запросе? - Или клиент должен будет сделать оба запроса? Так ли все браузеры будут делать это правильно при использовании WebRTC?
1 ответ
Если на клиенте настроен TURN/UDP, настройка того же сервера, что и сервера STUN, не требуется.
TURN over UDP автоматически вернет кандидата srflx, вы должны увидеть это на странице тестирования trickle-ice. Если вы посмотрите на пакеты, которыми обмениваются в Wireshark, то увидите * запрос привязки STUN и ответ привязки, содержащий публичный ip, который видит сервер в поле xor-mapped-address, а также выделение * STUN (TURN) запрос, ответ которого также содержит xor-mapped-address
TURN over TLS или TURN over TCP не будет этого делать, так как это не будет работать с дыроколом udp.