ports/net/asterisk16/files/asterisk.in
Guido Falsi e8e6fba878 net/asterisk16: Update to 16.26.0
- Embedded pjproject updated from 2.10 to 2.12
- Fix terminfo detection by adding the correct path to detection code [1]
- Add note to pkg-descr to explain that the misc/terminfo-db port
  is required to get color in the console

Reported by:	ogogon@ogogon.org (via email) [1]
2022-05-14 00:26:30 +02:00

86 lines
1.9 KiB
Bash

#!/bin/sh
# 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_group (string): Group asterisk runs as
# Default is %%ASTERISK_GROUP%%
# 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
# asterisk_umask (string): File creation mode mask to run asterisk with
#
. /etc/rc.subr
name=asterisk
rcvar=asterisk_enable
desc="Asterisk PBX server"
load_rc_config $name
: ${asterisk_enable:=NO}
: ${asterisk_user:=%%ASTERISK_USER%%}
: ${asterisk_group:=%%ASTERISK_GROUP%%}
: ${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
pidfile="${asterisk_pidfile}"
command="%%PREFIX%%/sbin/asterisk"
command_args="${asterisk_args} -F -U ${asterisk_user}"
asterisk_precmd()
{
local rundir=${asterisk_pidfile%/*}
if [ ! -d $rundir ] ; then
install -d -m 0750 -o "${asterisk_user}" -g "${asterisk_group}" "$rundir"
fi
if [ -n "${asterisk_umask}" ]; then
umask ${asterisk_umask}
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 -rx '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 -rx 'reload'
}
run_rc_command "$1"