7aa209287e
git-svn-id: svn://svn.compuextreme.de/Viitor/V962/Viitor_isdn4k-utils@4385 504e572c-2e33-0410-9681-be2bf7408885
128 lines
3.6 KiB
Bash
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
|