#!/bin/sh
#
# ident "@(#)isdnboot 1.12 94/11/28 Copyright 1991 SMI"
#
# SunLink ISDN start/stop script
#

PATH=/sbin:/usr/bin:/usr/sbin
export PATH
HOST=`uname -n`
ISDN_PATH=${ISDN_PATH-/opt/SUNWconn/isdn}
ISDN_ETC="/etc/SUNWconn/isdn"
ISDN_VAR="/var/SUNWconn/isdn"
ISDN_REQ_FILES="$ISDN_PATH/bin/isdnstart \
		$ISDN_PATH/bin/isdnstop \
		$ISDN_PATH/lib/isdnprobe \
		$ISDN_ETC/$HOST.isdn"

ISDNSTOP="isdntool \
	  isdnmgr \
	  isdntrace \
	  isdn.1tr6 \
	  isdn.5e5 \
	  isdn.au1 \
	  isdn.etsi \
	  isdn.ins64 \
	  isdn.isdn2 \
	  isdn.vn3"

mode=$1

set `id`
if [ $1 != "uid=0(root)" ]; then
	echo "$0: this script must be run as root ... fatal error"
	exit 1
fi

case "$mode" in
'start')
	for FILE in $ISDN_REQ_FILES; do
	if [ ! -f $FILE ]; then
		echo "$0: SunLink ISDN has not been correctly installed"
		echo "$0: $FILE not found"
		echo "$0: please refer to installation guide"
		exit 1
	fi
	done
	# Start SunLink ISDN
	echo "starting SunLink ISDN: \c"

	# probe system for interfaces

	. $ISDN_PATH/lib/isdnprobe
	
	if [ "$NCARDS" -eq "0" ]; then
		echo "$0: no ISDN interfaces found in system"
		echo "Please install a Batphone ISDN card on this system"
		exit 1
	fi

	# turn on IP forwarding - assumes that we want to route between 
	# ISDN and other interfaces

	ndd -set /dev/ip ip_forwarding 1

       	$ISDN_PATH/bin/isdnstart $ISDN_ETC/$HOST.isdn  > $ISDN_VAR/log
	if [ $? -ne 0 ]; then
		echo "failed, see $ISDN_VAR/log"
		echo "Please verify or update your ISDN configuration using isdntool"
	else
		echo "started"
	fi
       	;; 
           
'stop')
       	# Stop SunLink ISDN
	echo "stopping SunLink ISDN"
       	$ISDN_PATH/bin/isdnstop > /dev/null 2>&1
	trap "" 1 2 3 15                        # ignore signals
	isdnnames=
        for i in $ISDNSTOP
        do
                isdnnames="$isdnnames\ $i\$|"
        done
	isdnpids=`ps -e | egrep "$isdnnames" | sed -e 's/^  *//' -e 's/ .*//'`
	if [ "$isdnpids" ]
        then
	     echo "Cleaning up ISDN processes: $isdnpids"
             kill -9 $isdnpids >/dev/null 2>&1
        fi
	trap 1 2 3 15                           # reset signals
       	;; 




*)	# usage
	echo "usage: $0 start|stop"
	exit 1
	;;

esac  
