#!/bin/sh # # kannel This script takes care of starting and stopping the kannel \ # WAP gateway services (bearer/wap/smsbox). # # chkconfig: - 97 03 # description: The Kannel WAP and SMS gateway services # config: /etc/kannel.conf # # Modified by Stefano Cotta Ramusino . /etc/sysconfig/rc . $rc_functions NAME=kannel KANNEL=/usr/sbin/$NAME KANNEL_CONFIG=/etc/$NAME.conf LOCKFILE=/var/lock/subsys/$NAME BEARERBOX=/usr/sbin/bearerbox WAPBOX=/usr/sbin/wapbox SMSBOX=/usr/sbin/smsbox # Check that networking is up. [ "${NETWORKING}" = "no" ] && exit 0 [ -x $KANNEL ] || exit 0 [ -r $KANNEL_CONFIG ] || exit 1 RETVAL=0 RETVAL_BEARERBOX=0 RETVAL_WAPBOX=0 RETVAL_SMSBOX=0 case "$1" in start) echo -n "Starting kannel bearer box: " daemon $KANNEL --start --background --chuid kannel:kannel --exec $BEARERBOX $KANNEL_CONFIG RETVAL_BEARERBOX=$? echo # It seems like the bearerbox may need to settle before accepting # connections from wapbox and smsbox sleep 3s # Starting wap and sms only makes sense if bearerbox is running if [ $RETVAL_BEARERBOX -eq 0 ]; then if grep "^group = wapbox" $KANNEL_CONFIG &>/dev/null; then echo -n "Starting kannel wap box: " daemon $KANNEL --start --background --chuid kannel:kannel --exec $WAPBOX $KANNEL_CONFIG RETVAL_WAPBOX=$? echo fi if grep "^group = smsbox" $KANNEL_CONFIG &>/dev/null; then echo -n "Starting kannel sms box: " daemon $KANNEL --start --background --chuid kannel:kannel --exec $SMSBOX $KANNEL_CONFIG RETVAL_SMSBOX=$? echo fi fi [ $RETVAL_BEARERBOX -eq 0 -a $RETVAL_WAPBOX -eq 0 -a $RETVAL_SMSBOX -eq 0 ] && touch $LOCKFILE || RETVAL=1 ;; stop) if grep "^group = smsbox" $KANNEL_CONFIG &>/dev/null; then echo -n "Shutting down kannel sms box: " killproc $SMSBOX RETVAL_SMSBOX=$? echo fi if grep "^group = wapbox" $KANNEL_CONFIG &>/dev/null; then echo -n "Shutting down kannel wap box: " killproc $WAPBOX RETVAL_WAPBOX=$? echo fi echo -n "Shutting down kannel bearer box: " killproc /usr/sbin/bearerbox RETVAL_BEARERBOX=$? echo [ $RETVAL_BEARERBOX -eq 0 -a $RETVAL_WAPBOX -eq 0 -a $RETVAL_SMSBOX -eq 0 ] || RETVAL=1 rm -f $LOCKFILE ;; status) status $BEARERBOX RETVAL_BEARERBOX=$? if grep "^group = wapbox" $KANNEL_CONFIG &>/dev/null; then status $WAPBOX RETVAL_WAPBOX=$? fi if grep "^group = smsbox" $KANNEL_CONFIG &>/dev/null; then status $SMSBOX RETVAL_SMSBOX=$? fi [ $RETVAL_BEARERBOX -eq 0 -a $RETVAL_WAPBOX -eq 0 -a $RETVAL_SMSBOX -eq 0 ] || RETVAL=1 ;; restart) $0 stop sleep 1 $0 start ;; condrestart) [ -e $LOCKFILE ] && $0 restart || : ;; *) echo $"Usage: $0 {start|stop|restart|condrestart|status}" RETVAL=1 esac exit $RETVAL