Возьмем Asterisk, asterisk -rx «sip show peers» покажет доступны ли пиры в данный момент, пишем скрипт, который будет парсить данные, завязываем к системе мониторинга, в таком случае согласен, но такой подход узко направлен и зависит от работы Asterisk'а, а если кто-то не пропишет qualify в настройках пира? нюансов много, в данном случае имеем скрипт который сам опросит сип пир и передаст данные в систему мониторинга без привязки к работе IP PBX.
особенно он актуален когда по какой-либо причине нельзя проверить сторону icmp запросами
Я думал, что наоборот — пингами проверяют, только когда полноценную проверку нельзя организовать. Ведь пинги показывают лишь присутствие машины в сети, но никак не работу сервиса.
Есть в нагиосе check_sip используя достаточно клевую утилиту sipsak (в дебиане есть пакет), так же есть модуль (тоже использует sipsak) для smokeping для отслеживания задержек в sip стеке.
Используя sipsak можно не изобретать велосипед из своих скриптов. Можно даже трасировку через сип делать (да это фича SIPа есть в стандарте)
Да я лишь о том что sipsak не зря называеться (SIP Swiss army knife). Достаточно клевая утилита в том числе и для тестирования сип стеков. А то что им можно и мониторить это уже как сопуствующие возможности :)
Проверяем доступность SIP провайдера