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 растолкуйте пожалуйста, а то в гугле всё для опытных людей.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *