Итак, столкнулся с проблемой отваливания SIP клиентов в удаленных подразделениях, которые подключены по VPN (статья).
Проявлялось это таким образом. При обрыве VPN соединения и его восстановления восстанавливаются все подключения, но сипы не регистрируются, хотя на веб морду устройство пускает и пинговка ходит.
Причина всему этому некорректная реализация 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 растолкуйте пожалуйста, а то в гугле всё для опытных людей.