#!/bin/sh # # Start/stop/restart Asterisk PBX # # Version: 1.0 - Paul Belanger # # 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" mkdir -p /var/run/asterisk chown @ASTERISKUSR@:@ASTERISKGRP@ /var/run/asterisk /usr/sbin/asterisk fi } asterisk_stop() { # If there is no PID file, ignore this request... if [ -r /var/run/asterisk/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