mirror of https://github.com/sipwise/sems.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
2.3 KiB
122 lines
2.3 KiB
#!/bin/bash
|
|
#
|
|
# Startup script for SEMS
|
|
# tested under redhat 7.3
|
|
#
|
|
# chkconfig: - 85 15
|
|
# description: SEMS is a SIP Media Server.
|
|
#
|
|
# processname: sems
|
|
|
|
### BEGIN INIT INFO
|
|
# Provides: sems
|
|
# Required-Start: $local_fs $network $syslog
|
|
# Required-Stop: $local_fs $network $syslog
|
|
# Default-Start:
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: SEMS is a SIP Media Server.
|
|
# Description: SEMS is a media and application server for SIP based VoIP services.
|
|
### END INIT INFO
|
|
|
|
# Source function library.
|
|
. /etc/rc.d/init.d/functions
|
|
|
|
prog=sems
|
|
sems=/usr/sbin/$prog
|
|
|
|
pidfile=/var/run/$prog.pid
|
|
lockfile=/var/lock/subsys/$prog
|
|
conffile=/etc/$prog/$prog.conf
|
|
|
|
OPTIONS=""
|
|
|
|
# User-defined options and/or overrides of the variables, listed above,
|
|
# should go there:
|
|
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
|
|
|
|
RETVAL=0
|
|
|
|
start() {
|
|
echo -n $"Starting $prog: "
|
|
|
|
# Check user's rights (we need only creating/opening fds
|
|
# so we check only effective UID)
|
|
if [ $EUID -ne 0 ] ; then
|
|
echo -n "not enough rights" && failure && echo
|
|
RETVAL=4
|
|
return $RETVAL
|
|
fi
|
|
|
|
# check whether SEMS was already started
|
|
if pidofproc -p $pidfile > /dev/null 2>&1 ; then
|
|
echo -n "already running" && warning && echo
|
|
return 0
|
|
fi
|
|
|
|
daemon $sems -P $pidfile -f $conffile $OPTIONS
|
|
RETVAL=$?
|
|
echo
|
|
[ $RETVAL = 0 ] && touch $lockfile
|
|
return $RETVAL
|
|
}
|
|
|
|
stop() {
|
|
echo -n $"Stopping $prog: "
|
|
|
|
# Check user's rights (we need only creating/opening fds
|
|
# so we check only effective UID)
|
|
if [ $EUID -ne 0 ] ; then
|
|
echo -n "not enough rights" && failure && echo
|
|
RETVAL=4
|
|
return $RETVAL
|
|
fi
|
|
|
|
# check whether SEMS is running
|
|
if ! pidofproc -p $pidfile > /dev/null 2>&1 ; then
|
|
echo -n "not running" && warning && echo
|
|
return 0
|
|
fi
|
|
|
|
killproc -p $pidfile 2> /dev/null
|
|
RETVAL=$?
|
|
echo
|
|
[ $RETVAL = 0 ] && rm -f $lockfile $pidfile
|
|
return $RETVAL
|
|
}
|
|
|
|
restart() {
|
|
stop
|
|
start
|
|
}
|
|
|
|
# See how we were called.
|
|
case "$1" in
|
|
start)
|
|
start
|
|
;;
|
|
stop)
|
|
stop
|
|
;;
|
|
status)
|
|
status -p $pidfile $prog
|
|
RETVAL=$?
|
|
;;
|
|
restart|force-reload)
|
|
restart
|
|
;;
|
|
reload)
|
|
echo -n $"Reloading $prog: not supported" && failure && echo
|
|
RETVAL=3
|
|
;;
|
|
condrestart|try-restart)
|
|
if [ -f $pidfile ] ; then
|
|
restart
|
|
fi
|
|
;;
|
|
*)
|
|
echo $"Usage: $prog {start|stop|restart|force-reload|condrestart|try-restart|status|help}"
|
|
[ "$1" = 'help' ] && RETVAL=0 || RETVAL=2
|
|
esac
|
|
|
|
exit $RETVAL
|