summaryrefslogtreecommitdiff
path: root/net/freeswitch-core/files/freeswitch.in
diff options
context:
space:
mode:
Diffstat (limited to 'net/freeswitch-core/files/freeswitch.in')
-rw-r--r--net/freeswitch-core/files/freeswitch.in70
1 files changed, 70 insertions, 0 deletions
diff --git a/net/freeswitch-core/files/freeswitch.in b/net/freeswitch-core/files/freeswitch.in
new file mode 100644
index 000000000000..0e5ead8bb421
--- /dev/null
+++ b/net/freeswitch-core/files/freeswitch.in
@@ -0,0 +1,70 @@
+#!/bin/sh
+
+# PROVIDE: freeswitch
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf to enable freeswitch:
+#
+# freeswitch_enable="YES"
+#
+#
+# freeswitch_user="freeswitch"
+# freeswitch_group="freeswitch"
+
+. /etc/rc.subr
+
+freeswitch_enable=${freeswitch_enable:-"NO"}
+freeswitch_user=${freeswitch_user:-"freeswitch"}
+freeswitch_group=${freeswitch_group:-"freeswitch"}
+freeswitch_flags=${freeswitch_flags:-""}
+
+name=freeswitch
+rcvar=`set_rcvar`
+
+command=%%PREFIX%%/bin/freeswitch
+command_args="-nc -u ${freeswitch_user} -g ${freeswitch_group} ${freeswitch_flags} -db /var/db/freeswitch -log /var/log/freeswitch/"
+
+pidfile=${freeswitch_pidfile:-"/var/run/freeswitch.pid"}
+
+start_cmd="freeswitch_start"
+stop_precmd="freeswitch_stop"
+restart_cmd="freeswitch_restart"
+
+sig_stop=KILL
+
+load_rc_config $name
+
+freeswitch_stop () {
+ echo "Stopping FreeSWITCH."
+ %%PREFIX%%/bin/freeswitch -stop
+ sleep 1
+ return 0
+}
+
+freeswitch_start () {
+ echo "Starting FreeSWITCH."
+ $command $command_args
+ sleep 1
+ return
+}
+
+freeswitch_restart () {
+ echo "Restarting FreeSwitch."
+ freeswitch_stop
+ if [ $? -eq 0 ];
+ then
+ status=$?
+ freeswitch_start
+ sleep 1
+ return 0
+ else
+ echo "Problem stoping FreeSWITCH: $status"
+ sleep 1
+ return 1
+ fi
+}
+
+run_rc_command "$1"
+