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
QUOTE (mts @ 13-05-2013, 14:51):
Вопрос такой: как VoIP девайс даёт знать своему серверу, что внешний IP изменился? Разумеется, речь не идёт о ситуации, когда модем и телефон в одном флаконе.
Вариантов много но простейший что я видел - "звонит" на какой ни будь сервис типа http://www.whatismyip.com/ (http://www.whatismyip.com/ или свой сервер где для него сервис запустили, или сразу несколько в списке.
(уточняет) телепатию не использует)

Posted by: mts on 13-05-2013, 16:19
QUOTE (Lord KiRon @ 13-05-2013, 08:58):
QUOTE (mts @ 13-05-2013, 14:51):
Вопрос такой: как VoIP девайс даёт знать своему серверу, что внешний IP изменился? Разумеется, речь не идёт о ситуации, когда модем и телефон в одном флаконе.
Вариантов много но простейший что я видел - "звонит" на какой ни будь сервис типа http://www.whatismyip.com/ (http://www.whatismyip.com/ или свой сервер где для него сервис запустили, или сразу несколько в списке.
(уточняет) телепатию не использует)
Ну, всё, мужик - ты попался! :D:
Давай, говори, как часто звонит? По расписанию или проверяет как-то свой внешний 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, не у рутера.

QUOTE:
А то, что у кого-то там (модем, роутер, еще кто-то) поменялся адрес - это как-то его проблемы.
дык для этого же registrar и нужен, чтобы проверять IP раз в какое-то время. А если она этого не делает, то ИМХО что-то тут неверно.
Это ж как 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
QUOTE (mts @ 13-05-2013, 17:06):
Регистрар мышей не ловит. :(
Минуточку, если мой IP изменился, то регистрар, меня больше не найдёт и ничего сделать не сможет.
Регистрар тебя искать и не будет. Твой девайс должен ему сообщить где ты есть. А для того, чтобы определить свой IP она должна его узнать. Так вот для этого STUN и нужен. Я пользуюсь stun.voipcheap.com, но можно и любым другим, хотя бы и тем, что Lord KiRon упоминал в своем посте.

Posted by: FiL on 13-05-2013, 19:29
QUOTE (VxWorks @ 13-05-2013, 11:48):
дык для этого же registrar и нужен, чтобы проверять IP раз в какое-то время. А если она этого не делает, то ИМХО что-то тут неверно.
Это ж как DHCP работает - надо, не надо, но если leasing expired, то запрос пойдет по-любому.

ЗЫ: Немного почитал на форумах об этой проблеме - она довольно распространена, оказывается. И народ говорит, что без STUN ее не решить.
"раз в какое-то время" хорошо если время измеряется в часах. Или в сутках. Я почему-то уверен, что оно таки даже работает так. Но проблема в том, что если внешний адрес меняется часто, то после каждой смены несколько часов не иметь работающего телефона как-то грустно.

STUN тут никак не помогает. STUN - это протокол как устройству узнать свой внешний адрес. Но задача не в "узнать", а в "вовремя определить, что адрес поменялся и узнать новый".

mts,
то, что VoIP не реагирует на передергивание кабеля и не перерегистрируется - это странно. Как по мне - это баг.


Posted by: FiL on 13-05-2013, 19:30
QUOTE (mts @ 13-05-2013, 11:24):
Да, вот ещё одна идея, но без понятия как её реализовать.
Как сделать так, что бы раутер выдавал этой железке свой Public IP вместо DHCP адреса? Это должно заставить её перерегистрировать свой VoIP сервис.
Ха! А твой пров тебе согласен выдавать лишний Public IP для твоей VoIP железки? Что-то сомнительно.

Posted by: mts on 13-05-2013, 19:41
QUOTE (FiL @ 13-05-2013, 12:30):
QUOTE (mts @ 13-05-2013, 11:24):
Да, вот ещё одна идея, но без понятия как её реализовать.
Как сделать так, что бы раутер выдавал этой железке свой Public IP вместо DHCP адреса? Это должно заставить её перерегистрировать свой VoIP сервис.
Ха! А твой пров тебе согласен выдавать лишний Public IP для твоей VoIP железки? Что-то сомнительно.
Нет, конечно. Но, почему бы моему внутреннему IP, случайно не оказаться равным внешнему? Или нельзя? Мне, в принципе всё равно, лишь бы менялось синхронно с внешним.

Posted by: mts on 13-05-2013, 19:48
QUOTE (VxWorks @ 13-05-2013, 12:22):
Вроде бы здесь говорится о том, как сконфигурировать девайс:
http://www.speedtouch.ca/pdf/784WAN.pdf (http://www.speedtouch.ca/pdf/784WAN.pdf
Этот PDF у меня есть. Без бутылки не разберёшься. К счастью я нашёл внешний конфигуратор со множеством сценариев, в том числе использование WAN порта вместо внутреннего модема.
Вот если б ты увидел там что-то хитрое, относящееся к вызову регистрара...
:)

