commit
f901b22dc5
@ -0,0 +1,19 @@
|
|||||||
|
RUN_MEDIAPROXY=no
|
||||||
|
LISTEN=25060
|
||||||
|
LISTEN_UDP=12222
|
||||||
|
# ADDRESS=...
|
||||||
|
# ADV_ADDRESS=...
|
||||||
|
# ADDRESS_IPV6=...
|
||||||
|
# ADV_ADDRESS_IPV6=...
|
||||||
|
TIMEOUT=60
|
||||||
|
SILENT_TIMEOUT=3600
|
||||||
|
PIDFILE=/var/run/ngcp-mediaproxy-ng-daemon.pid
|
||||||
|
FORK=yes
|
||||||
|
# TOS=184
|
||||||
|
TABLE=0
|
||||||
|
# NO_FALLBACK=yes
|
||||||
|
# PORT_MIN=30000
|
||||||
|
# PORT_MAX=50000
|
||||||
|
# REDIS=127.0.0.1:6379
|
||||||
|
# REDIS_DB=1
|
||||||
|
# B2B_URL=http://127.0.0.1:8090/
|
@ -0,0 +1,138 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: mediaproxy-ng
|
||||||
|
# Required-Start: $remote_fs $syslog
|
||||||
|
# Required-Stop: $remote_fs $syslog
|
||||||
|
# Default-Start: 2 3 4 5
|
||||||
|
# Default-Stop: 0 1 6
|
||||||
|
# Short-Description: Ngcp Mediaproxy-ng
|
||||||
|
# Description: Proxy for RTP and other media streams
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
|
||||||
|
PATH=/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
|
NAME=ngcp-mediaproxy-ng-daemon
|
||||||
|
DESC="RTP/media proxy"
|
||||||
|
RUN_MEDIAPROXY=no
|
||||||
|
TABLE=0
|
||||||
|
|
||||||
|
case $(dirname $0) in
|
||||||
|
/*) FULLPATH=$(dirname $0);;
|
||||||
|
*) FULLPATH=$(pwd)/$(dirname $0);;
|
||||||
|
esac
|
||||||
|
|
||||||
|
DAEMON=`which mediaproxy-ng`
|
||||||
|
DEFAULTS=/etc/default/${NAME}
|
||||||
|
|
||||||
|
test -f $DAEMON || exit 0
|
||||||
|
|
||||||
|
# Load startup options if available
|
||||||
|
if [ -f $DEFAULTS ]; then
|
||||||
|
. $DEFAULTS || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$RUN_MEDIAPROXY" != "yes" ]; then
|
||||||
|
echo "mediaproxy-ng not yet configured. Edit $DEFAULTS first."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
[ -z "$PIDFILE" ] && PIDFILE="/var/run/mediaproxy-ng.pid"
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /lib/lsb/init-functions
|
||||||
|
|
||||||
|
OPTIONS=""
|
||||||
|
|
||||||
|
[ -z "$ADDRESS" ] || OPTIONS="$OPTIONS --ip=$ADDRESS"
|
||||||
|
[ -z "$LISTEN" ] || OPTIONS="$OPTIONS --listen=$LISTEN"
|
||||||
|
[ -z "$LISTEN_UDP" ] || OPTIONS="$OPTIONS --listen-udp=$LISTEN_UDP"
|
||||||
|
[ -z "$TIMEOUT" ] || OPTIONS="$OPTIONS --timeout=$TIMEOUT"
|
||||||
|
[ -z "$SILENT_TIMEOUT" ] || OPTIONS="$OPTIONS --silent-timeout=$SILENT_TIMEOUT"
|
||||||
|
[ -z "$PIDFILE" ] || OPTIONS="$OPTIONS --pidfile=$PIDFILE"
|
||||||
|
[ -z "$TOS" ] || OPTIONS="$OPTIONS --tos=$TOS"
|
||||||
|
[ -z "$PORT_MIN" ] || OPTIONS="$OPTIONS --port-min=$PORT_MIN"
|
||||||
|
[ -z "$PORT_MAX" ] || OPTIONS="$OPTIONS --port-max=$PORT_MAX"
|
||||||
|
[ -z "$ADV_ADDRESS" ] || OPTIONS="$OPTIONS --advertised-ip=$ADV_ADDRESS"
|
||||||
|
[ -z "$ADDRESS_IPV6" ] || OPTIONS="$OPTIONS --ip6=$ADDRESS_IPV6"
|
||||||
|
[ -z "$ADV_ADDRESS_IPV6" ] || OPTIONS="$OPTIONS --advertised-ip6=$ADV_ADDRESS_IPV6"
|
||||||
|
[ -z "$REDIS" ] || OPTIONS="$OPTIONS --redis=$REDIS"
|
||||||
|
[ -z "$REDIS_DB" ] || OPTIONS="$OPTIONS --redis-db=$REDIS_DB"
|
||||||
|
[ -z "$B2B_URL" ] || OPTIONS="$OPTIONS --b2b-url=$B2B_URL"
|
||||||
|
[ -z "$NO_FALLBACK" -o \( "$NO_FALLBACK" != "1" -a "$NO_FALLBACK" != "yes" \) ] || OPTIONS="$OPTIONS --no-fallback"
|
||||||
|
OPTIONS="$OPTIONS --table=$TABLE"
|
||||||
|
if test "$FORK" = "no" ; then
|
||||||
|
OPTIONS="$OPTIONS --foreground"
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
|
||||||
|
echo -n "Starting $DESC: $NAME"
|
||||||
|
set +e
|
||||||
|
modprobe xt_MEDIAPROXY
|
||||||
|
echo "del $TABLE" > /proc/mediaproxy/control 2>/dev/null
|
||||||
|
iptables -D INPUT -j MEDIAPROXY --id $TABLE 2>/dev/null
|
||||||
|
iptables -D INPUT -p udp -j MEDIAPROXY --id $TABLE 2>/dev/null
|
||||||
|
ip6tables -D INPUT -p udp -j MEDIAPROXY --id $TABLE 2>/dev/null
|
||||||
|
iptables -I INPUT -p udp -j MEDIAPROXY --id $TABLE
|
||||||
|
ip6tables -I INPUT -p udp -j MEDIAPROXY --id $TABLE
|
||||||
|
set -e
|
||||||
|
start-stop-daemon --start --quiet --pidfile $PIDFILE \
|
||||||
|
--exec $DAEMON -- $OPTIONS || echo -n " already running"
|
||||||
|
log_end_msg $?
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
echo -n "Stopping $DESC: $NAME"
|
||||||
|
start-stop-daemon --oknodo --stop --quiet --pidfile $PIDFILE \
|
||||||
|
--exec $DAEMON
|
||||||
|
if [ "$?" -ne 0 ]; then
|
||||||
|
return $?
|
||||||
|
fi
|
||||||
|
set +e
|
||||||
|
echo "del $TABLE" > /proc/mediaproxy/control 2>/dev/null
|
||||||
|
iptables -D INPUT -j MEDIAPROXY --id $TABLE 2>/dev/null
|
||||||
|
iptables -D INPUT -p udp -j MEDIAPROXY --id $TABLE 2>/dev/null
|
||||||
|
ip6tables -D INPUT -p udp -j MEDIAPROXY --id $TABLE 2>/dev/null
|
||||||
|
rmmod ipt_MEDIAPROXY 2>/dev/null
|
||||||
|
rmmod xt_MEDIAPROXY 2>/dev/null
|
||||||
|
set -e
|
||||||
|
rm -f $PIDFILE
|
||||||
|
log_end_msg $?
|
||||||
|
;;
|
||||||
|
restart|force-reload)
|
||||||
|
|
||||||
|
echo -n "Restarting $DESC: $NAME"
|
||||||
|
start-stop-daemon --oknodo --stop --quiet --pidfile \
|
||||||
|
$PIDFILE --exec $DAEMON
|
||||||
|
if [ "$?" -ne 0 ]; then
|
||||||
|
return $?
|
||||||
|
fi
|
||||||
|
rm -f $PIDFILE
|
||||||
|
sleep 1
|
||||||
|
set +e
|
||||||
|
if [ -e /proc/mediaproxy/control ]; then
|
||||||
|
echo "del $TABLE" > /proc/mediaproxy/control 2>/dev/null
|
||||||
|
fi
|
||||||
|
iptables -D INPUT -j MEDIAPROXY --id $TABLE 2>/dev/null
|
||||||
|
iptables -D INPUT -p udp -j MEDIAPROXY --id $TABLE 2>/dev/null
|
||||||
|
ip6tables -D INPUT -p udp -j MEDIAPROXY --id $TABLE 2>/dev/null
|
||||||
|
rmmod ipt_MEDIAPROXY 2>/dev/null
|
||||||
|
rmmod xt_MEDIAPROXY 2>/dev/null
|
||||||
|
modprobe xt_MEDIAPROXY
|
||||||
|
iptables -I INPUT -p udp -j MEDIAPROXY --id $TABLE
|
||||||
|
ip6tables -I INPUT -p udp -j MEDIAPROXY --id $TABLE
|
||||||
|
set -e
|
||||||
|
start-stop-daemon --start --quiet --pidfile \
|
||||||
|
$PIDFILE --exec $DAEMON -- $OPTIONS
|
||||||
|
log_end_msg $?
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|restart|force-reload|status}" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
Loading…
Reference in new issue