mirror of
https://github.com/openwrt/telephony.git
synced 2025-12-24 08:28:24 +04:00
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>
88 lines
1.6 KiB
Bash
88 lines
1.6 KiB
Bash
#!/bin/sh /etc/rc.common
|
|
# Copyright (C) 2014 CESNET, z.s.p.o
|
|
# Copyright (C) 2018 OpenWrt.org
|
|
|
|
START=90
|
|
|
|
NAME=rtpproxy
|
|
COMMAND="/usr/bin/$NAME"
|
|
|
|
USE_PROCD=1
|
|
|
|
#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() {
|
|
local param="$1"
|
|
local value="$2"
|
|
local default_value="$3"
|
|
|
|
if [ "$value" != "" ]; then
|
|
rtpproxy_options=$rtpproxy_options" $param $value"
|
|
else
|
|
if [ "$default_value" != "" ]; then
|
|
rtpproxy_options=$rtpproxy_options" $param $default_value"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
check_special_param() {
|
|
local param="$1"
|
|
|
|
if [ "$param" != "" ]; then
|
|
rtpproxy_options=$rtpproxy_options" $param"
|
|
fi
|
|
}
|
|
|
|
handle_instance() {
|
|
local site="$1"
|
|
local socket opts ipaddr ip6addr rtpproxy_options
|
|
|
|
config_get socket "$site" socket
|
|
config_get opts "$site" opts
|
|
config_get ipaddr "$site" ipaddr
|
|
config_get ip6addr "$site" ip6addr
|
|
config_get user "$site" user
|
|
|
|
check_param "-s" "$socket"
|
|
check_param "-l" "$ipaddr"
|
|
check_param "-6" "$ip6addr"
|
|
check_param "-u" "$user" "nobody"
|
|
|
|
check_special_param "$opts"
|
|
|
|
run_instance "$rtpproxy_options" "$site"
|
|
}
|
|
|
|
start_service() {
|
|
local enabled
|
|
|
|
config_load $NAME
|
|
|
|
config_get_bool enabled global enabled 0
|
|
|
|
if [ "$enabled" -eq 1 ]; then
|
|
config_foreach handle_instance instance
|
|
else
|
|
$LOG_ERR service not enabled
|
|
$LOG_ERR edit /etc/config/$NAME
|
|
fi
|
|
}
|
|
|