#!/bin/sh # # chkconfig: 2345 20 80 # description: controls execution of OpenSER SIP server # processname: openser # config: /usr/local/etc/openser/openser.cfg # Source function library. #. /lib/rcscripts/net.modules.d/helpers.d/functions BINNAME=openser OSRDIR=/usr/local/openser/sbin OSRWDIR=/var/tmp ETC=/usr/local/openser/etc/openser/openser.cfg PIDFILE=/var/run/openser.pid MONIT=/usr/local/bin/monit MONITRC=/usr/local/etc/monitrc RETVAL=0 BIN=$OSRDIR/$BINNAME CORE=$OSRWDIR/core TMP=/tmp/osrcore.$$ openser_start() { echo "Starting Open SIP Server: " $BIN -f $ETC -w $OSRWDIR -P $PIDFILE RETVAL=$? echo } openser_stop() { echo "Stopping Open SIP Server: " kill `cat $PIDFILE` &>/dev/null RETVAL=$? echo } monit_start() { echo "Command Monit to start OpenSER..." ${MONIT} -c ${MONITRC} start openser RETVAL=$? echo } monit_stop() { echo "Command Monit to stop OpenSER..." ${MONIT} -c ${MONITRC} stop openser RETVAL=$? echo } # See how we were called. case "$1" in openserstart) openser_start ;; openserstop) openser_stop ;; openserrestart) openser_stop echo openser_start ;; start) monit_start ;; stop) monit_stop ;; restart) monit_stop sleep 1 monit_start ;; *) echo "Usage: $0 {start|stop|restart|openserstart|openserstop|openserrestart}" exit 1 esac exit $RETVAL