Posted by: mts on 13-05-2013, 19:52
QUOTE (FiL @ 13-05-2013, 12:29):
QUOTE (VxWorks @ 13-05-2013, 11:48):
дык для этого же registrar и нужен, чтобы проверять IP раз в какое-то время. А если она этого не делает, то ИМХО что-то тут неверно.
Это ж как DHCP работает - надо, не надо, но если leasing expired, то запрос пойдет по-любому.

ЗЫ: Немного почитал на форумах об этой проблеме - она довольно распространена, оказывается. И народ говорит, что без STUN ее не решить.
"раз в какое-то время" хорошо если время измеряется в часах. Или в сутках. Я почему-то уверен, что оно таки даже работает так. Но проблема в том, что если внешний адрес меняется часто, то после каждой смены несколько часов не иметь работающего телефона как-то грустно.

STUN тут никак не помогает. STUN - это протокол как устройству узнать свой внешний адрес. Но задача не в "узнать", а в "вовремя определить, что адрес поменялся и узнать новый".

mts,
то, что VoIP не реагирует на передергивание кабеля и не перерегистрируется - это странно. Как по мне - это баг.
В общем-то да, я согласен сFiLом.
А то, что нет реакции VoIPа на передёргивание кабеля, так IP ведь не изменился, так чего дёргаться-то?

Posted by: FiL on 13-05-2013, 23:17
QUOTE (mts @ 13-05-2013, 12:52):

А то, что нет реакции VoIPа на передёргивание кабеля, так IP ведь не изменился, так чего дёргаться-то?
Кабель выдергивали - пропадала связь. Связь пропадала, а потом появилась - надо сообщить регистратору о том, что ты жив. А уж вопрос какой там адрес - это уже вторично само по себе. Если адрес поменялся, то поменялся. Нет - нет. Но это не важно. Главное сообщить о том, что ты жив и онлайн.

Posted by: Set on 14-05-2013, 01:01
В принципе все это решается установкой более коротких интервалов перерегистрации. Скажем, раз в минуту.

Posted by: mts on 14-05-2013, 03:09
ОК. Кажется вопрос решился "сам".
Провёл кучу экспериментов.
Результаты таковы:
1. Железка-таки пытается себя зарегистрировать довольно часто. Интервал где-то в районе минуты, или даже меньше, что есть гуд. После получения нового IP, телефония восстанавливалась очень быстро.
2. Причина сбоев скорее всего была в том, что я не знаю какие именно порты надо было открывать кроме стандартного 5060. Решил я это открытием DMZ для это железки. М.б. не очень красиво, но лучшего способа я не знаю.
3. Железка-таки отстой - зависла у меня на глазах. Не зря я пытаюсь от неё избавиться. :diablo:

edit:
Опс, забыл. Спасибо всем, узнал много нового и интересного.

Posted by: FiL on 14-05-2013, 03:49
QUOTE (mts @ 13-05-2013, 20:09):

