Browse Source

added kazoo-kamailio

4.0
k anderson 10 years ago
parent
commit
11e9290f1c
1 changed files with 102 additions and 0 deletions
  1. +102
    -0
      system/sbin/kazoo-kamailio

+ 102
- 0
system/sbin/kazoo-kamailio View File

@ -0,0 +1,102 @@
#!/bin/bash
if [ -f /etc/default/kamailio ]; then
. /etc/default/kamailio
fi
if [ -f /etc/sysconfig/kamailio ]; then
. /etc/sysconfig/kamailio
fi
RETVAL=0
USER=${KAMAILIO_USER:-kamailio}
GROUP=${KAMAILIO_GROUP:-kamailio}
BIN_FILE=${KAMAILIO_BIN:-/usr/sbin/kamailio}
CFG_FILE=${KAMAILIO_CONFIG:-/etc/kazoo/kamailio/kamailio.cfg}
PID_FILE=/var/run/kazoo-kamailio/kamailio.pid
export HOME=${KAMAILIO_HOME:-/var/run/kamailio}
OPTIONS="-P ${PID_FILE} -m ${SHM_MEMORY} -M ${PKG_MEMORY} -u ${USER} -g ${GROUP} ${EXTRA_OPTIONS}"
SHM_MEMORY=$((`echo $SHM_MEMORY | sed -e 's/[^0-9]//g'`))
PKG_MEMORY=$((`echo $PKG_MEMORY | sed -e 's/[^0-9]//g'`))
[ $SHM_MEMORY -le 0 ] && SHM_MEMORY=64
[ $PKG_MEMORY -le 0 ] && PKG_MEMORY=8
if test "$DUMP_CORE" = "yes" ; then
ulimit -c unlimited
fi
# Do not start kamailio if fork=no is set in the config file
# otherwise the boot process will just stop
check_fork ()
{
if grep -q "^[[:space:]]*fork[[:space:]]*=[[:space:]]*no.*" $CFG_FILE; then
echo "Not starting Kamailio: fork=no specified in config file"
exit 1
fi
}
check_kamailio_config ()
{
local ERRORS=$($BIN_FILE -c 2>&1 > /dev/null)
RETVAL=$?
if [ "${RETVAL}" != '0' ]; then
echo "Not starting Kamailio: invalid configuration file!"
echo -e "\n${ERRORS}\n"
RETVAL=1
fi
}
start() {
check_kamailio_config
check_fork
mkdir -p /var/run/kazoo-kamailio
chown -R ${USER} /var/run/kazoo-kamailio
mkdir -p /var/run/kamailio
chown -R ${USER} /var/run/kamailio
cd ${HOME}
if [ "$(whoami)" == "${USER}" ]; then
exec ${BIN_FILE} -f ${CFG_FILE} -P ${PID_FILE} -m ${SHM_MEMORY} -M ${PKG_MEMORY} -u ${USER} -g ${GROUP} ${EXTRA_OPTIONS} $@
else
exec su -s /bin/bash -c "${BIN_FILE} -f ${CFG_FILE} -P ${PID_FILE} -m ${SHM_MEMORY} -M ${PKG_MEMORY} -u ${USER} -g ${GROUP} ${EXTRA_OPTIONS} $@" ${USER}
fi
RETVAL=$?
}
stop() {
killproc ${BIN_FILE}
RETVAL=$?
}
status() {
kamctl fifo ds_list
RETVAL=$?
}
case "$1" in
start)
shift
start $@
;;
foreground)
shift
start "-DD -E"
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
RETVAL=1
esac
exit ${RETVAL}

Loading…
Cancel
Save