| @ -0,0 +1,103 @@ | |||||
| #!/bin/bash | |||||
| # | |||||
| # /etc/rc.d/init.d/freeswitch | |||||
| # | |||||
| # The FreeSWITCH Open Source Voice Platform | |||||
| # | |||||
| # chkconfig: 345 89 14 | |||||
| # description: Starts and stops the freeswitch server daemon | |||||
| # processname: freeswitch | |||||
| # config: /etc/kazoo/freeswitch/freeswitch.xml | |||||
| # pidfile: /var/run/freeswitch/kazoo-freeswitch.pid | |||||
| # | |||||
| # Source function library. | |||||
| . /etc/init.d/functions | |||||
| PROG_NAME=freeswitch | |||||
| PID_FILE=${PID_FILE-/var/run/freeswitch/kazoo-freeswitch.pid} | |||||
| FS_USER=${FS_USER-freeswitch} | |||||
| FS_FILE=${FS_FILE-/usr/bin/freeswitch} | |||||
| FS_HOME=${FS_HOME-/var/run/kazoo-freeswitch} | |||||
| LOCK_FILE=/var/lock/subsys/freeswitch | |||||
| FREESWITCH_ARGS="-ncwait -nonat -conf /etc/kazoo/freeswitch -db /var/lib/kazoo-freeswitch/db -log /var/log/freeswitch/kazoo" | |||||
| RETVAL=0 | |||||
| # Source usr/localions file | |||||
| if [ -f /etc/sysconfig/freeswitch ]; then | |||||
| . /etc/sysconfig/freeswitch | |||||
| fi | |||||
| # <define any local shell functions used by the code that follows> | |||||
| start() { | |||||
| echo -n "Starting $PROG_NAME: " | |||||
| if [ -e $LOCK_FILE ]; then | |||||
| if [ -e $PID_FILE ] && [ -e /proc/`cat $PID_FILE` ]; then | |||||
| echo | |||||
| echo -n $"$PROG_NAME is already running."; | |||||
| failure $"$PROG_NAME is already running."; | |||||
| echo | |||||
| return 1 | |||||
| fi | |||||
| fi | |||||
| cd $FS_HOME | |||||
| daemon --user $FS_USER --pidfile $PID_FILE "$FS_FILE $FREESWITCH_ARGS $FREESWITCH_PARAMS >/dev/null 2>&1" | |||||
| RETVAL=$? | |||||
| echo | |||||
| [ $RETVAL -eq 0 ] && touch $LOCK_FILE; | |||||
| echo | |||||
| return $RETVAL | |||||
| } | |||||
| stop() { | |||||
| echo -n "Shutting down $PROG_NAME: " | |||||
| if [ ! -e $LOCK_FILE ]; then | |||||
| echo | |||||
| echo -n $"cannot stop $PROG_NAME: $PROG_NAME is not running." | |||||
| failure $"cannot stop $PROG_NAME: $PROG_NAME is not running." | |||||
| echo | |||||
| return 1; | |||||
| fi | |||||
| cd $FS_HOME | |||||
| $FS_FILE -stop > /dev/null 2>&1 | |||||
| killproc $PROG_NAME | |||||
| RETVAL=$? | |||||
| echo | |||||
| [ $RETVAL -eq 0 ] && rm -f $LOCK_FILE; | |||||
| return $RETVAL | |||||
| } | |||||
| rhstatus() { | |||||
| status $PROG_NAME; | |||||
| } | |||||
| case "$1" in | |||||
| start) | |||||
| start | |||||
| ;; | |||||
| stop) | |||||
| stop | |||||
| ;; | |||||
| status) | |||||
| status $PROG_NAME | |||||
| RETVAL=$? | |||||
| ;; | |||||
| restart) | |||||
| stop | |||||
| start | |||||
| ;; | |||||
| reload) | |||||
| # <cause the service configuration to be reread, either with | |||||
| # kill -HUP or by restarting the daemons, in a manner similar | |||||
| # to restart above> | |||||
| ;; | |||||
| condrestart) | |||||
| [ -f $PID_FILE ] && restart || : | |||||
| ;; | |||||
| *) | |||||
| echo "Usage: $PROG_NAME {start|stop|status|reload|restart}" | |||||
| exit 1 | |||||
| ;; | |||||
| esac | |||||
| exit $RETVAL | |||||