1
0
mirror of https://github.com/librenms/librenms-agent.git synced 2024-05-09 09:54:52 +00:00
Tatermen 351e5aa7bc Freeswitch (#53)
feature: Added freeswitch support
2016-08-28 20:06:04 +01:00

47 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
FSCLI=/usr/local/freeswitch/bin/fs_cli
inRe="Inbound\(Failed\/Total\): ([0-9]+)\/([0-9]+)"
outRe="Outbound\(Failed\/Total\):([0-9]+)\/([0-9]+)"
if [ -f $FSCLI ];
then
$FSCLI -x "status" > /dev/null
if [ $? -ne 0 ]; then
# Freeswitch not running, silently exit.
exit 0
fi
PEAK=`$FSCLI -x "status" | grep 'per Sec' | grep -Po 'last 5min \d+' | cut -d ' ' -f 3`
CALLCOUNT=`$FSCLI -x "show calls count" | grep -Po '^\d+'`
CHANNELCOUNT=`$FSCLI -x "show channels count" | grep -Po '^\d+'`
GATEWAYS=`$FSCLI -x "sofia status gateway"`
if [[ $GATEWAYS =~ $inRe ]]; then
INFAILED=${BASH_REMATCH[1]}
INTOTAL=${BASH_REMATCH[2]}
else
INFAILED=0
INTOTAL=0
fi
if [[ $GATEWAYS =~ $outRe ]]; then
OUTFAILED=${BASH_REMATCH[1]}
OUTTOTAL=${BASH_REMATCH[2]}
else
OUTFAILED=0
OUTTOTAL=0
fi
echo "<<<freeswitch>>>"
echo "Calls=$CALLCOUNT"
echo "Channels=$CHANNELCOUNT"
echo "Peak=$PEAK"
echo "InFailed=$INFAILED"
echo "InTotal=$INTOTAL"
echo "OutFailed=$OUTFAILED"
echo "OutTotal=$OUTTOTAL"
else
exit 0
fi