initial commit; version 22.5.12042
This commit is contained in:
76
scripts/agent-local/asterisk
Executable file
76
scripts/agent-local/asterisk
Executable file
@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
|
||||
####### Asterisk Telephony Server
|
||||
if [ -a /usr/sbin/asterisk ]
|
||||
then
|
||||
ASTBIN=/usr/sbin/asterisk
|
||||
else
|
||||
ASTBIN=$(which asterisk)
|
||||
fi
|
||||
|
||||
if [ "$ASTBIN" != "" ]
|
||||
then
|
||||
echo '<<<app-asterisk>>>'
|
||||
|
||||
astcmd () {
|
||||
#asterisk -rx "$1" | grep -v "Asterisk ending" | sed -r 's/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g'
|
||||
$ASTBIN -rx "$1" | sed -r 's/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g'
|
||||
}
|
||||
|
||||
#CORECHANNELS=$(astcmd 'core show channels' | tail -3)
|
||||
CORECHANNELS=$($ASTBIN -rx 'core show channels' | tail -3)
|
||||
ACTIVECHAN=$(echo "$CORECHANNELS" | grep -o '[0-9]* active channel' | cut -d' ' -f1)
|
||||
ACTIVECALL=$(echo "$CORECHANNELS" | grep -o '[0-9]* active call' | cut -d' ' -f1)
|
||||
IAXCHANNELS=$(astcmd 'iax2 show channels' | tail -1 | cut -d' ' -f1)
|
||||
SIPCHANNELS=$(astcmd 'sip show channels' | tail -1 | cut -d' ' -f1)
|
||||
SIPPEERS=$(astcmd 'sip show peers' | tail -1)
|
||||
SIPTOTALPEERS=$(echo "$SIPPEERS" | cut -d' ' -f1)
|
||||
SIPONLINE=$(echo "$SIPPEERS" | grep -o '[0-9]* online' | head -1 | cut -d' ' -f1)
|
||||
IAXPEERS=$(astcmd 'iax2 show peers' | tail -1)
|
||||
IAXTOTALPEERS=$(echo "$IAXPEERS" | cut -d' ' -f1)
|
||||
IAXONLINE=$(echo "$IAXPEERS" | grep -o '[0-9]* online' | head -1 | cut -d' ' -f1)
|
||||
PJSIPCHANNELS=$($ASTBIN -rx 'pjsip show channels' | grep -c "Channel: PJSIP")
|
||||
PJSIPONLINE=$($ASTBIN -rx 'pjsip show endpoints' | grep 'Contact: ' | grep -c -v '<Aor')
|
||||
PJSIPTOTAL=$($ASTBIN -rx 'pjsip show endpoints' | grep 'Endpoint: ' | grep -c -v '<Endpoint')
|
||||
|
||||
re='^[0-9]+$'
|
||||
ASTSIPCHANNELS=0
|
||||
ASTSIPTOTALPEERS=0
|
||||
ASTSIPONLINE=0
|
||||
if [[ $SIPCHANNELS =~ $re ]] ; then
|
||||
ASTSIPCHANNELS=$(($ASTSIPCHANNELS + $SIPCHANNELS))
|
||||
fi
|
||||
|
||||
if [[ $PJSIPCHANNELS =~ $re ]] ; then
|
||||
ASTSIPCHANNELS=$(($ASTSIPCHANNELS + $PJSIPCHANNELS))
|
||||
fi
|
||||
|
||||
if [[ $SIPTOTALPEERS =~ $re ]] ; then
|
||||
ASTSIPTOTALPEERS=$(($ASTSIPTOTALPEERS + $SIPTOTALPEERS))
|
||||
fi
|
||||
|
||||
if [[ $PJSIPTOTAL =~ $re ]] ; then
|
||||
ASTSIPTOTALPEERS=$(($ASTSIPTOTALPEERS + $PJSIPTOTAL))
|
||||
fi
|
||||
|
||||
if [[ $SIPONLINE =~ $re ]] ; then
|
||||
ASTSIPONLINE=$(($ASTSIPONLINE + $SIPONLINE))
|
||||
fi
|
||||
|
||||
if [[ $PJSIPONLINE =~ $re ]] ; then
|
||||
ASTSIPONLINE=$(($ASTSIPONLINE + $PJSIPONLINE))
|
||||
fi
|
||||
|
||||
echo "activechan:$ACTIVECHAN"
|
||||
echo "activecall:$ACTIVECALL"
|
||||
echo "iaxchannels:$IAXCHANNELS"
|
||||
#echo "sipchannels:$SIPCHANNELS"
|
||||
#echo "sippeers:$SIPTOTALPEERS"
|
||||
#echo "sippeersonline:$SIPONLINE"
|
||||
echo "sipchannels:$ASTSIPCHANNELS"
|
||||
echo "sippeers:$ASTSIPTOTALPEERS"
|
||||
echo "sippeersonline:$ASTSIPONLINE"
|
||||
echo "iaxpeers:$IAXTOTALPEERS"
|
||||
echo "iaxpeersonline:$IAXONLINE"
|
||||
|
||||
fi
|
Reference in New Issue
Block a user