Mikrotik – проблема с регистрацией SIP клиентов.

Итак, столкнулся с проблемой отваливания 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.

  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 адреса не оприлюднюватиметься. Обов’язкові поля позначені *