#!/bin/sh
#
# gateway         This shell script takes care of starting and stopping
#                 the Kannel WAP gateway (bearer/wapbox)
#
# chkconfig: 2345 97 03
# description:  Start and stop the Kannel WAP gateway used to fetch \
#               some WML content from a Web server & compile it \
#               into WMLC mobile phone bytecode.
# probe: true

# Use start-stop-daemon
ver=1.40
BBOX=/usr/local/sbin/bearerbox
SQBOX=/usr/local/sbin/sqlbox
SBOX=/usr/local/sbin/smsbox
START="/usr/local/sbin/start-stop-daemon --start --background --quiet --exec"
STOP="/usr/local/sbin/start-stop-daemon --stop --quiet --oknodo --exec"
CONFB=/home/smsc/config/bbox.conf
CONFQ=/home/smsc/config/sqlbox.conf
CONFS=/home/smsc/config/smsbox.conf
[ $# -eq 2 ] && ver=$2

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

[ -x $BBOX ] || exit 0

[ -x $SQBOX ] || exit 0

[ -x $SBOX ] || exit 0

[ -f $CONFB ] || exit 0

[ -f $CONFS ] || exit 0

[ -f $CONFQ ] || exit 0

RETVAL=0

# See how we were called.
case "$1" in
    start)
    # Start daemons.
            echo -n "Starting bearer service (gateway kannel $ver): "
            $START $BBOX -- $CONFB
            RETVAL1=$?
            sleep 1 # Sleep for a while before we try to start sqlbox
            echo
            echo -n "Starting sqlbox service (gateway kannel $ver): "
            $START $SQBOX -- $CONFQ
            RETVAL2=$?
            sleep 1
            echo
            echo -n "Starting smsbox service (gateway kannel $ver): "
            $START $SBOX -- $CONFS
            RETVAL2=$?
            echo
            echo
            [ $RETVAL1 -eq 0 -a $RETVAL2 -eq 0 ] && touch /var/lock/subsys/gateway ||\
            RETVAL=1
            ;;
      stop)
            # Stop daemons.
            echo -n "Shutting down smsbox (kannel $ver): "
            $STOP $SBOX
            RETVAL2=$?
            echo
            echo -n "Shutting down sqlbox (kannel $ver): "
            $STOP $SQBOX
            RETVAL2=$?
            echo
            echo -n "Shutting down bearerbox (kannel $ver): "
            $STOP $BBOX
            RETVAL1=$?
            echo
            [ $RETVAL1 -eq 0 -a $RETVAL2 -eq 0 ] && rm -f /var/lock/subsys/gateway
            echo ""
            ;;
      status)
            status bearerbox
	    status sqlbox
            status smsbox
            exit $?
            ;;
      restart)
            $0 stop
            sleep 1
            $0 start
            ;;
      *)
            echo "Usage: named {start|stop|status|restart}"
            exit 1
esac
exit $RETVAL
