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

404 Not found и Rejected

Добавлено: 12 янв 2017, 18:54
ravenich
Здравствуйте. Есть провайдер который предоставляет нам sip транк, в целом все работает хорошо, но как только провайдер проводит у себя какие-либо работы или оборудование у них переключается на резервный канал транки падают и обратно не перерегистрируются. Конкретно происходит следующее. В логе появляется следующая запись:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[2017-01-11 16:39:24] WARNING[1513] chan_sip.c: Got 404 Not found on SIP register to service XXXXXX@1.2.1.1, giving up
[2017-01-11 16:39:24] WARNING[1513] chan_sip.c: Got 404 Not found on SIP register to service XXXXXX@1.2.1.1, giving up
В sip show registry:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
1.2.1.1:5060 N XXXXXX 105 Rejected Wed, 11 Jan 2017 16:36:35
1.2.1.1:5060 N XXXXXX 105 Rejected Wed, 11 Jan 2017 16:36:36
Asterisk после этого регистрацию прекращает и входящие перестают работать. Помогает только sip reload. На других провайдерах такой проблемы не наблюдается. Пробовал воспроизвести проблему блокировкой на фаерволе ip провайдера, но астериск просто пытается бесконечно перерегистрироваться, т.к. в конфиге проставлен параметр с бесконечными попытками.
С другими провайдерами такого трабла нет. Есть различные версии астериска начиная с 1.8 и до 13, с натом и без. Проблема именно с этим провом и везде одинаковая.
Подскажите что в данной ситуации делать? Поменять провайдера не получится, т.к. много где уже есть и в целом все довольны, у кого-то куплены "блатные" номера.
По идее можно настроить планировщик дергающий sip reload, либо через fail2ban анализировать логи и запускать тот же sip reload.
Может быть поправить исходники.
P.S. У провайдера на их астере точно такая-же проблема и они ее решили сделав транк без регистрации. Мне такое решение не очень подходит т.к. при смена ip придется звонить в поддержку.

Re: 404 Not found и Rejected

Добавлено: 13 янв 2017, 09:02
virus_net
Логи конечно хорошо, но в данном случае просмотр SIP пакетов лучше.

+ в sip.conf

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

register_retry_403=yes
ravenich писал(а):анализировать логи и запускать тот же sip reload
именно так обычно и поступают

Re: 404 Not found и Rejected

Добавлено: 13 янв 2017, 09:32
ravenich
Все-таки 403 это немного другой ответ, но хуже не будет точно. Забыл добавить что везде стоит freepbx разных версий. На всякий случай настройки транка:
Outgoing:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
Peer Details:
disallow=all
allow=alaw
type=peer
host=1.2.1.1
username=XXXXXX
secret=secretpassword
t38pt_udptl=yes
qualify=yes
virus_net писал(а):Логи конечно хорошо, но в данном случае просмотр SIP пакетов лучше.

+ в sip.conf

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

register_retry_403=yes
ravenich писал(а):анализировать логи и запускать тот же sip reload
именно так обычно и поступают
dtmfmode=auto
Incoming:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
User Details:
host=1.2.1.1
secret=secretpass
type=friend
context=from-trunk
insecure=invite
Register String:
XXXXXX:secretpass@1.2.1.1:5060/XXXXXX
В Incoming User Details настройки избыточны, вполне достаточно строк host и type, на тестовом сервере их две, но ситуация та же.
virus_net писал(а):Логи конечно хорошо, но в данном случае просмотр SIP пакетов лучше.
К сожалению снимать траффик и ждать очередного факапа от провайдера слишком накладно, да и вряд-ли они по просьбе будут манипуляции какие-либо производить.
Теперь вопрос в том как грамотно оттестировать поведение астериска при появлении в логах сообщения. Пока что мне в голову пришло такое решение, поднять еще один астер, настроить sip транк между ним и другим астером, после регистрации удалить экстеншен, добиться 404 ошибки и проверять.
Также провайдер ставит клиентам IP оборудование типа SPA122, есть клиенты с IP АТС вроде Yeahlink, у клиентов такой проблемы нет.

Re: 404 Not found и Rejected

Добавлено: 13 янв 2017, 10:51
april22

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

/usr/sbin/tcpdump -s0 -i em1 -w /dump-sip/dump1_%Y_%m_%d_%H_%M_%S -G 300 host 10.1.5.11 and 2хх.хх.хх.хх
И сидите ждите , началось - остановили - посмотрели ;-)

Re: 404 Not found и Rejected

Добавлено: 13 янв 2017, 11:27
ravenich
april22 писал(а):И сидите ждите , началось - остановили - посмотрели
Да это понятно, я к тому что проблема может произойти как через день так и через год, можно и не вспомнить. Так то реально и в автозапуск добавить скрипт и чтобы он в фоне работал.

Re: 404 Not found и Rejected

Добавлено: 13 янв 2017, 11:42
Vlad1983
пример с ротацией каждый час

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

nohup tcpdump -nq -s 0 -i eth0 -G3600 -w /tmp/trace/sip-%F--%H-%M-%S.pcap port 5080 or port 5060 &
найдите несколько отличий

Re: 404 Not found и Rejected

Добавлено: 13 янв 2017, 11:52
ravenich
Vlad1983 писал(а):пример с ротацией каждый час
Спасибо, про nohup я не знал.