#!/bin/sh
#
#
#  Created by David.w on 2011-7-13
#
#

#
#!!!!!!!!!!!!!!!!!!!!!!目前，NMM的信息还不能保存在文件中，其他信息可以保存
#

####################### Global Config #######################

#定义硬件、软件等信息，下面的变量都可据此区分
BOARD=common			#such like OPulan_F411,OPulan_F420,MSP_C300,MSP_C500,Brcm_5358,Brcm63293...
HARDWARE_VERSION=0		#such like V1,V2 or ZTE,ASB,TW,FH...
SOFTWARE_VERSION=0		#such like VTP2.0,VTP2.1,VTP2.2...

#if [ $BOARD = "Brcm63293" ] $$ [ $SOFTWARE_VERSION = "VTP2.2" ] $$ [ $HARDWARE_VERSION = "ZTE" ]; then
#	DNSPATH=......
#fi

DNSPATH=/etc/resolv.conf
ARPPATH=/proc/net/arp
MEMPATH=/proc/meminfo
INTERRUPTPATH=/proc/interrupts
COREPATH=/proc/mxp/core
QUEUEPATH=/proc/mxp/queue

VTPCLIPATH=/usr/bin/vtpcli
VTPCLIINPATH=/var/tmp/m_infile
VTPCLIOUTPATH=/var/tmp/outfile

CONFIGPATH=/var/tmp/voice_config
DEFAULT_CONFIGPATH=/etc/voice_config.xml
OutputFile=/var/tmp/vtp_output

SYSSLEEP=1

str_start="*************************************************************************************************"
str_end="-------------------------------------------------------------------------------------------------"
str_error="!!!!!"

strTiu="tiu status"
strTcid="show tcid -1 all"
strCoding="show coding -1 all"
strXgcp="show xgcp"
strH248="show h248 all"
strSip="show sip all"

#######################Procedure#######################

#prepare output file
if [ -e $OutputFile ]; then
	rm -fr $OutputFile
fi
#touch $OutputFile

