#!/bin/sh
#
#	/etc/rc.d/init.d/isdn - isdn subsystem services
#
#	created on Fri Apr 10 12:24:21 MET DST 1998 by kanna@lapam.mo.it
#
/bin/echo "ISDN subsystem: \c"

[ ! -s /etc/sysconfig/isdn.cfg ] && {
	/bin/echo "(not configured)"
	exit 0
}

. /etc/sysconfig/isdn.cfg

[ "$ENABLE_ISDN" != "yes" ] && {
	/bin/echo "(disabled)"
	exit 0
}



case "$1" in
start)
	/bin/echo "starting"

	modprobe hisax type=3 protocol=2 io=$HISAX_ADDR irq=$HISAX_INTR id=HiSax

	#	setup isdn device, configure interface and routing
	#
	isdnctrl verbose    $HISAX_DEBUG
	isdnctrl addif      ippp0			# create int. ippp0
	isdnctrl pppbind    ippp0 0
	isdnctrl addphone   ippp0 out	$REMOTE_DIAL	# dial-out number
	isdnctrl addphone   ippp0 in	$REMOTE_BACK	# remote callback
	isdnctrl addphone   ippp0 in	$LOCAL_DIAL	# my telephone no
	isdnctrl eaz        ippp0 	$LOCAL_DIAL	# my MSN / EAZ
	isdnctrl huptimeout ippp0	$TIMEOUT
	isdnctrl secure     ippp0 on			# nobody may enter
	isdnctrl l2_prot    ippp0 hdlc
	isdnctrl l3_prot    ippp0 trans
	isdnctrl encap      ippp0 syncppp

	#	this enable autodialing
	#
	ifconfig ippp0 $LOCAL_IP pointopoint $REMOTE_IP netmask $REMOTE_MASK
	route add default ippp0

	ipppd /dev/ippp0 &

	;;
stop)
	/bin/echo "stopping"

	isdnctrl hangup ippp0
	kill `cat /var/run/ipppd.pid`
	route del default ippp0
	ifconfig ippp0 down
	isdnctrl delif ippp0
	for mod in hisax isdn slhc
	do
		rmmod $mod
		sleep 1
	done
	;;
*)
	/bin/echo "usage: isdn { start | stop }"
	exit 1
	;;
esac

exit 0
