aboutsummaryrefslogtreecommitdiffstats
path: root/main/freeswitch/freeswitch.initd
blob: bbcb6f463aa93779e2fe3b8239ff66c0577a9c9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/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
}