Должен ли запрос на поворот включать кандидатов на оглушение?

Здесь есть два очень похожих вопроса, но на оба они не даны ответы:

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.

Другие вопросы по тегам