Printable Version of Topic
Click here to view this topic in its original format |
Forums > Компьютерная техника > VoIP железка, Как оно унутри |
Posted by: mts on 13-05-2013, 15:51 |
Вопрос такой: как VoIP девайс даёт знать своему серверу, что внешний IP изменился? Разумеется, речь не идёт о ситуации, когда модем и телефон в одном флаконе. |
Posted by: Lord KiRon on 13-05-2013, 15:58 | ||
(уточняет) телепатию не использует) |
Posted by: mts on 13-05-2013, 16:19 | ||||
Давай, говори, как часто звонит? По расписанию или проверяет как-то свой внешний IP? Что делать если железка этому не обучена? Можно ли как-то заставить мой модем/раутер выделить новый IP для этой железки при смене внешнего IP? |
Posted by: VxWorks on 13-05-2013, 16:43 |
Я что-то не понял - а зачем этой железке вообще знать свой IP? Она же раз в какое-то время посылает пакет регистрару типа "я вот такой-то клиент и все еще здесь". Вот так это выглядит: http://www.siptutorial.net/SIP/registration.html (http://www.siptutorial.net/SIP/registration.html |
Posted by: mts on 13-05-2013, 16:53 |
А вот нефига не посылает. Т.е. первый раз конечно да, а потом фиг дождёшься. Дело в том, что эта железка Thomson TG784 модем/роутер/войп в одном флаконе. Пока она работала как модем, проблем не была. Я её перенастроил с модема на WAN порт и подключил к раутеру. Теперь она ничего не знает, что происходит снаружи, т.е. с её точки зрения раз IP не изменился, то и посылать регистрару ничего не нужно. |
Posted by: VxWorks on 13-05-2013, 17:25 |
А настроек STUN у нее нет? Может, она не умеет лазить за NAT. Попробуй высунуть ее в DMZ. ЗЫ: Мой Zoom 5801 постоянно долбится в инет с registrar запросами. Если запретить ему выход в рутере, то через 10 секунд лампочка "VoIP" гаснет. |
Posted by: mts on 13-05-2013, 18:04 |
А зачем её в DMZ? Железка регистрирует себя без проблем. И в принципе всё работает. Проблема в том, что если по какой-то причине, внешний IP изменится, то она об этом не узнает, что естественно, и не будет пытаться себя зарегистрировать снова. Может, конечно, если подождать с полчаса, то она всё-таки соизволит зарегистрироваться, но это как-то не кошерно. Настройки там минимальные, по крайней мере в GUI. Может внутри что-то есть, но там сам чёрт ногу сломит. Прочитал про STUN. Не уверен что понял и не знаю есть ли он на Tomato и на мой железке. |
Posted by: mts on 13-05-2013, 18:24 |
Да, вот ещё одна идея, но без понятия как её реализовать. Как сделать так, что бы раутер выдавал этой железке свой Public IP вместо DHCP адреса? Это должно заставить её перерегистрировать свой VoIP сервис. |
Posted by: FiL on 13-05-2013, 18:31 |
В общем-то верно железка поступает. У нее адрес не изменился, она новый запрос и не посылает. Чего зря трафик создавать. А то, что у кого-то там (модем, роутер, еще кто-то) поменялся адрес - это как-то его проблемы. Я так понимаю, что правильное решение - это учить модем/роутер обрывать линки на внутренних интерфейсах при смене внешнего адреса. Но тоже не панацея, ибо VoIP может быть подключен через несколько хопов и все равно не заметить смену. |
Posted by: mts on 13-05-2013, 18:42 |
Я кабель из железки выдёргивал, вставлял снова - ноль реакции, раутер новый IP для железки выдавать не будет. У нас кто-нибудь томатную прошивку знает по-хорошему? |
Posted by: VxWorks on 13-05-2013, 18:48 | ||
STUN должен быть у VoIP, не у рутера.
Это ж как DHCP работает - надо, не надо, но если leasing expired, то запрос пойдет по-любому. ЗЫ: Немного почитал на форумах об этой проблеме - она довольно распространена, оказывается. И народ говорит, что без STUN ее не решить. |
Posted by: mts on 13-05-2013, 19:06 |
Минуточку, если мой IP изменился, то регистрар, меня больше не найдёт и ничего сделать не сможет. |
Posted by: VxWorks on 13-05-2013, 19:22 |
Вроде бы здесь говорится о том, как сконфигурировать девайс: http://www.speedtouch.ca/pdf/784WAN.pdf (http://www.speedtouch.ca/pdf/784WAN.pdf |
Posted by: VxWorks on 13-05-2013, 19:24 | ||
|
Posted by: FiL on 13-05-2013, 19:29 | ||
STUN тут никак не помогает. STUN - это протокол как устройству узнать свой внешний адрес. Но задача не в "узнать", а в "вовремя определить, что адрес поменялся и узнать новый". mts, то, что VoIP не реагирует на передергивание кабеля и не перерегистрируется - это странно. Как по мне - это баг. |
Posted by: FiL on 13-05-2013, 19:30 | ||
|
Posted by: mts on 13-05-2013, 19:41 | ||||
|
Posted by: mts on 13-05-2013, 19:48 | ||
Вот если б ты увидел там что-то хитрое, относящееся к вызову регистрара... |
Posted by: mts on 13-05-2013, 19:52 | ||||
А то, что нет реакции VoIPа на передёргивание кабеля, так IP ведь не изменился, так чего дёргаться-то? |
Posted by: FiL on 13-05-2013, 23:17 | ||
|
Posted by: Set on 14-05-2013, 01:01 |
В принципе все это решается установкой более коротких интервалов перерегистрации. Скажем, раз в минуту. |
Posted by: mts on 14-05-2013, 03:09 |
ОК. Кажется вопрос решился "сам". Провёл кучу экспериментов. Результаты таковы: 1. Железка-таки пытается себя зарегистрировать довольно часто. Интервал где-то в районе минуты, или даже меньше, что есть гуд. После получения нового IP, телефония восстанавливалась очень быстро. 2. Причина сбоев скорее всего была в том, что я не знаю какие именно порты надо было открывать кроме стандартного 5060. Решил я это открытием DMZ для это железки. М.б. не очень красиво, но лучшего способа я не знаю. 3. Железка-таки отстой - зависла у меня на глазах. Не зря я пытаюсь от неё избавиться. edit: Опс, забыл. Спасибо всем, узнал много нового и интересного. |
Posted by: FiL on 14-05-2013, 03:49 | ||
|
Posted by: mts on 14-05-2013, 04:02 | ||||
Ну, и я не думаю, что трафик уж очень там большой. Тем более что пров пинает сам себя, а расход байтов неограниченный. Edit. Up - 9725, down - 5754 |
Posted by: FiL on 14-05-2013, 07:37 |
дык никто и не говорит, что это твое решение. Но сам факт. Решение некрасивое. |
Posted by: VxWorks on 14-05-2013, 08:22 | ||||
mts Ну вот, говорил же, что DMZ надо попробовать |
Posted by: mts on 14-05-2013, 13:26 |
Теперь кажется что всё не так. Железка стучится так часто когда заметит что нет контакта с сервером. Когда же она думает, что всё в порядке, то судя по Томатному логу, это происходит раз в два часа. Более того, на данный момент мне не удалось зарегистрировать входящие запросы, т.е. подключения были инициированы железкой и необходимости в DMZ пока не видно. Edit. Пытаюсь найти список входящих соединений на раутере. Исходящие есть в QoS, а входящие? |
Posted by: Set on 15-05-2013, 05:16 | ||||
|
Posted by: mts on 15-05-2013, 14:21 |
О! А вот это пара интересных советов. С первым покопаюсь, а вот со вторым, кажется я неосознано уже решил. В Томате файервол поставлен так, что этот порт (5060) форвардидть на телефон только если запрос пришёл от провайдера. |
Posted by: mts on 16-05-2013, 21:58 |
Так, между делом. Пришло мыло от dyndns.com, говорят баста, халява кончилась. Либо раз в месяц логинься, либо плати. А иначе мы тебя от себя отлучим и имя доменное отнимем. Надо будет внимательнее посмотреть, что Томат из бесплатного поддерживает, там список большой. По теме, поставил 5 минут на Expire Time, а DMZ заменил на открытие всех портов, но только с моего телефонного провайдера. |
Posted by: FiL on 21-05-2013, 20:24 |
Что-то до тебя это мыло долго доходило. Мне кажется это уже давно у них. Но мне не в падлу раз в месяц зайти к ним за продлением аккаунта. Даже менее лень, чем самому ddns поднять у себя. |
Posted by: mts on 21-05-2013, 20:54 |
Живу от них далеко. dyndns пошёл лесом. Я взял себе новое имя у No-IP. Хотя оно мне нужно-то бывает once in a blue moon. |
Posted by: Vlady304 on 22-05-2013, 16:44 | ||
Судя по всему, динднс крутился у mts на раутере, он сам себя обновлял. Потом или раутер поменяли или настройки динднс слетели |
Posted by: mts on 22-05-2013, 17:09 | ||||
|
Posted by: Гордый on 22-05-2013, 18:20 | ||||||
|