Mikrotik – проблема з реєстрацією SIP клієнтів.

Отже, зіткнувся з проблемою відвалювання SIP-клієнтів у віддалених підрозділах, які підключені через VPN (стаття).
Це проявлялося таким чином. При обриві VPN-з’єднання і його відновленні відновлюються всі підключення, але SIP-клієнти не реєструються, хоча на веб-морду пристрій пускає і пінг працює.

Причина всього цього некоректна реалізація sip alg .

На сервері Asterisk в /etc/asterisk/sip_custom.conf вкажемо

tos_sip=cs3; Sets TOS for SIP packets.
tos_audio=ef; Sets TOS for RTP audio packets.
tos_video=af41; Sets TOS for RTP video packets.

Необхідно примусово обірвати всі завислі сесії SIP.

  1. Створюємо скрипт, який буде це робити.
    addscript

Тіло скрипта:

:foreach i in=[/ip firewall connection find assured=no && dst-address~":5060"] do={
/ip firewall connection remove $i
}
:log warning "UP run"

2. Запускати будемо через Netwatch. Перевіряємо доступність сервера VPN і запускаємо наш скрипт.
Screenshot_1Скрипт запускаємо в Up.
Screenshot_2

Тепер, після відновлення VPN-з’єднання, запуститься скрипт, який примусово видалить всі «хвости».

З консолі це робиться так:

/system script add name=sipdel owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive source=":foreach i in=[/ip firewall connection find assured=no && dst-address~\":5060\"] do={/ip firewall connection remove \$i } \n:log warning \"UP run SIP DEL\""
/tool netwatch
add host=192.168.2.41 up-script="/system script run sipdel"

І не забудемо відключити «непотрібні» служби від перебору ботами

/ip service
set telnet disabled=yes
set ftp disabled=yes
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes

Ось тепер все працює як треба.

5 коментарів до “Mikrotik – проблема з реєстрацією SIP клієнтів.”

  1. Добрий день!
    Скріпт потрібно прописувати на мікротіку, на якому піднятий впн-сервер чи на клієнт(мікротік в пожежно-рятувальному підрозділі), в якому стоїть ір-телефон та який час від часу відвалюється(не реєструється)?
    “Проверяем доступность сервера VPN и запускаем наш скрипт.” – Яку саме ір-адресу потрібно вписувати? Головного мікротіка, ір-телефона, який відвалюється?
    Дякую!

    1. Скрипт прописывается на микротике в подразделении
      Проверка доступности сервера ВПН – центральный сервер (центральный микротик)

  2. Sip alg, при этом оставить включённым?
    Значения в sip_custom.conf растолкуйте пожалуйста, а то в гугле всё для опытных людей.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *