AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Отваливается регистрация транка при смене IP

Asterisk IP PBX 11 сообщений -
#1

Есть Sip аккаунт у провайдера (интертелеком, intertelecom), по слухам
Период перерегистрации: 27 с.
Отправлять keep-alive как REGISTER с периодичностью в 13 с.
Поддержка кодеков: g729, g711u, g711a

вот настройка транка

host=195.128.182.62
username=логин
secret=пароль
type=friend
insecure=very
qualify=yes
nat=no
dtmfmode=rfc2833
diallow=all
context=from-trunk
canreinvite=no
allow=alaw&g729&ulaw&gsm
registerattempts=0
rtpkeepalive=10

в register, логин:пароль@195.128.182.62

Проблема в том что на сервере динамический белый IP, и провайдер его периодически принудительно меняет. После чего пир провайдера как бы открыт, но связи нет.
sip show registry пишет статус no autentification. Помогает sip reload - но может есть какой параметр конфига который решит эту проблему без ручного вмешательства?


Последний раз редактировалось: Nikropol (Чт Янв 26, 2012 15:08)
#2

а клиент откуда знает о новом IP?
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#3

Можете написать некий скрипт на perl или php, отправляющий периодически запрос на некий внешний сервер для того чтобы узнать текущий свой ip. Если сменился - тогда уж asterisk -x "sip reload"
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
#4

тогда уже asterisk -rx "sip reload" - а не asterisk -x "sip reload"

Пока добавил скрипт в кронтаб, но как по мне это костыль, может кто что посоветует.
Вообще самым правильным считаю обновление при смене IP, у меня на этой машине уже настроен динамик днс ddclient который использую для обновления. Вроде бы как умеет запускать внешний скрипт при смене IP но у меня почему то не работает, складыватся впечатление что ddclient его не запускает, если скрипт написать с ошибкой то варнинг в логи идёт, если правильно то тишина и в астериске тоже.
#5

А если использовать externhost & externrefresh ?
#6

Не помогло, но думаю не изза того что параметр не тот а изза того что у оператора днс кешируется. В результате заставил ddclient нормально отрабатывать скрипт. Пока всё ок.
Всем спасибо за участие. Узнал для себя 2 новых параметра.
#7

Опишите своё решение, если не трудно.
#8

всё таки ddclient скрипт отрабатывает по непонятной мне логике, поэтому добавил в крон скрит который делает sip reload если в статусе транка появилось "no authorized"
#9

Наверняка при смене айпишника происходит передергивание интерфеса? Предположу, что это pppoe, тогда "sip reload" надо покласть в /etc/ppp/ip-up.d/ . Ну как-то так.
_________________
Corporate Telephone Systems. VoIP. http://ai.kh.ua
#10

Nikropol можно увидеть ваш скрипт по перезагрузке транков
#11

Nikropol @ Пт Фев 24, 2012 14:44 писал(а):
всё таки ddclient скрипт отрабатывает по непонятной мне логике

возможно нужно добавить в /etc/sysctl.conf (если еще не сделано)
Код:
net.ipv4.ip_dynaddr = 1

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius