STUN/TURN сервер. Есть вопросы.

949 views
Skip to first unread message

Denis Jakovlev

unread,
Jul 23, 2015, 9:03:44 AM7/23/15
to freeswitch-ru
Приветствую камарады
Есть вопрос по правильной конфигурации STUN/TURN сервера.
Проблема в следующем. Есть у меня клиент один, который сидит за каким-то диким файрволом и у них сильно ограничены UDP порты. Даже исходящие. Соответственно в этом случае должен как-то помогать TURN сервер.
Поставил я этот TURN к себе (rfc5766-turn-server от гугла). Настроил по мануалам. Тесты проходит (тут), вроде как все нормально. Но не работает зараза. Если заблокировать все UDP порты кроме 53 (для DNS), получаю INCOMPATIBLE_DESTINATION в логе. Если разрешаю 53 и 16384-32768, то работает. Но это не вариант. Я хочу, чтобы они работали через этот TURN. 
Собственно вопрос в следующем, возможно ли это и как правильно конфигурируется вообще этот TURN чтобы freeswitch о нем знал и работал. В vars, internal-external профилях понятно стоит нужный мне сервер.

ros tel

unread,
Jul 23, 2015, 9:25:21 AM7/23/15
to freeswitch-ru, denja...@gmail.com, denja...@gmail.com
TURN просто проксирует RTP и сигналку
он нужен только если оба клиента за NAT и FS пускает RTP в обход себя
никакие ограничения фаерволов с TURN обойти не удастся
TURN - не VPN

четверг, 23 июля 2015 г., 18:03:44 UTC+5 пользователь Denis Jakovlev написал:

Denis Jakovlev

unread,
Jul 23, 2015, 9:27:26 AM7/23/15
to freeswitch-ru, vladv...@yandex.ru
Т.е. если у клиента запрещены все UDP то как бы либо пусть разрешит либо досвидос?
Понятно, что можно колхозить VPN или какой-нибудь stunnel, но хотелось бы как-то по-проще

четверг, 23 июля 2015 г., 15:25:21 UTC+2 пользователь ros tel написал:

ros tel

unread,
Jul 23, 2015, 9:31:54 AM7/23/15
to freeswitch-ru, denja...@gmail.com, denja...@gmail.com
В качестве транспортных протоколов для сигнального и медиатрафика TURN поддерживает TCP и UDP, но RTP в любом случае UDP

четверг, 23 июля 2015 г., 18:27:26 UTC+5 пользователь Denis Jakovlev написал:

ros tel

unread,
Jul 23, 2015, 9:33:35 AM7/23/15
to freeswitch-ru, vladv...@yandex.ru, denja...@gmail.com, vladv...@yandex.ru
т.е. хотел сказать что у FS RTP только по UDP
не знаю примеров у кого он по TCP

четверг, 23 июля 2015 г., 18:31:54 UTC+5 пользователь ros tel написал:

Віталій Ковалишин

unread,
Jul 23, 2015, 9:36:37 AM7/23/15
to freesw...@googlegroups.com, vladv...@yandex.ru, denja...@gmail.com
C TURN и verto пришлось несколько дней повозиться. В принципе, заставить работать по TCP можно. Но, как написал коллега Ниже, голос - это UDP. 
И еще, на TCP - тормоза жуткие с инициализацией сессии. У меня было от 12 до 30 секунд 
--
Вы получили это сообщение, поскольку подписаны на группу "freeswitch-ru".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес freeswitch-r...@googlegroups.com.
Чтобы отправлять сообщения в эту группу, отправьте письмо на электронный адрес freesw...@googlegroups.com.
Чтобы зайти в группу, перейдите по ссылке http://groups.google.com/group/freeswitch-ru.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.


--
--
Vitaly Kovalyshyn
http://vk.it-sfera.com.ua/
Twitter: @kovalyshyn

Denis Jakovlev

unread,
Jul 24, 2015, 12:40:52 AM7/24/15
to freeswitch-ru
Но КАК? Коллега чуть выше говорит, что это невозможно.

Denis Jakovlev

unread,
Jul 24, 2015, 5:00:55 AM7/24/15
to freeswitch-ru, denja...@gmail.com
Опять же, если это кому-то интересно. Через TCP херачит только в путь. Звук и видео. Никаких задержек, ничего. Как при обычном коннекте. jssip если что.
Проблема была в настройках TURN. Я там чуток лоханулся с доменом. Если будет кому интересно, выложу конфигурацию. 
Использую coturn если что. Это форк от гугловского rfc5766-turn-server

Олег Алексеевич

unread,
Jul 24, 2015, 6:19:17 AM7/24/15
to freeswitch-ru, denja...@gmail.com
обязательно когда нибудь кому нибудь понадобится но либо вас не будет тут либо вы все забудите, поэтому будте добры, выложите все что есть по теме.

пятница, 24 июля 2015 г., 12:00:55 UTC+3 пользователь Denis Jakovlev написал:

Denis Jakovlev

unread,
Jul 24, 2015, 6:28:13 AM7/24/15
to freeswitch-ru, eol...@gmail.com
Ок. Тогда в настройках jssip или sip.js ставим 
turnServers: {
  urls
:"turn:exam.org:443?transport=tcp",
  username
:"alice",
  password
:"racecar"
}


Пароль должен быть в открытом виде, как генерировали в turnadmin. В настройках турна соответственно ту билеберду, что возвращает турнадмин (типа такого 0xbc807ee29df3c9ffa736523fb2c4e8ee)

Конфигурак во вложении. 

Запускать, что важно, примерно так /usr/bin/turnserver -L domen -v -o -a -r domen. На месте domen должно быть либо IP или домен, который был задан при генерации пользователя. Иначе работать не будет. 

Ну вроде как все. 

пятница, 24 июля 2015 г., 12:19:17 UTC+2 пользователь Олег Алексеевич написал:
turnserver.conf
Reply all
Reply to author
Forward
0 new messages