Отже, зіткнувся з проблемою відвалювання 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.
- Створюємо скрипт, який буде це робити.

Тіло скрипта:
: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 і запускаємо наш скрипт.
Скрипт запускаємо в Up.

Тепер, після відновлення 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
Ось тепер все працює як треба.
Добрий день!
Скріпт потрібно прописувати на мікротіку, на якому піднятий впн-сервер чи на клієнт(мікротік в пожежно-рятувальному підрозділі), в якому стоїть ір-телефон та який час від часу відвалюється(не реєструється)?
“Проверяем доступность сервера VPN и запускаем наш скрипт.” – Яку саме ір-адресу потрібно вписувати? Головного мікротіка, ір-телефона, який відвалюється?
Дякую!
Скрипт прописывается на микротике в подразделении
Проверка доступности сервера ВПН – центральный сервер (центральный микротик)
Буду пробувати.
Дуже дякую за підсказку!
Sip alg, при этом оставить включённым?
Значения в sip_custom.conf растолкуйте пожалуйста, а то в гугле всё для опытных людей.