#!/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 }