2016-12-13 15 views
1

Я действительно следил за этим кодеком WebRTC (https://codelabs.developers.google.com/codelabs/webrtc-web/#7), но застревает при необходимости подключения к серверам ICE.Настройка видеозвонка Nodejs WebRTC, а также прерывание/ICE, CORS заблокирован

Essential код здесь:

main.js

var pcConfig = { 
    'iceServers': [{ 
    'url': 'stun:stun.l.google.com:19302' 
} 

[...] 

if (location.hostname !== 'localhost') { 
requestTurn(
    'https://computeengineondemand.appspot.com/turn?username=41784574&key=4080218913');} 

Обычно я получаю либо сообщение об ошибке: «ICE не удалось», или «Cross-Origin Request Заблокировано: The Same Origin Policy Запрещает чтение пульта дистанционного управления ресурс в https://computeengineondemand.appspot.com/turn?username=41784574&key=4080218913. (Причина: заголовок CORS «Access-Control-Allow-Origin» отсутствует. »

В соответствии с последним, я включил « Заголовки A2enmod »и установил это на apache.conf« Header всегда устанавливает Access-Control -Allow-Origin "*" "

Проблема сохраняется. Мой STUN-сервер «url»: «stun: stun.l.google.com: 19302» « Насколько я понял, STUN должен работать 80% времени. Но это никогда не срабатывает. Поэтому, даже если TURNserver больше не будет работать, он должен иногда подключаться к STUN?

+0

то же самое касается меня! Могу ли я добавить вашу телеграмму \ skype, чтобы раскрыть это решение? – Loint

+0

Я не нашел для этого решения, но вы можете отправить мне письмо [email protected]il.com. – Gideons

+0

Итак, я, наконец, понял, что сеть в моем офисе блокирует все - серверы STUN всегда терпели неудачу. Я создал собственный TURN-сервер и ta-daa - видеозвонки наконец-то работают – Gideons

ответ

1

STUN должен работать 80% времени означает, что для 80% конечных пользователей Интернета STUN должен работать некоторое время (большинство) времени. Независимо от того, находитесь ли вы в этом 80%, зависит от конфигурации сети, прежде всего, разрешено ли UDP.

Вы можете проверить трафик STUN самостоятельно с помощью такого инструмента, как Wireshark, или tcpdump.

ICE использует как STUN, так и TURN. Если ни STUN, ни TURN не работают, вы не сможете подключать одноранговые соединения WebRTC к конечным точкам вне вашей собственной сети.

Вам также необходимо добавить сервер TURN к вашему iceServers.

+1

Да - сервер STUN никогда не работал. Запуск сервера STUN и установка его в список решили все. – Gideons

+1

Я имел в виду: Да - сервер STUN никогда не работал, поскольку моя офисная сеть блокировала все. Развертывание сервера TURN и добавление его в список решило это. Это приложение было полезно для тестирования трафика, а также demo.easyrtc.com/demos/demo_ice_filter.html – Gideons

+0

@ Gideons кажется интересным. На каком сервере вы развернули и как? –