Failed by ICE keep alive

Discussion in 'Web Call Server 5' started by Ivan, Apr 16, 2018.

  1. Ivan

    Ivan Member

    У некоторых пользователей при публикации потока или при просмотре потока вылетает ошибка
    Failed by ICE keep alive
    И если такая ошибка возникает, то множество попыток создать поток ни к чему не приводят.
    Как понять из-за чего это ошибка?
    Поймать самим ее у нас не получается.
  2. Max

    Max Administrator Staff Member

    Какая версия сервера?
  3. Ivan

    Ivan Member

    5.0.2934
  4. Max

    Max Administrator Staff Member

    Т.е. у пользователей поток в принципе работает, они могут видеть видео, но потом он уходит в ICE Keep Alive Failed?
    Пришлите пожалуйста логи и конфиги
    Code:
    WCS_HOME/conf
    WCS_HOME/logs/server_logs/flashphoner.log (почасовая ротация)
    WCS_HOME/logs/cdr
    
    Убедитесь что в отправляемые логи попадает проблема с ICE Keep Alive Failed.
    E-mail: logs@flashphoner.com

    Или же пришлите SSH доступ к серверу с указанием на логи, где обнаружена проблема. Проверим.
  5. Ivan

    Ivan Member

    Отправил логи на почту
  6. Max

    Max Administrator Staff Member

    Попробуйте выкрутить timeout в flashphoner.properties или просто увеличить.
    Code:
    stun_freshness_timeout=999999999
    По-умолчанию это значение 15000 (15 секунд).

    Ошибка может связана с тем, что у пользователя NAT, который как-то подменяет порты UDP пакетов.
    Если повышение таймаута не поможет,можно попробовать этих пользователей пускать через TURN сервер.
    Пример: https://wcs5-eu.flashphoner.com/cli...l-streaming/firewall-traversal-streaming.html
    Работает через наш turn.flashphoner.com:443
    Инструкции по установке TURN сервера можно найти здесь:
    https://flashphoner.com/docs/wcs5/w...nd_testing-firewall_traversal-turn_server.htm
  7. Ivan

    Ivan Member

    Получается мы из js должны отправлять credential и username - т.е. они станут доступны всем и нашим turn сервером сможет пользоваться кто угодно...
    Flashphoner.createSession({urlServer: url, mediaOptions: {"iceServers": [ { 'url': 'turn:192.168.0.1:3478?transport=tcp', 'credential': 'password1', 'username': 'username1' } ], "iceTransportPolicy": "relay"}})
    Мы можем использовать 1 TURN сервер на несколько FWS?
  8. Max

    Max Administrator Staff Member

    У вас TURN будет смотреть в мир одним портом, например 443. Остальной трафик между TURN и WCS серверами можно изолировать от внешнего мира.
    Например разрешить входящий и исходящий UDP трафик только с WCS_IP.
    Таким образом да, кто угодно сможет пройти аутентификацию на вашем TURN сервере, но никто не сможет им воспользоваться по назначению, кроме как публиковать или играть стримы с ваших же WCS - севреров.
    Да.

Share This Page