diff options
Diffstat (limited to 'net/asterisk16/files/asterisk.in')
-rw-r--r-- | net/asterisk16/files/asterisk.in | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/net/asterisk16/files/asterisk.in b/net/asterisk16/files/asterisk.in new file mode 100644 index 000000000000..87127d3e9b32 --- /dev/null +++ b/net/asterisk16/files/asterisk.in @@ -0,0 +1,81 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: asterisk +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf to enable asterisk: +# +# asterisk_enable (bool): Set it to "YES" to enable asterisk +# Default is "NO" +# asterisk_user (string): User asterisk runs as +# Default is %%ASTERISK_USER%% +# asterisk_args (string): Extra argumeents to pass to asterisk at startup +# Default is "-n" +# asterisk_pidfile (string): Location of the asterisk pid file +# Default is /var/run/asterisk/asterisk.pid +# asterisk_stopsleep (int): Number of seconds to sleep before sending stop command +# Default is 0, which disables it +# + +. /etc/rc.subr + +name=asterisk +rcvar=asterisk_enable +desc="Asterisk PBX server" + +load_rc_config $name + +: ${asterisk_enable:=NO} +: ${asterisk_user:=%%ASTERISK_USER%%} +: ${asterisk_args=-n} +: ${asterisk_pidfile:=/var/run/asterisk/asterisk.pid} +: ${asterisk_stopsleep:=0} + +extra_commands=reload + +start_precmd=asterisk_precmd +stop_cmd=asterisk_stop +reload_cmd=asterisk_reload + +command="%%PREFIX%%/sbin/asterisk" +command_args="${asterisk_args} -F -U ${asterisk_user}" +pidfile=${asterisk_pidfile} + +asterisk_precmd() +{ + local rundir=${asterisk_pidfile%/*} + if [ ! -d $rundir ] ; then + install -d -m 0755 -o asterisk -g asterisk $rundir + fi +} + +asterisk_stop() +{ + if [ -z "$rc_pid" ]; then + [ -n "$rc_fast" ] && return 0 + _run_rc_notrunning + return 1 + fi + echo 'Stopping asterisk.' + if [ ${asterisk_stopsleep} -gt 0 ]; then + sleep ${asterisk_stopsleep} + fi + $command -nqrx 'core stop now' + wait_for_pids $rc_pid +} + +asterisk_reload() +{ + if [ -z "$rc_pid" ]; then + _run_rc_notrunning + return 1 + fi + echo 'Reloading asterisk.' + $command -nqrx 'reload' +} + +run_rc_command "$1" |