#!/bin/sh
########################################################################
# Begin /etc/init.d/asterisk
#
# Description :  the Asterisk Open Source PBX daemon
#
########################################################################

### BEGIN INIT INFO
# Provides:		asterisk
# Required-Start:	$network $postgresql $mysql
# Should-Start:        
# Should-stop:		$postgresql $mysql
# Default-Start:	2 3 4 5
# Default-Stop:		0 1 6
# Short-Description:	Starts Asterisk PBX server.
# Description:		Starts asterisk PBX server
### END INIT INFO

. /lib/lsb/init-functions

APPNAME=asterisk
DAEMON=/usr/sbin/${APPNAME}
RUN=/var/run/${APPNAME}
PIDFILE=${RUN}/${APPNAME}.pid
ASTUSER=asterisk
ASTGROUP=asterisk

case "$1" in
   start)
      # Make sure the mysql user can create a socket
      log_info_msg "Starting ${APPNAME} daemon..."
      mkdir -p ${RUN}

      if [ -f "${PIDFILE}" ]; then
         if ps -e | grep `cat ${PIDFILE}` | grep ${APPNAME} >/dev/null ; then
            log_warning_msg "\n   ${APPNAME} already running!" 
            exit 0
         else
            rm -f "${PIDFILE}"
            if [ -f "${PIDFILE}" ]; then
               log_failure_msg2
               exit 1
            fi
         fi
       fi
      ${DAEMON} -U ${ASTUSER} -G ${ASTGROUP}
      evaluate_retval
      ;;

   stop)
      log_info_msg "Stopping ${APPNAME} daemon..."
      killproc -p ${PIDFILE} ${DAEMON}
      evaluate_retval
      ;;

   reload)
      log_info_msg "Reloading ${APPNAME} ..."
      killproc -p ${PIDFILE} ${DAEMON} -HUP
      evaluate_retval
      ;;

   reload)
      ${DAEMON} -rx 'module reload' > /dev/null 2> /dev/null
      ;;

   restart)
      $0 stop
      sleep 1
      $0 start
      ;;

   condrestart)
      $0 status
      if [ $? = 0 ] ; then
        $0 restart
        fi
      ;;

   status)
      pid=`cat ${PIDFILE} 2>/dev/null`
      if [ -n "${pid}"  -a -d /proc/$pid ]; then
        exit 0
        fi
      exit 1
      ;;

   *)
      echo "Usage: $0 {start|stop|reload|condrestart|restart|status}"
      exit 1
      ;;
esac

# End /etc/init.d/asterisk
