mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-03 20:38:59 +00:00 
			
		
		
		
	https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r337115 | lmadsen | 2011-09-20 17:18:25 -0500 (Tue, 20 Sep 2011) | 7 lines Update RedHat Init script to work with Heartbeat. The current RedHat init script was not LSB compatible. This change will make it LSB compatible so that it can work correctly with Heartbeat. (Closes issue ASTERISK-18253) Reported by: c0rnoTa ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@337117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
		
			
				
	
	
		
			179 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			179 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
# $Id$
 | 
						|
#
 | 
						|
# asterisk    Starts, Stops and Reloads Asterisk.
 | 
						|
#
 | 
						|
# chkconfig: 2345 90 60
 | 
						|
# description: Asterisk PBX and telephony daemon.
 | 
						|
# processname: asterisk
 | 
						|
# pidfile: __ASTERISK_VARRUN_DIR__/asterisk.pid
 | 
						|
#
 | 
						|
# Thu Nov 17 2005 Gregory Boehnlein <damin@nacs.net>
 | 
						|
# - Updated Version to 1.3
 | 
						|
# - Reversed behavior of LD_ASSUME_KERNEL=2.4.1
 | 
						|
# - Added detailed failure messages
 | 
						|
#
 | 
						|
# Sun Jul 18 2004 Gregory Boehnlein <damin@nacs.net>
 | 
						|
# - Updated Version to 1.2
 | 
						|
# - Added test for safe_asterisk
 | 
						|
# - Verified SIGTERM issued by "killproc" ensures "stop gracefully"
 | 
						|
# - Added support for -U and -G command line options
 | 
						|
# - Modified "reload" to call asterisk -rx 'reload' 
 | 
						|
 | 
						|
### 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
 | 
						|
 | 
						|
# Use this option to specify a different configuration directory
 | 
						|
#AST_CONFIG=__ASTERISK_ETC_DIR__
 | 
						|
 | 
						|
# Installation directory
 | 
						|
AST_SBIN=__ASTERISK_SBIN_DIR__
 | 
						|
 | 
						|
# Source function library.
 | 
						|
. /etc/rc.d/init.d/functions
 | 
						|
 | 
						|
if ! [ -x $AST_SBIN/asterisk ] ; then
 | 
						|
	echo "ERROR: $AST_SBIN/asterisk not found"
 | 
						|
	exit 0
 | 
						|
fi
 | 
						|
 | 
						|
if ! [ -d $AST_CONFIG ] ; then
 | 
						|
	echo "ERROR: $AST_CONFIG directory not found"
 | 
						|
	exit 0
 | 
						|
fi
 | 
						|
 | 
						|
# Full path to asterisk binary
 | 
						|
DAEMON=$AST_SBIN/asterisk
 | 
						|
 | 
						|
# Full path to safe_asterisk script
 | 
						|
SAFE_ASTERISK=$AST_SBIN/safe_asterisk
 | 
						|
 | 
						|
# Allow configuration overrides in /etc/sysconfig/asterisk
 | 
						|
CONFIG0=`readlink $0`
 | 
						|
if [ "$CONFIG0" = "" ]; then
 | 
						|
	CONFIGFILE=/etc/sysconfig/`basename $0`
 | 
						|
else
 | 
						|
	CONFIGFILE=/etc/sysconfig/`basename $CONFIG0`
 | 
						|
fi
 | 
						|
[ -r $CONFIGFILE ] && . $CONFIGFILE
 | 
						|
 | 
						|
RETVAL=0
 | 
						|
 | 
						|
