Мониторинг SIP транков в Asterisk
Добавлено: 25 апр 2023, 15:45
Код: Выделить всё
#!/bin/sh
# Задаем переменные
ALLTRUNKSMINIMUM="`/usr/sbin/asterisk -rx "sip show registry"`"
# Смотрим статусы транков
ALLTRUNKS=`echo "$ALLTRUNKSMINIMUM" |grep "SIP registrations" |awk '{print $1}'`
# Смотрим сколько всего транков в системе
REGTRUNKS=`/usr/sbin/asterisk -rx "sip show registry" |grep Registered |wc -l`
# Зарегистрированные транки (все транки со статусом Registered)
# Задаем условие
if [ "$REGTRUNKS" -lt "$ALLTRUNKS" ]; then
# Если есть хоть один проблемный транк (В одном или более транке встретился статус отличный от Registered) то
sleep 5
# Ждем 5 секунд
echo `/usr/sbin/asterisk -rx "sip reload"`
# Делаем sip reload
sleep 5
# Ждем 5 секунд
VAR=`/usr/sbin/asterisk -rx "sip show registry"`
# Смотрим статусы транков после проверки
# Уведомляем на почту о том какие статусы стали после проверки
echo "$VAR" | mail -s "Мониторинг транков" admin@padonak.su
# Если условие ложно (т.е. с транками все хорошо)
else echo “ALL STATUS OK”
# Просто выводим что со всеми статусами все хорошо и ничего не делаем больше
fi
Код: Выделить всё
*/15 * * * * root /root/bin/monitor_sip.sh > /dev/null 2>&1