#!/bin/bash #(C)Datux 2009 #################### PEERS asterisk -r -x "sip show peers" > /tmp/peers || exit 1 echo "+ peers" echo "menu = Asterisk peers" echo "title = Peerlist created at `date`" echo echo -n > /tmp/subnets IFS=" " for PEER in `cat /tmp/peers |grep -v 'sip peers' | grep -v '^Name'|grep -v Unspecified|sort`; do NAME=`echo $PEER| cut -f1 -d' '` IP=`echo $PEER | cut -c28- | cut -f1 -d' '` SECTION=`echo $IP| sed 's/[^A-Za-z0-9_-]/_/g'` NET=`echo $IP|cut -f1-3 -d'.'` if ! grep -x "$NET" /tmp/subnets >/dev/null; then echo "++ peer_$SECTION" echo "menu = $IP" echo "title = $IP ($NAME)" echo "host = $IP" echo echo $NET >> /tmp/subnets fi done #################### TRUNKS echo "+ trunks" echo "menu = Asterisk trunks" echo "title = Trunklist created at `date`" echo for TRUNK in `cat /etc/asterisk/sip.conf|grep ^host|cut -f2 -d'='|grep -v dynamic|sort|uniq`; do SECTION=`echo $TRUNK| sed 's/[^A-Za-z0-9_-]/_/g'` echo "++ trunk_$SECTION" echo "menu = $TRUNK" echo "title = $TRUNK" echo "host = $TRUNK" echo done