asterisk/contrib/init.d/rc.slackware.asterisk

63 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
#
# Start/stop/restart Asterisk PBX
#
# Version: 1.0 - Paul Belanger <pabelanger@gmail.com>
#
# 03.29.2005 - Initial Version
#
# $Id$
### BEGIN INIT INFO
# Provides: asterisk
# Required-Start: $network $syslog $named $local_fs $remote_fs
# Required-Stop: $network $syslog $named $local_fs $remote_fs
# Should-Start: dahdi misdn lcr wanrouter mysql postgresql
# Should-Stop: dahdi misdn lcr wanrouter mysql postgresql
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Asterisk PBX
# Description: the Asterisk Open Source PBX
### END INIT INFO
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' 2>/dev/null`
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