Сервер Coturn Stun вернул ошибку с кодом = 701 - PullRequest
1 голос
/ 01 апреля 2020

У меня есть собственный сервер с Ubuntu 19.

ПРИМЕЧАНИЕ. Мне нужен сервер оглушения / поворота для веб-приложения видеочата. Он работает уже, если оба устройства находятся в одной сети.

Я успешно установил и настроил Coturn. Я могу успешно запустить сервер поворота, выполнив: turnserver или nohup turnserver & в терминале.

ПРИМЕЧАНИЕ. У меня есть SSH соединение с моим сервером.

Я также гарантировал, что необходимые порты открыты и проверили их с помощью netstat -tulpn.

Я также несколько раз перезапускал coturn при тестировании sudo service coturn restart.

Я использую эти конфигурации в turnserver.conf:

# Also tried 80
listening-port=3478
# Also tried 443
tls-listening-port=5349
listening-ip=<MY-IP4>
listening-ip=<MY-IP6>
relay-ip=<MY-IP4>
external-ip=<MY-IP4>
oauth
user=root:<password>
userdb=/var/lib/turn/turndb
no-stdout-log

Это мой конфиг iceServers в js, который, как я считаю, должен работать (я сделал ТОННЫ из других комбинаций).

var pcConfig = {
  'iceServers': [
    {
      'urls': 'stun:<MY-IP4>:80'
    },
    {
      'urls': 'turn:<MY-IP4>:80',
      'credential': '<PASSWORD>',
      'username': 'root'
    }
  ]
};

Я сделал ТОННЫ из разных оглушений / включите комбинации серверов, например:

  • Я использовал оглушающие серверы Google: stun.l.google.com:19302, stun2.l.google.com:19302 et c.

  • Я пробовал порты 3478 и 5349 (конечно, после перезапуска Coturn)

  • Я пытался использовать учетные данные для сервера оглушения, но я уверен, что это они не нужны

  • Я пытался использовать IP6 адрес

Я также делал тесты жить в моем веб-проекте, а также здесь: https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

В основном приведенный выше URL-адрес тестирования всегда дает мне:

Note: errors from onicecandidateerror above are not neccessarily fatal. For example an IPv6 DNS lookup may fail but relay candidates can still be gathered via IPv4.
The server stun:<MY-IP4>:80 returned an error with code=701:
STUN server address is incompatible.
The server stun:<MY-IP4>:80 returned an error with code=701:
STUN server address is incompatible.

Не имеет значения, использую ли я оглушение Google сервер или мой, ошибка та же.

Мой веб-проект и видеочат РАБОТАЮТ отлично, если я использую одну и ту же сеть, но я считаю, что серверы оглушения и поворота не используются в одной сети.

Также, когда я обновлял свой файл JS, я всегда удалял кеш, поэтому использовался новый файл JS. Так что это тоже не проблема.

РЕДАКТИРОВАТЬ

Эта комбинация не выдает ошибку, только:

Note: errors from onicecandidateerror above are not 
neccessarily fatal. For example an IPv6 DNS 
lookup may fail but relay candidates can still be gathered via IPv4.

Проверено на https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

{
  'urls': 'stun:<MY-IP6>:80'
},
{
  'urls': 'turn:<MY-IP4>:80',
  'credential': '<PASSWORD>',
  'username': 'root'
}

Я просто использовал IP6 для оглушения и IP4 для поворота. Видеочат в другой сети по-прежнему не работает, других ошибок не найти.

РЕДАКТИРОВАТЬ:

Сегодня заметил, что https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ не Работа. У меня не было ошибок на firefox. НО вы можете ввести какую-то ерунду там, и она также не будет отображать ошибок ...

РЕДАКТИРОВАТЬ:

Я также добавил действительные сертификаты:

cert=/usr/local/etc/turn.pem                                                                                    
pkey=/usr/local/etc/turn.key.pem

Кажется, работает. Я перезапустил Coturn и статус говорит мне, что все работает без проблем.

Видеочат по-прежнему не работает в разных сетях.

1 Ответ

1 голос
/ 03 апреля 2020

Хорошо. Я смотрел на все это с неправильной точки зрения. Настройка сервера TURN / STUN правильная.

Проблема связана с кодом клиент / сервер. Сигнализация не работает.

Я следовал этой статье , но у меня проблемы с настройкой службы сигнализации. Я думаю, что это должно быть задано в новом вопросе.

...