start() {
 | 
						|
	# Check if Asterisk is already running.  If it is, then bug out, because
 | 
						|
	# starting safe_asterisk when Asterisk is running is very bad.
 | 
						|
	VERSION=`${AST_SBIN}/asterisk -rx 'core show version'`
 | 
						|
	if [ "`echo $VERSION | cut -c 1-8`" = "Asterisk" ]; then
 | 
						|
		echo "Asterisk is already running."
 | 
						|
		exit 0
 | 
						|
	fi
 | 
						|
 | 
						|
	# Start daemons.
 | 
						|
	echo -n $"Starting asterisk: "
 | 
						|
        if [ -f $SAFE_ASTERISK ] ; then
 | 
						|
		DAEMON=$SAFE_ASTERISK
 | 
						|
	fi
 | 
						|
	if [ $AST_USER ] ; then
 | 
						|
		ASTARGS="-U $AST_USER"
 | 
						|
	fi
 | 
						|
	if [ $AST_GROUP ] ; then
 | 
						|
		ASTARGS="$ASTARGS -G $AST_GROUP"
 | 
						|
	fi
 | 
						|
	if [ $AST_CONFIG ]; then
 | 
						|
		ASTARGS="$ASTARGS -C $AST_CONFIG/asterisk.conf"
 | 
						|
	elif [ $ALTCONF ]; then
 | 
						|
		ASTARGS="$ASTARGS -C $ALTCONF"
 | 
						|
	fi
 | 
						|
	if [ "x$COREDUMP" = "xyes" ]; then
 | 
						|
		ASTARGS="$ASTARGS -g"
 | 
						|
	fi
 | 
						|
	if [ "0$MAXLOAD" -gt "0" ]; then
 | 
						|
		ASTARGS="$ASTARGS -L $MAXLOAD"
 | 
						|
	fi
 | 
						|
	if [ "0$MAXCALLS" -gt "0" ]; then
 | 
						|
		ASTARGS="$ASTARGS -M $MAXCALLS"
 | 
						|
	fi
 | 
						|
	if [ "0$VERBOSITY" -gt "0" ]; then
 | 
						|
		for i in `seq 1 $VERBOSITY`; do
 | 
						|
			ASTARGS="$ASTARGS -v"
 | 
						|
		done
 | 
						|
	fi
 | 
						|
	if [ "x$INTERNALTIMING" = "xyes" ]; then
 | 
						|
		ASTARGS="$ASTARGS -I"
 | 
						|
	fi
 | 
						|
	if [ "x$TEMPRECORDINGLOCATION" = "xyes" -o "x$TMPRECORDINGLOCATION" = "xyes" ]; then
 | 
						|
		ASTARGS="$ASTARGS -t"
 | 
						|
	fi
 | 
						|
	if [ "x$COLOR" = "xyes" ]; then
 | 
						|
		export TERM=linux
 | 
						|
		daemon sh -c "$DAEMON $ASTARGS -c" >/dev/null </dev/null 2>&1 &
 | 
						|
	else
 | 
						|
		daemon $DAEMON $ASTARGS
 | 
						|
	fi
 | 
						|
	RETVAL=$?
 | 
						|
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/asterisk
 | 
						|
	echo
 | 
						|
	return $RETVAL
 | 
						|
}
 | 
						|
 | 
						|
stop() {
 | 
						|
	# Stop daemons.
 | 
						|
	if [ -f $SAFE_ASTERISK ]; then
 | 
						|
		# Kill safe_asterisk first, to prevent us from starting up 2 instances of safe_asterisk
 | 
						|
		echo -n $"Stopping safe_asterisk: "
 | 
						|
		killproc `basename $SAFE_ASTERISK`
 | 
						|
		echo
 | 
						|
	fi
 | 
						|
	echo -n $"Shutting down asterisk: "
 | 
						|
	killproc `basename $DAEMON`
 | 
						|
	RETVAL=$?
 | 
						|
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/asterisk
 | 
						|
	echo
 | 
						|
	return $RETVAL
 | 
						|
}
 | 
						|
 | 
						|
restart() {
 | 
						|
	stop
 | 
						|
	start
 | 
						|
}
 | 
						|
 | 
						|
reload() {
 | 
						|
	$DAEMON -rx 'module reload' > /dev/null 2> /dev/null
 | 
						|
}
 | 
						|
 | 
						|
# See how we were called.
 | 
						|
case "$1" in
 | 
						|
  start)
 | 
						|
	start
 | 
						|
	;;
 | 
						|
  stop)
 | 
						|
	stop
 | 
						|
	;;
 | 
						|
  restart)
 | 
						|
	restart
 | 
						|
	;;
 | 
						|
  reload)
 | 
						|
	reload
 | 
						|
	;;
 | 
						|
  condrestart)
 | 
						|
	[ -f /var/lock/subsys/asterisk ] && restart || :
 | 
						|
	;;
 | 
						|
  status)
 | 
						|
	status asterisk
 | 
						|
	;;
 | 
						|
  *)
 | 
						|
	echo "Usage: asterisk {start|stop|restart|reload|condrestart|status}"
 | 
						|
	exit 1
 | 
						|
esac
 | 
						|
 | 
						|
exit $?
 |