#!/bin/sh
#
# Start/stop/restart Asterisk PBX
#
# Version: 1.0 - Paul Belanger <pabelanger@gmail.com>
#
# 03.29.2005 - Initial Version
#
# $Id: rc.slackware.asterisk 119302 2008-05-30 16:47:24Z mvanbaak $

asterisk_start() {
   if [ -x /usr/sbin/asterisk ]; then
      # Check if Asterisk is already running.  If it is, then bug out, because
      # starting safe_asterisk when Asterisk is running is very bad.
      VERSION=`/usr/sbin/asterisk -rx 'core show version'`
	  if [ "`echo $VERSION | cut -c 1-8`" = "Asterisk" ]; then
         echo "Asterisk is already running.  $0 will exit now."
         exit 1
      fi

      echo "Starting Asterisk   /usr/sbin/asterisk"
      /usr/sbin/asterisk
   fi
}

asterisk_stop() {
    # If there is no PID file, ignore this request...
    if [ -r /var/run/asterisk.pid ]; then
      killall asterisk
    fi
}

asterisk_restart() {
   asterisk_stop
   asterisk_start
}

case "$1" in
   'start')
      asterisk_start
      ;;
   'stop')
      asterisk_stop
      ;;
   'restart')
      asterisk_restart
      ;;
   *)
      echo "usage $0 start|stop|restart" ;;
esac

