Forums -> Компьютерная техника -> VoIP железка
| Full Version

mts
Вопрос такой: как VoIP девайс даёт знать своему серверу, что внешний IP изменился? Разумеется, речь не идёт о ситуации, когда модем и телефон в одном флаконе.
Lord KiRon
QUOTE (mts @ 13-05-2013, 14:51)
Вопрос такой: как VoIP девайс даёт знать своему серверу, что внешний IP изменился? Разумеется, речь не идёт о ситуации, когда модем и телефон в одном флаконе.
Вариантов много но простейший что я видел - "звонит" на какой ни будь сервис типа http://www.whatismyip.com/ или свой сервер где для него сервис запустили, или сразу несколько в списке.
(уточняет) телепатию не использует)
mts
QUOTE (Lord KiRon @ 13-05-2013, 08:58)
QUOTE (mts @ 13-05-2013, 14:51)
Вопрос такой: как VoIP девайс даёт знать своему серверу, что внешний IP изменился? Разумеется, речь не идёт о ситуации, когда модем и телефон в одном флаконе.
Вариантов много но простейший что я видел - "звонит" на какой ни будь сервис типа http://www.whatismyip.com/ или свой сервер где для него сервис запустили, или сразу несколько в списке.
(уточняет) телепатию не использует)
Ну, всё, мужик - ты попался! :D:
Давай, говори, как часто звонит? По расписанию или проверяет как-то свой внешний IP?
Что делать если железка этому не обучена? Можно ли как-то заставить мой модем/раутер выделить новый IP для этой железки при смене внешнего IP?
VxWorks
Я что-то не понял - а зачем этой железке вообще знать свой IP?
Она же раз в какое-то время посылает пакет регистрару типа "я вот такой-то клиент и все еще здесь".

Вот так это выглядит:
http://www.siptutorial.net/SIP/registration.html
mts
А вот нефига не посылает. Т.е. первый раз конечно да, а потом фиг дождёшься.
Дело в том, что эта железка Thomson TG784 модем/роутер/войп в одном флаконе. Пока она работала как модем, проблем не была. Я её перенастроил с модема на WAN порт и подключил к раутеру. Теперь она ничего не знает, что происходит снаружи, т.е. с её точки зрения раз IP не изменился, то и посылать регистрару ничего не нужно.
VxWorks
А настроек STUN у нее нет? Может, она не умеет лазить за NAT. Попробуй высунуть ее в DMZ.

ЗЫ: Мой Zoom 5801 постоянно долбится в инет с registrar запросами. Если запретить ему выход в рутере, то через 10 секунд лампочка "VoIP" гаснет.
mts
А зачем её в DMZ? Железка регистрирует себя без проблем. И в принципе всё работает. Проблема в том, что если по какой-то причине, внешний IP изменится, то она об этом не узнает, что естественно, и не будет пытаться себя зарегистрировать снова. Может, конечно, если подождать с полчаса, то она всё-таки соизволит зарегистрироваться, но это как-то не кошерно.
Настройки там минимальные, по крайней мере в GUI. Может внутри что-то есть, но там сам чёрт ногу сломит.
Прочитал про STUN. Не уверен что понял и не знаю есть ли он на Tomato и на мой железке.
mts
Да, вот ещё одна идея, но без понятия как её реализовать.
Как сделать так, что бы раутер выдавал этой железке свой Public IP вместо DHCP адреса? Это должно заставить её перерегистрировать свой VoIP сервис.
FiL
В общем-то верно железка поступает. У нее адрес не изменился, она новый запрос и не посылает. Чего зря трафик создавать.
А то, что у кого-то там (модем, роутер, еще кто-то) поменялся адрес - это как-то его проблемы.
Я так понимаю, что правильное решение - это учить модем/роутер обрывать линки на внутренних интерфейсах при смене внешнего адреса. Но тоже не панацея, ибо VoIP может быть подключен через несколько хопов и все равно не заметить смену.
mts
Я кабель из железки выдёргивал, вставлял снова - ноль реакции, раутер новый IP для железки выдавать не будет.

