Страница 1 из 2

Валится asterisk без предупреждения

Добавлено: 18 авг 2015, 09:24
tol_iwan
Asterisk 11.15.
Штатно работает без проблем уже больше года. За последние пару недель три раза отваливался.
Выглядит так:
- консоль доступна
- клиенты зарегистрированы(sip show peers)
- транки зарегистрированы(sip show registry)
- при этом на самом деле ни один телефон не зареган на asterisk(это уже со стороны телефона)
- команда core restart now ситуацию не меняет, я бы сказал даже не выполняется т.к., если ее запустить при рабочем asterisk, то из консоли выбросит, а тут нет; хотя в логах пишет, что asterisk стартовал
- помогает только убийство процесса asterisk-а, после чего запускается и все в норме
- в логах системы на момент падения пусто
- в логах asterisk на момент падения - неудачная регистрация мегафона.

Код: Выделить всё

NOTICE[10065] chan_sip.c:    -- Registration for '79xxxxxxxxx@sbc.megafon.ru' timed out, trying again
На нее и грешу, точнее на количество таких регистраций подряд.
Предположительно все три раза asterisk падал после 1000 подряд таких сообщений на канале. Повторная попытка регистрации через 20 сек. Соответственно, если транк недоступен 5,5 часов, то asterisk валится. Запись в логах конечно не 1000, т.к. днем sip reload делал, но приблизительно 1000 после последней удачной регистрации.
С мегафоном проблема возникла недавно, когда по их словам они начали модернизацию оборудования на услуге. Сейчас решаем в чем проблема с регистрацией. Но это хоть и вероятно связанная, но другая проблема.
Когда-то один раз свалился он, когда Ростелекома долго не было. Тогда не связал эти два события.
Транк до мегафона естественно не один и лежат они в этот момент все одно и тоже время.
Что за цифра волшебная 1000, встречался кто с таким?

Re: Валится asterisk без предупреждения

Добавлено: 18 авг 2015, 09:33
Wapo
Такое поведение наблюдал в случаях, когда лезут ошибки DNS.
Полностью избавиться от "зависаний" помогает развертывание локального кэширующего DNS-сервера.

Re: Валится asterisk без предупреждения

Добавлено: 18 авг 2015, 09:35
ded
Поподробней -
tol_iwan писал(а): - клиенты зарегистрированы(sip show peers)
время регистрации телефонов истекает рано или поздно, и он должен перерегистрироваться. Можно для теста уменьшить до 60 сек. Чтобы посмотреть - они будут повторно запрашивать? И что будут получать на запрос? Tcpdump -s0 -A ??
........................
tol_iwan писал(а): - при этом на самом деле ни один телефон не зареган на asterisk(это уже со стороны телефона)
Так будет со стороны телефона, если он послал запрос на регистрацию, а ответа не получил. Что у вас с локальной сетью? В телефонах адрес сервера указан цифрами или по FQDN - pbx.mycompany.org ? Нет ли проблемы с ДНС?
Телефоны в локалке? За НАТом? qualify=yes?

Re: Валится asterisk без предупреждения

Добавлено: 18 авг 2015, 12:47
tol_iwan
Wapo писал(а):Такое поведение наблюдал в случаях, когда лезут ошибки DNS.
Да, припоминаю, что когда валился от Ростелекома ругался на DNS. Но тут подобных ошибок нет, точнее вообще ошибок нет.
ded писал(а):время регистрации телефонов истекает рано или поздно, и он должен перерегистрироваться.
Sess-Expires : 1800 secs - это же оно? Я добрался до asterisk вчера минут через 40 после того как он в ступор впал(у зубного в кресле на тот момент отдыхал :-)). Так что теоретически думаю время вышло и они уже пробовали регистрироваться. Ну и ситуация конечно осложняется тем, что времени потестить особо нет, т.к. контора работает и надо поднимать сразу.
В телефонах адрес цифрами. Телефоны к asterisk без nat, сам он естественно на улицу смотрит через nat и выход ограничен только провайдерскими(телефонии) адресами.
qualify=yes
Ну и собственно дело не в самих телефонах, а в том, что asterisk в куматозе каком-то. Думается, что он им вообще ничего не отвечает(дамп попробую конечно снять в следующий раз - почему-то есть уверенность, что это раз будет). Такое впечатление, что и мне он отвечает то, что было на момент его впадания в это состояние.
Я же не core reload делал, а restart - он как минимум консоль должен был закрыть, а он сжевал команду и ничего, в логах конечно показал, что он загрузился заново и телефоны на нем типа залогинились, кстати да - при рестарте ядра он в логах написал для всех телефонов

Код: Выделить всё

NOTICE[10015]: chan_sip.c: Peer '2536' is now Reachable. (2ms / 2000ms)
т.е. по идее перерегистриовались, если ему верить?


Повторить ситуацию пока не получилось, но думаю сбить регистрацию с номера одного и подождать до 1000 попыток, может повторится. Хотя разница есть - один номер или 10.
Мегафон опять пропал, но всего на час - а так хотел подождать...

Re: Валится asterisk без предупреждения

Добавлено: 18 авг 2015, 13:02
ded
NOTICE[10015]: chan_sip.c: Peer '2536' is now Reachable. (2ms / 2000ms)
т.е. по идее перерегистриовались, если ему верить?
Нет, 2536 ответил в течение 2 мс на пакет OPTIONS,
Никакого отношения к регистрации.

Re: Валится asterisk без предупреждения

Добавлено: 18 авг 2015, 13:08
Wapo
tol_iwan писал(а): Да, припоминаю, что когда валился от Ростелекома ругался на DNS. Но тут подобных ошибок нет, точнее вообще ошибок нет.
Вот ИМЕННО - ошибок просто не видно т.к. процесс "внутри памяти". В таких случаях стандартное поведение - в консоли core stop now не приводит к падению астера, а .... тишине на неопределенное кол-во секунд

Re: Валится asterisk без предупреждения

Добавлено: 18 авг 2015, 14:09
april22
сетевая карта на каком чипе ?

Re: Валится asterisk без предупреждения

Добавлено: 18 авг 2015, 14:55
tol_iwan
Wapo писал(а):Вот ИМЕННО - ошибок просто не видно т.к. процесс "внутри памяти".
Я вспомнил о DNS только по тому, что asterisk в консоль кидал ошибки про DNS, то ли недоступно, то ли не может обнаружить, что-то в этом духе. Но результат - похожее зависание.
april22 писал(а):сетевая карта на каком чипе ?
Не готов ответить конкретный чип, но сама карта intel.

Re: Валится asterisk без предупреждения

Добавлено: 18 авг 2015, 15:19
ded
# lspci |grep Ethernet

Re: Валится asterisk без предупреждения

Добавлено: 18 авг 2015, 17:05
tol_iwan
ded писал(а):# lspci |grep Ethernet
это понятно, только вот lspci не стоит ))
Пока жду падения(по крайней мере тестового) и посмотреть tcpdump-ом.
Есть еще какие-нибудь полезные команды, чтоб во время падения посмотреть. Т.к. падения не часты и не должны быть сразу устранены - хочу сразу определиться, что смотреть.