RTPproxy je vysokovýkonný software pre RTP streamy, ktorý dokáže spolupracovať s SER a OpenSER (v súčasnosti aj Kamailio a OpenSIPS). Pôvodne bol vytvorený pre správu NAT traversal ale prakticky môže fungovať tak ako media relay aj ako brána pre RTP sessions medi IPv4 a IPv6 sieťami. Bol vyvinutý Maximom Sobolevom.
RTPproxy má zopár vychytávok, ako napríklad správa na diaľku alebo podpora škálovateľných distribuovaných SIP sietí. Modul „NATHELPER“ integrovaný do SER a OpenSER SIP proxy software dovoľuje použitie viacerých inštancií RTPproxy bežiacich na vzdialených počítačoch pre zvýšenie spoľahlivosti a rozloženie záťaže. Software taktiež podporuje video relay a nahrávanie RTP sessions.
Inštalácia
cez aptitude alebo apt-get install rtpproxy, je priamo v balíčkoch pre deb.
apt-get install rtpprotxy
Inštalované súbory:
/etc/default/rtpproxy /etc/init.d/rtpproxy /usr/sbin/rtpproxy /usr/share/doc/rtpproxy/README /usr/share/doc/rtpproxy/changelog.Debian.gz /usr/share/doc/rtpproxy/copyright /usr/share/man/man8/rtpproxy.8.gz
Popis činnosti
/usr/share/doc/rtpproxy/README
Konfigurácia
Edituj súbor /etc/default/rtpproxy
Default po inštalácií je:
# Defaults for rtpproxy # The control socket. #CONTROL_SOCK="unix:/var/run/rtpproxy/rtpproxy.sock" # To listen on an UDP socket, uncomment this line: #CONTROL_SOCK=udp:127.0.0.1:22222 # Additional options that are passed to the daemon. EXTRA_OPTS=""
kde CONTROL_SOCK soket používa nathelper modul OpenSER na riadenie relayovaných RTP streamov. Typ Unix alebo UDP.
Odkomentujem unix socks
# Defaults for rtpproxy # The control socket. CONTROL_SOCK="unix:/var/run/rtpproxy/rtpproxy.sock" # To listen on an UDP socket, uncomment this line: #CONTROL_SOCK=udp:127.0.0.1:22222 # Additional options that are passed to the daemon. EXTRA_OPTS=""
V prípade použitia IP Adresy treba pridať
LISTEN_ADDR=158.193.139.40 EXTRA_OPTS="-l ${LISTEN_ADDR}"
Možnosti nastavenia
Príkazový riadok povoľuje následovné parametre:
usage: rtpproxy [-2fvFiPa] [-l addr1[/addr2]] [-6 addr1[/addr2]] [-s path] [-t tos] [-r rdir [-S sdir]] [-T ttl] [-L nfiles] [-m port_min] [-M port_max] [-u uname[:gname]] [-n timeout_socket] [-d log_level]
Takže tieto param môžeme zadať ako EXTRA_OPS, napr. ak chceme abu RTPproxy používal len rozsah portov od 16384 do 32767:
# Additional options that are passed to the daemon. EXTRA_OPTS="-m 16384 -M 32767"
v kombinácii s IP adresou na ktorej sa počúva to vyzerá následovne:
LISTEN_ADDR=158.193.152.2 EXTRA_OPTS="-m 16384 -M 32767 -l ${LISTEN_ADDR}"
Spustenie
Ako služba
/etc/init.d/rtpproxy start Starting RTP relay:
alebo ako cmd.
Overenie či beží
ps afx | grep rtp 13615 pts/0 S+ 0:00 | \_ grep rtp 13611 ? Ssl 0:00 /usr/sbin/rtpproxy -s udp:127.0.0.1 22222 -u rtpproxy rtpproxy -p /var/run/rtpproxy/rtpproxy.pid -m 16384 -M 32767 -l 158.193.152.2