Index: contrib/init.d/rc.redhat.asterisk =================================================================== --- contrib/init.d/rc.redhat.asterisk (revision 12476) +++ contrib/init.d/rc.redhat.asterisk (working copy) @@ -20,15 +20,29 @@ # - Added support for -U and -G command line options # - Modified "reload" to call asterisk -rx 'reload' +# Use this option to specify a different configuration directory +#AST_CONFIG=/etc/asterisk + +# Installation directory +AST_SBIN=/usr/sbin + +# Uncomment the following and set them to the user/groups that you +# want to run Asterisk as. NOTE: this requires substantial work to +# be sure that Asterisk's environment has permission to write the +# files required for its operation, including logs, its comm +# socket, the asterisk database, etc. +#AST_USER="asterisk" +#AST_GROUP="asterisk" + # Source function library. . /etc/rc.d/init.d/functions -if ! [ -x /usr/sbin/asterisk ] ; then +if ! [ -x $AST_SBIN/asterisk ] ; then echo "ERROR: /usr/sbin/asterisk not found" exit 0 fi -if ! [ -d /etc/asterisk ] ; then +if ! [ -d $AST_CONFIG ] ; then echo "ERROR: /etc/asterisk directory not found" exit 0 fi @@ -37,18 +51,19 @@ # export LD_ASSUME_KERNEL=2.4.1 # Full path to asterisk binary -DAEMON=/usr/sbin/asterisk +DAEMON=$AST_SBIN/asterisk # Full path to safe_asterisk script -SAFE_ASTERISK=/usr/sbin/safe_asterisk +SAFE_ASTERISK=$AST_SBIN/safe_asterisk -# Uncomment the following and set them to the user/groups that you -# want to run Asterisk as. NOTE: this requires substantial work to -# be sure that Asterisk's environment has permission to write the -# files required for its operation, including logs, its comm -# socket, the asterisk database, etc. -#AST_USER="asterisk" -#AST_GROUP="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 +[ -x $CONFIGFILE ] && . $CONFIGFILE RETVAL=0 @@ -62,8 +77,11 @@ ASTARGS="-U $AST_USER" fi if [ $AST_GROUP ] ; then - ASTARGS="`echo $ASTARGS` -G $AST_GROUP" + ASTARGS="$ASTARGS -G $AST_GROUP" fi + if [ $AST_CONFIG ]; then + ASTARGS="$ASTARGS -C $AST_CONFIG" + fi daemon $DAEMON $ASTARGS RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/asterisk