telephony/net/rtpproxy/files/rtpproxy.init

71 lines
1.3 KiB
Bash

#!/bin/sh /etc/rc.common
# Copyright (C) 2014 CESNET, z.s.p.o
START=99
RTPPROXY_BIN="/usr/bin/rtpproxy"
run_instance(){
local params="$1"
${RTPPROXY_BIN} $1
echo "[INFO] rtpproxy 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(){
config_load rtpproxy
local section="global"
config_get_bool enabled global enabled 0
if [ "$enabled" -eq 1 ]; then
config_foreach handle_instance instance
else
echo "[WARNING] rtpproxy not yet configured. Edit /etc/config/rtpproxy first."
fi
}
stop() {
killall rtpproxy
}