У нас кто-нибудь томатную прошивку знает по-хорошему?
VxWorks
STUN должен быть у VoIP, не у рутера.

QUOTE
Как сделать так, что бы раутер выдавал этой железке свой Public IP вместо DHCP адреса? Это должно заставить её перерегистрировать свой VoIP сервис.
Никогда такого не видел и даже не представляю как это должно работать :(

FiL

QUOTE
А то, что у кого-то там (модем, роутер, еще кто-то) поменялся адрес - это как-то его проблемы.
дык для этого же registrar и нужен, чтобы проверять IP раз в какое-то время. А если она этого не делает, то ИМХО что-то тут неверно.
Это ж как DHCP работает - надо, не надо, но если leasing expired, то запрос пойдет по-любому.

ЗЫ: Немного почитал на форумах об этой проблеме - она довольно распространена, оказывается. И народ говорит, что без STUN ее не решить.
mts
Регистрар мышей не ловит. :(
Минуточку, если мой IP изменился, то регистрар, меня больше не найдёт и ничего сделать не сможет.
VxWorks
Вроде бы здесь говорится о том, как сконфигурировать девайс:
http://www.speedtouch.ca/pdf/784WAN.pdf
VxWorks
QUOTE (mts @ 13-05-2013, 17:06)
Регистрар мышей не ловит. :(
Минуточку, если мой IP изменился, то регистрар, меня больше не найдёт и ничего сделать не сможет.
Регистрар тебя искать и не будет. Твой девайс должен ему сообщить где ты есть. А для того, чтобы определить свой IP она должна его узнать. Так вот для этого STUN и нужен. Я пользуюсь stun.voipcheap.com, но можно и любым другим, хотя бы и тем, что Lord KiRon упоминал в своем посте.
FiL
QUOTE (VxWorks @ 13-05-2013, 11:48)
дык для этого же registrar и нужен, чтобы проверять IP раз в какое-то время. А если она этого не делает, то ИМХО что-то тут неверно.
Это ж как DHCP работает - надо, не надо, но если leasing expired, то запрос пойдет по-любому.

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

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

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

FiL
QUOTE (mts @ 13-05-2013, 11:24)
Да, вот ещё одна идея, но без понятия как её реализовать.
Как сделать так, что бы раутер выдавал этой железке свой Public IP вместо DHCP адреса? Это должно заставить её перерегистрировать свой VoIP сервис.
Ха! А твой пров тебе согласен выдавать лишний Public IP для твоей VoIP железки? Что-то сомнительно.
mts
QUOTE (FiL @ 13-05-2013, 12:30)
QUOTE (mts @ 13-05-2013, 11:24)
Да, вот ещё одна идея, но без понятия как её реализовать.
Как сделать так, что бы раутер выдавал этой железке свой Public IP вместо DHCP адреса? Это должно заставить её перерегистрировать свой VoIP сервис.
Ха! А твой пров тебе согласен выдавать лишний Public IP для твоей VoIP железки? Что-то сомнительно.
Нет, конечно. Но, почему бы моему внутреннему IP, случайно не оказаться равным внешнему? Или нельзя? Мне, в принципе всё равно, лишь бы менялось синхронно с внешним.
mts
QUOTE (VxWorks @ 13-05-2013, 12:22)
Вроде бы здесь говорится о том, как сконфигурировать девайс:
http://www.speedtouch.ca/pdf/784WAN.pdf
Этот PDF у меня есть. Без бутылки не разберёшься. К счастью я нашёл внешний конфигуратор со множеством сценариев, в том числе использование WAN порта вместо внутреннего модема.
Вот если б ты увидел там что-то хитрое, относящееся к вызову регистрара...
:)
mts
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 ведь не изменился, так чего дёргаться-то?
FiL
QUOTE (mts @ 13-05-2013, 12:52)

А то, что нет реакции VoIPа на передёргивание кабеля, так IP ведь не изменился, так чего дёргаться-то?
Кабель выдергивали - пропадала связь. Связь пропадала, а потом появилась - надо сообщить регистратору о том, что ты жив. А уж вопрос какой там адрес - это уже вторично само по себе. Если адрес поменялся, то поменялся. Нет - нет. Но это не важно. Главное сообщить о том, что ты жив и онлайн.
Set
В принципе все это решается установкой более коротких интервалов перерегистрации. Скажем, раз в минуту.
mts
ОК. Кажется вопрос решился "сам".
Провёл кучу экспериментов.
Результаты таковы:
1. Железка-таки пытается себя зарегистрировать довольно часто. Интервал где-то в районе минуты, или даже меньше, что есть гуд. После получения нового IP, телефония восстанавливалась очень быстро.
2. Причина сбоев скорее всего была в том, что я не знаю какие именно порты надо было открывать кроме стандартного 5060. Решил я это открытием DMZ для это железки. М.б. не очень красиво, но лучшего способа я не знаю.
3. Железка-таки отстой - зависла у меня на глазах. Не зря я пытаюсь от неё избавиться. :diablo:

edit:
Опс, забыл. Спасибо всем, узнал много нового и интересного.
FiL
QUOTE (mts @ 13-05-2013, 20:09)

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

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

mts

Ну вот, говорил же, что DMZ надо попробовать :)
mts
Теперь кажется что всё не так.
Железка стучится так часто когда заметит что нет контакта с сервером. Когда же она думает, что всё в порядке, то судя по Томатному логу, это происходит раз в два часа.
Более того, на данный момент мне не удалось зарегистрировать входящие запросы, т.е. подключения были инициированы железкой и необходимости в DMZ пока не видно.

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

QUOTE
2. Причина сбоев скорее всего была в том, что я не знаю какие именно порты надо было открывать кроме стандартного 5060. Решил я это открытием DMZ для это железки. М.б. не очень красиво, но лучшего способа я не знаю.
Я 5060-й на своём девайсе сменил на нестандартный, ибо от сканеров портов у него происходило переполнение памяти и постоянный ребут. :fu:
mts
О! А вот это пара интересных советов.
С первым покопаюсь, а вот со вторым, кажется я неосознано уже решил. В Томате файервол поставлен так, что этот порт (5060) форвардидть на телефон только если запрос пришёл от провайдера.
mts
Так, между делом. Пришло мыло от dyndns.com, говорят баста, халява кончилась. Либо раз в месяц логинься, либо плати. А иначе мы тебя от себя отлучим и имя доменное отнимем.
Надо будет внимательнее посмотреть, что Томат из бесплатного поддерживает, там список большой.

По теме, поставил 5 минут на Expire Time, а DMZ заменил на открытие всех портов, но только с моего телефонного провайдера.
FiL
Что-то до тебя это мыло долго доходило. Мне кажется это уже давно у них. Но мне не в падлу раз в месяц зайти к ним за продлением аккаунта. Даже менее лень, чем самому ddns поднять у себя.
mts
Живу от них далеко. :)
dyndns пошёл лесом. Я взял себе новое имя у No-IP. Хотя оно мне нужно-то бывает once in a blue moon.
Vlady304
QUOTE (FiL @ 21-05-2013, 13:24)
Что-то до тебя это мыло долго доходило. Мне кажется это уже давно у них. Но мне не в падлу раз в месяц зайти к ним за продлением аккаунта. Даже менее лень, чем самому ddns поднять у себя.
Да, это у них уже года 3 как, если не раньше.
Судя по всему, динднс крутился у mts на раутере, он сам себя обновлял.
Потом или раутер поменяли или настройки динднс слетели
mts
QUOTE (Vlady304 @ 22-05-2013, 09:44)
QUOTE (FiL @ 21-05-2013, 13:24)
Что-то до тебя это мыло долго доходило. Мне кажется это уже давно у них. Но мне не в падлу раз в месяц зайти к ним за продлением аккаунта. Даже менее лень, чем самому ddns поднять у себя.
Да, это у них уже года 3 как, если не раньше.
Судя по всему, динднс крутился у mts на раутере, он сам себя обновлял.
Потом или раутер поменяли или настройки динднс слетели
Ты наверно ещё не проснулся.
:lol:
Гордый
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: