Viitor_isdn4k-utils/etc/init.d/isdn
kueller ae3f8efd08 Neue Version V963
git-svn-id: svn://svn.compuextreme.de/Viitor/V963/Viitor_isdn4k-utils@5933 504e572c-2e33-0410-9681-be2bf7408885
2011-01-03 10:48:06 +00:00

128 lines
3.6 KiB
Bash

#!/bin/bash
#Start/Stop Script für ISDN-Netzwerk Devices
#(c) Rainmaker MultiMedia OHG
#
#$Author$
#$Date$
#$Revision$
#
#$Log$
#Revision 1.6 2004/02/20 14:42:11 kueller
#Einstellungen und Setup fuer Kanalbuendelung hinzugefuegt. Start fuer ibod
#muss noch eingebaut werden, wenn das binary fuer ibod existiert
#
#Revision 1.5 2003/04/19 08:10:37 kueller
#Restart Option eingebaut
#
#Revision 1.4 2002/11/04 22:40:43 kueller
#Wenn keine ISDN - Geräte konfiguriert sind, wird dies nun zuverlässiger erkannt,
#und keine Fehlermeldung mehr erzeugt. Dazu war das Nachbearbeiten der Variable
#DEVNUM mit sed notwendig. "wc" hinterlässt leerzeichen in der Variable.
#
#Revision 1.3 2002/05/14 09:16:59 hkueller
#ippp# wird nun mit der adresse 1.1.1.1 initialisiert. 0.0.0.0 wäre zwar richtig,
#jedoch wird so das interface bei der netzwerkinitialisierung mit
# ip -f inet addr list
#nicht erkannt - was zu fehlern bei der initialisierung des Routings führt
#(u.U. nicht eingeschaltenes (/proc/sys/net/ipv4/ip_forward).
#
#Revision 1.2 2001/09/28 22:59:41 kueller
#ipppd wird nun nur beendet, wenn ippp Interfaces configuriert sind.
#
#Revision 1.1.1.1 2001/09/23 00:21:27 kueller
#Neustart wg. Datenverlust
#
#Revision 1.1.1.1 2001/08/29 20:55:09 cro
#Erstes einspielen der Dateien
#
#
source /etc/init.d/functions
DEVNUM=`ls /etc/sysconfig/net/isdn.* 2>/dev/null|wc -w`
DEVNUM=`echo "$DEVNUM"|sed -e "s/ *//"`
case $1 in
start)
if [ ! "$DEVNUM" = "0" ]; then
for i in `ls /etc/sysconfig/net/isdn.*|cut -d "." -f2`; do
echo -n "Setting up isdn Interface $i"
source /etc/sysconfig/net/isdn.$i
isdnctrl addif $i >/dev/null
isdnctrl addphone $i out $OUTPHONE >/dev/null
isdnctrl eaz $i $EAZ >/dev/null
isdnctrl huptimeout $i $HANGUP >/dev/null
isdnctrl dialmax $i $DIALMAX >/dev/null
isdnctrl chargehup $i $CHARGEHUP >/dev/null
isdnctrl l2_prot $i hdlc >/dev/null
isdnctrl dialmode $i $DIALMODE >/dev/null
if [ "$CHANNELB" ]; then
isdnctrl addslave $CHANNELB >/dev/null
isdnctrl sdelay $CHANNELB 0 >/dev/null
isdnctrl trigger $CHANNELB 4096 >/dev/null
isdnctrl addphone $CHANNELB out $OUTPHONE >/dev/null
isdnctrl eaz $CHANNELB $EAZ >/dev/null
isdnctrl huptimeout $CHANNELB $HANGUP >/dev/null
isdnctrl dialmax $CHANNELB $DIALMAX >/dev/null
isdnctrl chargehup $CHANNELB $CHARGEHUP >/dev/null
isdnctrl l2_prot $CHANNELB hdlc >/dev/null
isdnctrl dialmode $CHANNELB $DIALMODE >/dev/null
fi
case $i in
ippp?)
isdnctrl encap $i syncppp >/dev/null
if [ "$CHANNELB" ]; then
isdnctrl encap $CHANNELB syncppp >/dev/null
fi
ipppd /dev/$i file /etc/ppp/options.$i
if [ $DEFAULT == 1 ]; then
ifconfig ippp0 1.1.1.1
route add default dev ippp0
fi
;;
isdn?)
isdnctrl addphone $i in $INPHONE >/dev/null
isdnctrl chargeint $i $CHARGEINT >/dev/null
isdnctrl callback $i $CALLBACK >/dev/null
isdnctrl cbdelay $i $CBDELAY >/dev/null
isdnctrl cbhup $i $CBHUP >/dev/null
isdnctrl secure $i $SECURE >/dev/null
isdnctrl encap $i rawip >/dev/null
;;
*)
logger -p daemon.notice -t isdn "Unknown Device name $i"
;;
esac
evaluate_retval
done
fi
;;
stop)
route del default
IPPD=1
for i in `ls /etc/sysconfig/net/isdn.*|cut -d "." -f2`; do
case $i in
ippp?)
if [ $IPPD == "1" ]; then
echo -n "Stopping ipppd Daemons"
killproc /sbin/ipppd
IPPD=0
fi
;;
esac
echo -n "Deleting isdn Interface $i"
isdnctrl delif $i force >/dev/null
evaluate_retval
done
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
esac