#!/sbin/openrc-run
# Copyright 2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2 or later
# $Header: $

depend() {
	need net
}

extra_started_commands="reload"
pidfile=/var/run/freeswitch/freeswitch.pid

start() {
	local OPTS

	[ -n "${FREESWITCH_USER}" ] && \
		OPTS="${OPTS} -u ${FREESWITCH_USER}"

	[ -n "${FREESWITCH_GROUP}" ] && \
		OPTS="${OPTS} -g ${FREESWITCH_GROUP}"

	[ -n "${FREESWITCH_OPTS}" ] && \
		OPTS="${OPTS} ${FREESWITCH_OPTS}"

	checkpath -q -d \
		-o ${FREESWITCH_USER:-freeswitch}:${FREESWITCH_GROUP:-freeswitch}\
		-m 0770 /var/run/freeswitch 
	ebegin "Starting Freeswitch"
	limits
	start-stop-daemon --start --quiet --exec /usr/bin/freeswitch \
		--pidfile $pidfile \
		-- \
		-nc \
		${OPTS}
	eend $?
}

# Recomended ULIMIT settings
# http://tinyurl.com/2dr467l (i,q,u,x not suppoted)

limits() {
	ulimit -c unlimited
	ulimit -d unlimited
	ulimit -f unlimited
	ulimit -n 999999
	ulimit -v unlimited
	ulimit -s 240
	ulimit -l unlimited
}

stop() {
	ebegin "Stopping Freeswitch"
	start-stop-daemon --quiet --stop \
		--pidfile $pidfile \
		--retry 20 \
		--exec /usr/bin/freeswitch
	eend $?
}

reload() {
	start-stop-daemon --stop --signal 1 --quiet \
		--pidfile $pidfile --name freeswitch
	return 0
}

