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

Астериск "лагает" при регистрации транков

Добавлено: 08 авг 2016, 14:04
blyayshman
Здравствуйте!
Прошу не сильно кидаться тапками, я обращаюсь к спецам только если уже очень долго сам просушил мозги над проблемой и покурил много мануалов и перешерстил много ссылок в инете. В данном случае я выяснил причины возникновения симптомов, но не могу найти истинную причину проблемы.
Стоит Астериск 13 на CentOS7 (но аналогично работает и в 11 на CentOS6.4 и на Ast13/Ubuntu14.04).
Суть проблемы: при включении в sip.conf регистрации на транки провайдеров более 2-х возникают чудовищные тормоза в работе Астериска. Проявляются после core reload в полном игноре со стороны астериска реакции на приходящие запросы устройств на регистрацию. Соответственно все внутренние абоненты с состоянии UNKNOWN, в логе сообщения:
NOTICE[2808] chan_sip.c: Peer '115' is now UNREACHABLE! Last qualify: 10 по всем внутренним абонентам.
С какой-то хаотичной периодичностью сервак все же регистрирует заново абонентов и ненадолго они становятся REACHABLE.
По поводу самих регистраций пиров к провайдеру в логе полно сообщений такого характера:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
Retransmission timeout reached on transmission 01a1fff33a853b9d3d0c71bf271695f8@[::1] for seqno 469 (Critical Request) -- See https://wiki.asterisk.org/wiki/display/ ... nsmissions
Packet timed out after 60614ms with no response
[Aug 7 11:45:14] WARNING[2808] chan_sip.c: Retransmission timeout reached on transmission 13a5286f2505da0c203f1cf95c47b505@[::1] for seqno 466 (Critical Request) -- See https://wiki.asterisk.org/wiki/display/ ... nsmissions
Packet timed out after 45460ms with no response
[Aug 7 11:45:30] NOTICE[2808] chan_sip.c: -- Registration for '380487283715202@vg5.vegatele.com' timed out, trying again (Attempt #330)
[Aug 7 11:45:45] NOTICE[2808] chan_sip.c: -- Registration for '380487283715204@vg5.vegatele.com' timed out, trying again (Attempt #331)
[Aug 7 11:45:45] WARNING[2808] chan_sip.c: Retransmission timeout reached on transmission 2a1dc0c3227f3fa55ecae5b06fd5627d@[::1] for seqno 466 (Critical Request) -- See https://wiki.asterisk.org/wiki/display/ ... nsmissions
Packet timed out after 60617ms with no response
[Aug 7 11:45:45] WARNING[2808] chan_sip.c: Cancelling retransmit of OPTIONs (call id 71b9a37d031341d80f5c420f3f144c78@192.168.4.10:5060) -- See https://wiki.asterisk.org/wiki/display/ ... nsmissions
[Aug 7 11:45:45] WARNING[2808] chan_sip.c: Cancelling retransmit of OPTIONs (call id 0ee36fc52fdb13a13010d3291d6c011c@192.168.4.10:5060) -- See https://wiki.asterisk.org/wiki/display/ ... nsmissions
По таймауту в 45 и 60 секунд можно себе представить каков масштаб проблемы. А таких сообщений там море.
Всего у меня есть 1 транк одного провайдера (а нужен еще один его номер) и 4 транка другого(основной номер и серийки).
Если включить хотя бы 4-ре, то связь ложится полностью. tcpdump показывает, что пакеты REGISTER интенсивно приходят от клиентских девайсов и не получают ответов. В то же время от астериска уходят пакеты регистрации к провайдерам и приходят подтверждения. Я отсеял вопросы фаерволов, проблемы сети - все уперлось именно в астериск и его настройки.
Можно было бы предположить, что я неверно настроил транки к провайдеру (хотя возможно так и есть), но проблема возникает при любом варианте разрешенных регистраций , если их количество больше 2-х. Если оставить одну регистрацию любого провайдера, то проблем нет вообще, связь работает идеально, входящие-исходящие соединения через транк проходят. Если включить два любых транка, то проблема проявляется лишь после релоада астериска на короткий промежуток и потом все работает. Возможно при обновлении регистрации периодически также возникают указанные лаги.
Привожу часть sip.conf:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[general]
context=default
port=5060
bindaddr=0.0.0.0
allowguest=no
srvlookup=no
alwaysauthreject = yes
;sendrpid=yes

;register => 9x6:xxx@sip.tenet.ua/601
register=380487283715201:xxx:ex201@vg5.vegatele.com/101
register=380487283715202:xxx:ex202@vg5.vegatele.com/101
;register=380487283715203:xxx:ex203@vg5.vegatele.com/101
;register=38048x204:xxx:ex204@vg5.vegatele.com/101

[tenet]
type=friend
host=sip.tenet.ua
name=9x6
username=9x6
;callerid=7373463
secret=xxx
insecure=port,invite
disallow=all
allow=ulaw
fromuser=9x6
fromdomain=sip.tenet.ua
canreinvite=no
qualify=yes
;nat=yes
context=incoming

[vega-trunks](!) ;шаблон локальных номеров
type=peer
port=5060
host=vg5.vegatele.com
nat=force_rport,comedia ;nat=no не меняет дела, хотя подозреваю, что тут собака порылась, так как сервак у меня все же за NAT.
fromdomain=vg5.vegatele.com ;для Одессы
insecure=invite
canreinvite=yes
dtmfmode=rfc2833
context=incoming
qualify=yes
outboundproxy=vg5.vegatele.com ;для Одессы
nat=no
disallow=all
allow=alaw
allow=ulaw
language=ru

[x201](vega-trunks)
username=ex201
name=38048x201
fromuser=38048x201
secret=xxx

[x202](vega-trunks)
username=ex202
name=38048x202
fromuser=38048x202
secret=xxx
Готового решения не прошу, прошу лишь подтолкнуть в нужном направлении.
P.S. Много текста получилось, конечно, но проще не получается описать проблему. Пишу на форумах мало - извините, если что не так.

Re: Астериск "лагает" при регистрации транков

Добавлено: 08 авг 2016, 14:26
zzuz
На столько текста ответ простой . Обратитесь к системному администратору , который настроит вам корректно сеть. Необходимость этого уже сразу появляется после строк в логе

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

Retransmission timeout reached on transmission 01a1fff33a853b9d3d0c71bf271695f8@[::1] for seqno 469 (Critical Request) -- See https://wiki.asterisk.org/wiki/display/ ... nsmissions

Re: Астериск "лагает" при регистрации транков

Добавлено: 08 авг 2016, 14:35
ded

Re: Астериск "лагает" при регистрации транков

Добавлено: 08 авг 2016, 14:56
blyayshman
zzuz писал(а):На столько текста ответ простой . Обратитесь к системному администратору , который настроит вам корректно сеть. Необходимость этого уже сразу появляется после строк в логе

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

Retransmission timeout reached on transmission 01a1fff33a853b9d3d0c71bf271695f8@[::1] for seqno 469 (Critical Request) -- See https://wiki.asterisk.org/wiki/display/ ... nsmissions
В чем проблема сети, если от астериска уходят запросы на регистрацию и приходят подтверждения от провайдера? tcpdump показывает наличие пакетов с IP назначения астериска от провайдера. Если не хотите помочь, то никто ж не заставит, но зачем писать просто чтоб написать?

Re: Астериск "лагает" при регистрации транков

Добавлено: 08 авг 2016, 14:57
blyayshman
ded писал(а):https://forum.asterisk.ru/viewtopic.php?f=3&t=7735
Эту тему прочитал до написания своей. Мне не помогло, но возможно я плохо старался. Попробую еще. Спасибо!

Re: Астериск "лагает" при регистрации транков

Добавлено: 17 авг 2016, 21:42
blyayshman
Всем спасибо, в особенности тем, кто ответил не для галочки.
Проблема действительно крылась в DNS. Настроил и локальный кеш на серваке и поправил кеширующий ДНС на роутере (он, оказывается, у меня работал через раз в силу некоторых причин, о чем мне, видимо, и поведал иносказательно zzuz).
Минимум, что нужно сделать - это srvlookup=no в sip.conf.
Теперь все работает как часики.
Тема закрыта.