rtpproxy: convert init to procd

Update rtpproxy init script to use procd.

Also increases the start priority to 90 (like the hotplug script) to
make sure rtpproxy is started before kamailio.

Fixes some whitespace issues along the way, too.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit is contained in:
Sebastian Kemper 2018-11-05 20:34:28 +01:00
parent 325bbe9bbb
commit a3767c5f00

View file

@ -1,17 +1,34 @@
#!/bin/sh /etc/rc.common #!/bin/sh /etc/rc.common
# Copyright (C) 2014 CESNET, z.s.p.o # Copyright (C) 2014 CESNET, z.s.p.o
# Copyright (C) 2018 OpenWrt.org
START=99 START=90
RTPPROXY_BIN="/usr/bin/rtpproxy"
run_instance(){ NAME=rtpproxy
local params="$1" COMMAND="/usr/bin/$NAME"
${RTPPROXY_BIN} $1 USE_PROCD=1
echo "[INFO] rtpproxy instance $2 has started"
#PROCD_DEBUG=1
LOGGER="/usr/bin/logger -t $NAME"
LOG_ERR="$LOGGER -p user.err -s"
run_instance() {
procd_open_instance
procd_set_param command $COMMAND
procd_append_param command \
$1 \
-p "/var/run/$NAME-$2.pid" \
-f
# forward stderr to logd
procd_set_param stderr 1
procd_close_instance
$LOGGER instance $2 has started
} }
check_param(){ check_param() {
local param="$1" local param="$1"
local value="$2" local value="$2"
local default_value="$3" local default_value="$3"
@ -25,7 +42,7 @@ check_param(){
fi fi
} }
check_special_param(){ check_special_param() {
local param="$1" local param="$1"
if [ "$param" != "" ]; then if [ "$param" != "" ]; then
@ -46,25 +63,25 @@ handle_instance() {
check_param "-s" "$socket" check_param "-s" "$socket"
check_param "-l" "$ipaddr" check_param "-l" "$ipaddr"
check_param "-6" "$ip6addr" check_param "-6" "$ip6addr"
check_param "-u" "$user" "nobody" check_param "-u" "$user" "nobody"
check_special_param "$opts" check_special_param "$opts"
run_instance "$rtpproxy_options" "$site" run_instance "$rtpproxy_options" "$site"
} }
start(){ start_service() {
config_load rtpproxy local enabled
local section="global"
config_load $NAME
config_get_bool enabled global enabled 0 config_get_bool enabled global enabled 0
if [ "$enabled" -eq 1 ]; then if [ "$enabled" -eq 1 ]; then
config_foreach handle_instance instance config_foreach handle_instance instance
else else
echo "[WARNING] rtpproxy not yet configured. Edit /etc/config/rtpproxy first." $LOG_ERR service not enabled
$LOG_ERR edit /etc/config/$NAME
fi fi
} }
stop() {
killall rtpproxy
}