#if there is no param, then show all
if [ "0" -eq "$#" ]; then

	#################Network##############
	echo  "$str_start"  >> $OutputFile
	echo -e "NETWORK"  >> $OutputFile
	echo  "$str_start"  >> $OutputFile
	
	echo  "$str_end"  >> $OutputFile
	echo -e "ifconfig"  >> $OutputFile
	echo  "$str_end"  >> $OutputFile
	ifconfig  >> $OutputFile
	
	echo  "$str_end"  >> $OutputFile
	echo -e "netstat -ane"  >> $OutputFile
	netstat -ane  >> $OutputFile
	
	echo  "$str_end"  >> $OutputFile
	echo -e "route -ne"  >> $OutputFile
	route -en  >> $OutputFile
	
	echo  "$str_end"  >> $OutputFile
	echo -e "DNS"  >> $OutputFile
	if [ -e "$DNSPATH" ]; then
		cat $DNSPATH  >> $OutputFile
	else
		echo "$str_error There is no DNS info $str_error"  >> $OutputFile
	fi
	
	echo  "$str_end"  >> $OutputFile
	echo -e "ARP"  >> $OutputFile
	if [ -e "$ARPPATH" ]; then
		cat $ARPPATH  >> $OutputFile
	else
		echo "$str_error There is no ARP info $str_error"  >> $OutputFile
	fi

	#####################System##############
	echo  "$str_start" >> $OutputFile
	echo -e "SYSTEM" >> $OutputFile
	echo  "$str_start" >> $OutputFile
	
	echo  "$str_end" >> $OutputFile
	echo -e "ps" >> $OutputFile
	ps -aux >> $OutputFile
	
	echo  "$str_end" >> $OutputFile
	echo -e "lsmod" >> $OutputFile
	lsmod >> $OutputFile
	
	echo  "$str_end" >> $OutputFile
	echo -e "MEMEORY INFO" >> $OutputFile
	if [ -e "$MEMPATH" ]; then
		cat $MEMPATH >> $OutputFile
	else
		echo "$str_error There is no MEMEORY info $str_error" >> $OutputFile
	fi
	
	echo  "$str_end" >> $OutputFile
	echo -e "INTERRUPT INFO" >> $OutputFile
	if [ -e "$INTERRUPTPATH" ]; then
		cat $INTERRUPTPATH >> $OutputFile
	else
		echo "$str_error There is no INTERRUPT info $str_error" >> $OutputFile
	fi
	
	echo  "$str_end" >> $OutputFile
	echo -e "CORE INFO" >> $OutputFile
	if [ -e "$COREPATH" ]; then
		cat $COREPATH >> $OutputFile
	else
		echo "$str_error There is no CORE info $str_error" >> $OutputFile
	fi
	
	echo  "$str_end" >> $OutputFile
	echo -e "QUEUE INFO" >> $OutputFile
	if [ -e "$QUEUEPATH" ]; then
		cat $QUEUEPATH >> $OutputFile
	else
		echo "$str_error There is no QUEUE info $str_error" >> $OutputFile
	fi
	
	echo "############################################" >> $OutputFile
	echo "sleep $SYSSLEEP" >> $OutputFile
	echo "############################################" >> $OutputFile
	sleep $SYSSLEEP
	
	echo  "$str_end" >> $OutputFile
	echo -e "INTERRUPT INFO" >> $OutputFile
	if [ -e "$INTERRUPTPATH" ]; then
		cat $INTERRUPTPATH >> $OutputFile
	else
		echo "$str_error There is no INTERRUPT info $str_error" >> $OutputFile
	fi
	
	echo  "$str_end" >> $OutputFile
	echo -e "CORE INFO" >> $OutputFile
	if [ -e "$COREPATH" ]; then
		cat $COREPATH >> $OutputFile
	else
		echo "$str_error There is no CORE info $str_error" >> $OutputFile
	fi
	
	echo  "$str_end" >> $OutputFile
	echo -e "QUEUE INFO" >> $OutputFile
	if [ -e "$QUEUEPATH" ]; then
		cat $QUEUEPATH >> $OutputFile
	else
		echo "$str_error There is no QUEUE info $str_error" >> $OutputFile
	fi

	##############Config############
	echo  "$str_start" >> $OutputFile
	echo -e "CONFIG FILE($CONFIGPATH)" >> $OutputFile
	echo  "$str_start" >> $OutputFile
	
	if [ -e "$CONFIGPATH" ]; then
		cat $CONFIGPATH  >> $OutputFile
	else
		echo $str_error"The config path($CONFIGPATH) is not exist"$str_error >> $OutputFile
	fi
	
	echo  "$str_start" >> $OutputFile
	echo -e "CONFIG FILE($DEFAULT_CONFIGPATH)" >> $OutputFile
	echo  "$str_start" >> $OutputFile
	
	if [ -e "$DEFAULT_CONFIGPATH" ]; then
		cat $DEFAULT_CONFIGPATH  >> $OutputFile
	else
		echo $str_error"The config path($DEFAULT_CONFIGPATH) is not exist"$str_error >> $OutputFile
	fi

	#################NMM##############
	echo -e $strTiu
	chmod 755 $VTPCLIINPATH
	rm $VTPCLIINPATH
	touch $VTPCLIINPATH
	chmod 755 $VTPCLIINPATH
	echo $strTiu >> $VTPCLIINPATH;
	echo -e "please wait......"
	sleep 3
	$VTPCLIPATH app -i $VTPCLIINPATH
	chmod 755 $VTPCLIOUTPATH
	cat $VTPCLIOUTPATH >> $OutputFile
	
	echo -e $strTcid
	chmod 755 $VTPCLIINPATH
	rm $VTPCLIINPATH
	touch $VTPCLIINPATH
	chmod 755 $VTPCLIINPATH
	echo $strTcid >> $VTPCLIINPATH;
	echo -e "please wait......"
	sleep 3
	$VTPCLIPATH app -i $VTPCLIINPATH
	chmod 755 $VTPCLIOUTPATH
	cat $VTPCLIOUTPATH >> $OutputFile
	
	echo -e $strCoding
	chmod 755 $VTPCLIINPATH
	rm $VTPCLIINPATH
	touch $VTPCLIINPATH
	chmod 755 $VTPCLIINPATH
	echo $strCoding >> $VTPCLIINPATH;
	echo -e "please wait......"
	sleep 3
	$VTPCLIPATH app -i $VTPCLIINPATH
	chmod 755 $VTPCLIOUTPATH
	cat $VTPCLIOUTPATH >> $OutputFile
	
	echo -e $strXgcp
	chmod 755 $VTPCLIINPATH
	rm $VTPCLIINPATH
	touch $VTPCLIINPATH
	chmod 755 $VTPCLIINPATH
	echo $strXgcp >> $VTPCLIINPATH;
	echo -e "please wait......"
	sleep 3
	$VTPCLIPATH app -i $VTPCLIINPATH
	chmod 755 $VTPCLIOUTPATH
	cat $VTPCLIOUTPATH >> $OutputFile
	
	echo -e $strH248
	chmod 755 $VTPCLIINPATH
	rm $VTPCLIINPATH
	touch $VTPCLIINPATH
	chmod 755 $VTPCLIINPATH
	echo $strH248 >> $VTPCLIINPATH;
	echo -e "please wait......"
	sleep 3
	$VTPCLIPATH app -i $VTPCLIINPATH
	chmod 755 $VTPCLIOUTPATH
	cat $VTPCLIOUTPATH >> $OutputFile
	
	echo -e $strSip
	chmod 755 $VTPCLIINPATH
	rm $VTPCLIINPATH
	touch $VTPCLIINPATH
	chmod 755 $VTPCLIINPATH
	echo $strSip >> $VTPCLIINPATH;
	echo -e "please wait......"
	sleep 3
	$VTPCLIPATH app -i $VTPCLIINPATH
	chmod 755 $VTPCLIOUTPATH
	cat $VTPCLIOUTPATH >> $OutputFile

	cat $OutputFile
	
	echo "################################################################################"
	echo "#                                                                              #"
	echo "#                                                                              #"
	echo "#                    OUTPUT FILE:$OutputFile                                    "
	echo "#                                                                              #"
	echo "#                                                                              #"
	echo "################################################################################"
	
fi

exit 0