У меня есть клиентское устройство SIP, подключенное к моему ADSL-маршрутизатору, поэтому оно находится за симметричным NAT. Мой интернет-провайдер сбрасывает IP-адрес клиента каждые 24 часа, в журнале маршрутизатора это выглядит так:
Mar 26 12:36:56 daemon crit pppd[443]: Clear IP addresses. Connection DOWN.
Mar 26 12:36:56 daemon crit pppd[443]: Clear IP addresses. PPP connection DOWN.
Mar 26 12:37:06 daemon crit pppd[443]: PPP LCP UP.
Mar 26 12:37:07 daemon crit pppd[443]: Received valid IP address from server. Connection UP.
Теперь, когда это происходит, мой SIP-клиент навсегда теряет возможность регистрироваться у провайдера (я подозреваю, что у него все еще кэшируется старый внешний IP-адрес). Единственный способ заставить его снова заработать - это перезапустить модем (или весь маршрутизатор), чтобы канал ADSL был отключен и снова включен; Другими словами, чтобы это произошло (снова журнал маршрутизатора):
Jan 1 00:00:08 user crit kernel: ADSL link down
Jan 1 00:00:14 user crit kernel: xDSL G.994 training
Jan 1 00:00:25 user crit kernel: ADSL G.992 started
Jan 1 00:00:29 user crit kernel: ADSL G.992 channel analysis
Jan 1 00:00:36 user crit kernel: ADSL link up, interleaved, us=1182, ds=12444
Jan 1 00:00:37 daemon crit pppd[443]: PPP LCP UP.
Jan 1 00:00:47 daemon crit pppd[443]: PPP LCP UP.
Jan 1 00:00:47 daemon crit pppd[443]: Received valid IP address from server. Connection UP.
Конечно, я не могу позволить себе вручную отключать ADSL-соединение каждый раз, когда провайдер меняет мой IP-адрес, просто для того, чтобы телефон VoIP работал. Итак, у меня вопрос: есть ли способ заставить SIP-клиент работать после сброса IP?
Моя конфигурация:
Маршрутизатор: D-Link DSL-2640B
SIP-клиент: Gigaset A-510IP
Я уже пробовал включить RIP в маршрутизаторе, поместить gigaset в DMZ, изменить значение "refresh NAT time" в конфигурации gigaset, активировать STUN ... ничего из этого не помогло.
Решением оказалась покупка другого роутера ... это решило проблему. Но я до сих пор не знаю, в чем причина.
Почему бы не отменить регистрацию до того, как линия отключится ... Я бы сказал, что проблема в том, что время ожидания РЕГИСТРАЦИИ, установленное вами на сервере, означает, что вам специально нужно отменить регистрацию, иначе сервер будет игнорировать другие запросы от вас, которые не приходят с сеанса, который вы уже зарегистрировали.
Обычно вы отправляете РЕГИСТРАЦИЮ с таймаутом 0 до того, как линия отключается (я предполагаю, что она отключается в определенное время ночи, +/- 30 минут ..), а затем вы можете повторно РЕГИСТРАЦИЯ с новым IP.