1. Железка-таки пытается себя зарегистрировать довольно часто. Интервал где-то в районе минуты, или даже меньше, что есть гуд.
Какой-же это гуд? Это-же куча паразитного трафика, который 99% времени совершенно бесполезен. Решение абсолютно "в лоб". Грубой силой. Я в печали :(

Posted by: mts on 14-05-2013, 04:02
QUOTE (FiL @ 13-05-2013, 20:49):
QUOTE (mts @ 13-05-2013, 20:09):
1. Железка-таки пытается себя зарегистрировать довольно часто. Интервал где-то в районе минуты, или даже меньше, что есть гуд.
Какой-же это гуд? Это-же куча паразитного трафика, который 99% времени совершенно бесполезен. Решение абсолютно "в лоб". Грубой силой. Я в печали :(
Это не "моё" решение. Оно всегда так было. Просто до моей реконфигурации, когда эта железка работала ещё и модемом и раутером, меня это совсем не интересовало.
Ну, и я не думаю, что трафик уж очень там большой. Тем более что пров пинает сам себя, а расход байтов неограниченный.

Edit.
Up - 9725, down - 5754

Posted by: FiL on 14-05-2013, 07:37
дык никто и не говорит, что это твое решение. Но сам факт. Решение некрасивое.

Posted by: VxWorks on 14-05-2013, 08:22
QUOTE (FiL @ 14-05-2013, 01:49):
QUOTE (mts @ 13-05-2013, 20:09):
1. Железка-таки пытается себя зарегистрировать довольно часто. Интервал где-то в районе минуты, или даже меньше, что есть гуд.
Какой-же это гуд? Это-же куча паразитного трафика, который 99% времени совершенно бесполезен. Решение абсолютно "в лоб". Грубой силой. Я в печали :(
Мой девайс поступает точно так же.

mts

Ну вот, говорил же, что DMZ надо попробовать :)

Posted by: mts on 14-05-2013, 13:26
Теперь кажется что всё не так.
Железка стучится так часто когда заметит что нет контакта с сервером. Когда же она думает, что всё в порядке, то судя по Томатному логу, это происходит раз в два часа.
Более того, на данный момент мне не удалось зарегистрировать входящие запросы, т.е. подключения были инициированы железкой и необходимости в DMZ пока не видно.

Edit.
Пытаюсь найти список входящих соединений на раутере. Исходящие есть в QoS, а входящие?

Posted by: Set on 15-05-2013, 05:16
QUOTE (mts @ 14-05-2013, 13:26):
Теперь кажется что всё не так.
Железка стучится так часто когда заметит что нет контакта с сервером. Когда же она думает, что всё в порядке, то судя по Томатному логу, это происходит раз в два часа.
Более того, на данный момент мне не удалось зарегистрировать входящие запросы, т.е. подключения были инициированы железкой и необходимости в DMZ пока не видно.
В настройках девайса в voip есть Expire Time, запиши туда 60 или сколько тебе там надо секунд.

QUOTE:
2. Причина сбоев скорее всего была в том, что я не знаю какие именно порты надо было открывать кроме стандартного 5060. Решил я это открытием DMZ для это железки. М.б. не очень красиво, но лучшего способа я не знаю.
Я 5060-й на своём девайсе сменил на нестандартный, ибо от сканеров портов у него происходило переполнение памяти и постоянный ребут. :fu:

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
QUOTE (FiL @ 21-05-2013, 13:24):
Что-то до тебя это мыло долго доходило. Мне кажется это уже давно у них. Но мне не в падлу раз в месяц зайти к ним за продлением аккаунта. Даже менее лень, чем самому ddns поднять у себя.
Да, это у них уже года 3 как, если не раньше.
Судя по всему, динднс крутился у mts на раутере, он сам себя обновлял.
Потом или раутер поменяли или настройки динднс слетели

Posted by: mts on 22-05-2013, 17:09
QUOTE (Vlady304 @ 22-05-2013, 09:44):
QUOTE (FiL @ 21-05-2013, 13:24):
Что-то до тебя это мыло долго доходило. Мне кажется это уже давно у них. Но мне не в падлу раз в месяц зайти к ним за продлением аккаунта. Даже менее лень, чем самому ddns поднять у себя.
Да, это у них уже года 3 как, если не раньше.
Судя по всему, динднс крутился у mts на раутере, он сам себя обновлял.
Потом или раутер поменяли или настройки динднс слетели
Ты наверно ещё не проснулся.
:lol:

Posted by: Гордый on 22-05-2013, 18:20
QUOTE (mts @ 22-05-2013, 16:09):
QUOTE (Vlady304 @ 22-05-2013, 09:44):
QUOTE (FiL @ 21-05-2013, 13:24):
Что-то до тебя это мыло долго доходило. Мне кажется это уже давно у них. Но мне не в падлу раз в месяц зайти к ним за продлением аккаунта. Даже менее лень, чем самому ddns поднять у себя.
Да, это у них уже года 3 как, если не раньше.
Судя по всему, динднс крутился у mts на раутере, он сам себя обновлял.
Потом или раутер поменяли или настройки динднс слетели
Ты наверно ещё не проснулся.
:lol:
Слетел не только ДНС, но и роутер слетел с катушек. Теперь он пожирает один АйПи за другим. Никто от него не спасётся, скоро не останется ни одного адреса... за 3 года (если не дольше) - он постепенно принялся за IPv6! :nlo: mts, выключи этого монстра, хотя я думаю он уже связался со всеми облачными облаками и живёт там (где-то)... :help:

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)