@ustinovanton

У FXS-шлюза отваливается SIP-регистрация на Астериске после отключения VPN, в чём причина?

День добрый.
Ситуация следующая:
Имеется Микротик1 в одном городе, Микротик2 в другом.
На Микротик1 в его LAN-интерфейсе включен WAN-интерфейс от FXS-шлюза DVG-5004S
Между Микротик1 и Микротик2 проброшен VPN-туннель.
В Микротик2 на его LAN-интерфейсе включен Астериск. На FXS-шлюзе прописана SIP-регистрация до Астериска на все 4 линии.
Периодически пропадает SIP-регистрация всех линий FXS-шлюза на астериске. Причём, либо со статусом UNREACHABLE (это, как выяснилось, если отключить VPN и включить обратно), либо со статусом UNKNOWN. Статус UNKNOWN вылезает либо после полной потери связи - это нормальная ситуация, либо (самая основная проблема)

после того, как на шлюзе пройдёт 6-10 разговоров.

От версии, что баг в железе отказались - ибо попробовали разные железки, результат такой же.
Есть ещё Микротик3 в третьем городе, там стоит FXS-шлюз QVI-2102. Там такой ситуации не наблюдается. Кроме того факта, что после восстановления тамошнего VPN-туннеля приходится перезагружать шлюз, чтобы статус SIP-регистрации изменился с UNKNOWN на OK.
Пробовал также менять MTU, не помогло. При разных значениях одинаковая проблема.
В параметрах SIP-регистрации для д-линка выставлены значения

Session Expiration : 30 s
Session Refresh Request : Re-INVITE
SIP Message Resend Timer Base : 0.5 s
Max. Response Time for Invite : 4 s

Пока не могу сообразить в каком направлении копать.
Есть ли опыт решения подобной проблемы?
  • Вопрос задан
  • 3308 просмотров
Пригласить эксперта
Ответы на вопрос 4
на серваке с asterisk запускаете съем трафа так
tcpdump -i eth0 -vnn -s0 port 5060 -w /tmp/reg.cap
рвете поднимаете VPN (в общем, воспроизводите ситуацию с недоступностью)
через пару минут останавливаете tcpdump Ctrl+C

дальше разгребать дамп в wireshark и найти крайнего
Ответ написан
Комментировать
@Deq56
Python dev, JS, CSS, Asterisk, Mikrotik
посмотри на микротике когда отваливается sip в ip-firewall-connections reply dst adress(у соединений от шлюза до asterisk , совпадает ли он src-adress
Ответ написан
Комментировать
я думаю проблема в том, что шлюз посылает данные в серую сеть через внешний адрес (не туннель). Изза этого вешается в states. И не маршрутизируется в туннель при поднятии оного.
Проверьте states.
У себя написал watch скрипт на пинг астера, и если пинга нет - рублю все стейты до него.
Ответ написан
Комментировать
skystart
@skystart
linux, сетевые сервисы
На машине с Asterisk можно попробовать сделать conntrack -F (из пакета conntrack-tools).
Плюс вдобавок на Микротик2 нажать аналогичную кнопку.
(В интернетах пишут, что при этом еще туннели рвутся, но лично у меня, на линуксовой машине - нет)
И посмотреть, пройдет ли следующая попытка шлюза зарегаться.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы