Ir al contenido principal

RTPmedia managers: rtpengine vs rtpproxy complete quick info

The idea is to permanently listen internally on the UDP port or on a local socket, controlling SIP signals messages. That is to say to control the flow of information and to where the answers are sent by means of these commands. Since these signals do not go directly to the SIP service but to the RTP NAT software, then the SIP service can tell the RTP service "give me that media stream, I know what to do" after sending it internally (to some other service) and receive an answer and then deliver it again and say "here is the flow response, send it to that device".
The SIP service can tell the RTP service "give me that stream, I know what to do" after sending it internally (to some other service) and receive an answer and then deliver it again and say "here is the flow response, send it to that device".

For each media stream, it opens two pairs of UDP ports on the public interface in the range of 20000 and 40000 commonly, depending on which rtpmedia software is being used (rtpproxy/rtpengine), a pair on odd port numbers for media data, and a pair on the next even port number for metadata, for example, RTCP in the case of RTP streams. Each endpoint communicates with a pair for both endpoints (if you use rtpproxy) or a specific pair for both endpoints (if you use rtpengine) to avoid problems in determining where to send a packet.

So we have in this article, quickly:
  1.   RTPProxy analized
  2.   RTPengine analized
  3.   Comparative table
  4.   Debian/VenenuX Downloadable packages
  5.   Conclusions 

1. RTP Proxy

RTPProxy was developed to enable VoIP SIP calls with NAT traversal also acting as an intermediary for RTP media streams. This software is the predecessor and base of both rtpengine and mediaproxy, works similar to rtpengine but more simplified and less dynamically, is the most used in light and simple deployments, its great advantage is simplicity and that it does not require major configuration changes more than if the ip publishes changes.

Simple but powerfully: It can be used in combination with a signaling element (SIP Proxy or SIP B2BUA) to build complex VoIP networks, optimize traffic flow, collect voice quality information, and so on. With more refined/complicated configuration it can perform several additional functions in RTP transmissions, including call recording, playback of pre-encrypted announcements, copying of transmissions in real time and re-framing of RTP payloads.

Simple and scalable: The RTPproxy supports remote control mode using ICE socket via UDP, allowing the construction of distributed and scalable VoIP SIP networks. The nathelper module included in the SIP Express Router (SER: OpenSIPS or Kamailio), as well as Sippy B2BUA allow the usage of multiple instances of RTPproxy running on remote machines for fault tolerance and load balancing purposes.

CONCLUSION for rptproxy: For little to medium sized environments with a single/couple of SIP/router services this is the choice, inclusively for complex setups with some tricks can be able to server in good way, also are available at Debian repositories (older version but here we offer packages at the end of the article)

2. RTP Engine

Media Relay (called rtpengine) is a software space-based packet redirector and/or routing at the operating system core, controlled by the SIP proxy. For each media stream (e.g., a voice and/or video stream), it maintains a pair of ports in the port number range of 30000 to 40000. When media streams are negotiated, rtpengine opens the ports in the user space (even if it works in the system/software space) and begins retransmitting the packets to the announced addresses (it can be back to endpoints or another internal service before delivering them to them).

Iptables NAT level: has the feature, if packets arrive from different source addresses than those announced in the SDP body of the SIP message, the source address is implicitly changed to the address from which the packets are received. Once the call has been established and the rtpengine has received media packets from both endpoints for this call, the media stream is pushed into the kernel and then handled by a custom iptables module to increase system performance and reduce media packet latency.

Kernel iptables level: this dynamic feature are provided through an iptables kernel level module with the destination space name RTPENGINE; yes! is a module that modifies iptables depending on the source and destination, making this system very dynamic, so you have to be careful: if you install additional firewall or packet filtering rules, it is imperative that this rule remains intact and stays in place. Otherwise, if the rule is removed from iptables, the kernel will not be able to forward the media packets and the forwarding will fall to the userspace service. Packets will continue to be forwarded normally, but performance will be much worse in these circumstances, which will be especially noticeable when many media streams are active at the same time.
CONCLUSION for rtpengine: Therefore using rtpengine is ideal for media controlling and streaming redirection for advanced levels also supports huge and granular configurations but it's quite complicated, each rtpengine service must be a dedicated server if there's more than one service and many iptables rules alongside those services.

3. Tabla comparativa


RTP media PAtron Devel Load Kam mod A/V streams SQL log TP reenvio version
RTPproxy Sippy Software C delay/kamailio rtpproxy limitado No software 1.2.1/2009-10-19
Rtpengine Sipwise C
+kernel
auto/interno rtpengine cualquiera Si kernel/user 2.1/2013-02-11
MediaProxy AG Projects python
+kernel
auto/interno mediaproxy cualquiera Si kernel 2.5.2/2011-09-09
erlrtpproxy Peter Lemenkov erlang delay/erlang rtpproxy limitado No no sin stable version
Adicional todos tienen:
  • Apagado gradual, que termina el servicio solo cuando todas las señales hayan finalizado
  • Grabacion de medios, aunque inestable en rtpengine y mejorado en rtpproxy
  • Soporte de ambas tipos de IP : IPv4, IPv6.
  • Soporte de socket ICE de control: limitado en rtpproxy, completo en rtpengine.

4. Packages


A) RTPProxy:

In the case of rtpproxy in official Debian there an old version, and although there is an open request: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=917456 explaining that it does not support NAT traversal with ip of advertise; but the response of debian is quite obtuse what is to be expected since many win-buntu's are the packagers now.

For those who want an updated and debianized rtpproxy correctly use from VenenuX the instructions here: https://build.opensuse.org/package/show/home:vegnuli:voip/rtpproxy and you can use it according to those instructions in Debian 7, 8 and 9. For Debian squeeze and lenny see venenux mail lists.

In Debian after install respective kamailio and rtpproxy (carefully, that repository already offers kamailio too), do that:

service rtpproxy stop
export ipext=1.2.3.4
export ipint=192.168.0.10
cat > /etc/default/rtpproxy << EOF
USER=rtpproxy
GROUP=rtpproxy
# The control socket.
# To listen on an UDP socket, uncomment this line:
CONTROL_SOCK=udp:127.0.0.1:7722
# Additional options that are passed to the daemon.
EXTRA_OPTS="-l $ipint -A $ipext -F -m 20000 -M 30000"
EOF
service rtpproxy start

By default in Debian and VenenuX the kamailio Open SIP server are configured to use rtpproxy in that default configuration.

B) RTPEngine

In the case of rtpengine has been a pain in official Debian due to its dependencies and issues with licensing and patents, are open the ITP as https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916126 but progress is slow, the original project has the structure to build packages but there is no guarantee of quality integration with Debian in upgrades and obviously are less secure.

It is being packaged in VenenuX debianized rtpengine correctly with instructions here: https://build.opensuse.org/package/show/home:vegnuli:voip/rtpengine and can be used according to those instructions in Debian 7, 8 and 9. For Debian squeeze and lenny see venenux mail lists.

In Debian after install respective kamailio and rtpengine (carefully, that repository already offers kamailio too), do that:

service rtpengine stop
apt-get install module-assistant rtpengine-kernel-source
m-a install rptengine-kernel
cat > /etc/default/rtpengine-daemon << EOF
RUN_RTPENGINE=yes 
CONFIG_FILE=/etc/rtpengine/rtpengine.conf
PIDFILE=/run/rtpengine-daemon.pid
MANAGE_IPTABLES=yes
TABLE=0 
EOF
export ipext=1.2.3.4
export ipint=192.168.0.10
cp /etc/rptengine/rptengine.sample.conf /etc/rptengine/rptengine.conf
sed "/^[# ]*interface/cinterface = internal/$ipint;external/$ipext" -i /etc/rtpengine/rtpengine.conf
service rtpengine start

No changes any occurrence in kamailio.cfg of "rtpproxy" to "rtpengine" and the control sock line must be "modparam("rtpengine", "rtpengine_sock", "udp:localhost:22222")" configured to use rtpengine in that default configuration.

5. Conclusions

If you don't want complications, sure get rtpproxy, but if you need granular and special needs prepare to be brave and try the rtpengine.. for starter needs and mediane to common clusters be firts with rtpproxy.


Comentarios

Entradas más populares de este blog

R.U.S.N.I.E.S. http://rusnies.opsu.gob.ve/

(ACTUALIZADO) la pagina fue reestablecida hay muchos cambios pero los usuarios no lo notaran, para verlos o informacion haz click aqui rusnies cambios y consejos para verlos 1) primer dia no se pudo hacer login, ni recuperando password! 2) segundo dia (mas abajo) al fin logeado! 3) para poder aunquesea ver tu planilla, pulsa aqui: planilla rusnies, soluciones algunas! 4)y aqui: tercer dia, algunos detalles arreglado, pero... todos los defectos son algo raros! -si no puedes entrar lee mas abajo, se explica porque y como acceder a tu cuenta en el R.U.N.E.S. -ojo quiero aclarar que un monton de inutiles no ingresaban bien la direccion y por ello no llegaban a ver nunca la pagina! porque ponian la "gov" en vez de "gob" ya que el pedazo de periodico no sabe escribir! 1) Primer dia del R.U.N.I.E.S. : (powered by apache+php+debian, pero estupidizado por los TSU y ingenieros informaticos graduados, que creen saber de programacion!) Cuan triste es ver m...

planilla de rusnies, algunas soluciones! principalmente para los que ya la hicieron!

(ACTUALIZADO) LEER PRIMERO ANTES DE COMENTAR POR FAVOR! la pagina del rusnies ya esta activa hay muchos cambios que los usuarios no notaran perro estan listados, para verlos haz clik aqui rusnies cambios un tip para los que ya la generaron! si conoces la URL de tu planilla (termina en letras mayusculas) puedes ingresarla directamente y obtendras la planilla! Los que tenga el gran Konqueror podran guardarla como si fuese un archivo cualquiera! el resto se les empotrara en los navegadores! pudiendo imprimirla pero no guardarla! esto se puede porque creo la peticion se hace directamente al php y este genera el postscript de la planilla! para los que no han generado su planilla pueden usar la chache de google y listo, como! hagan una busqueda del google para rusnies! pero no le den click al link, en la misma entrada esta unas letricas que dicen "en cache", si dan click ally podran entrar (funciona en la mayoria de los casos) Lo de la cahce sirve mas de noche, de di...

rusnies actualizada, nuevo php y apache actualizado!

AL parecer los ineptos tardaron mas de 5 dias normalizando una actualizacion de apache y php, aparte de ajustar configuraciones para evitar DOS y cuellos de botellas! ANALISIS PROFUNDO, algunos consejos Y ESPECTATIVAS POSITIVAS: Me complace felicitar a los "tecnicos" encargados ya que lograron reestablecer la normalidad en la web! (hasta ahora)! pero.... LAstimosamente las personas que hayan hecho la planilla deberan realizarla de nuevo CUIDADOSAMENTE,porque ineptamente los datos anteriores ahora no coordinaran! (eso era obvio de esperar!) debido a las actualizaciones que hicieron en los codigos fuentes relacionadas con la DB y los datos actuales! (los cuales estaban bien viejitos) LASTIMOSAMENTE TAMBIEN.. los datos se generan mal, deben tener cuidado y no imprimir a la ligera aunque esta informacion esta de mas pues cualquier persona con 4 dedos de frente revisa dos veces un evento tan importante como dicho registro! PARA LOS PROGRAMADORES les recomiendo lean el fina...

Venezuela Real : cuidado con basura mediatica

El miundo entero esta lleno de gente "pila", "avispada", en pocas palabras gente que solo vive de aprovechar oportunidades, llamandole a esta actividad burda "trabajo"! y venezuela desgraciadamente no es la excepcion, pue que en cualquier pais hay gente asi! Buscando informacion del sistema de educacion superior llege a una pagina estilo periodico (poco original, hacer de las entradas de un blog, un "multiperiodico") El blog es puro criticar, leyendo las primeras lineas hay objetividad, pero los articulos intentan demostrar desde un "falso punto neutral" oposicionismo, pero ninguna solucion.. Es facil criticar, dificil es mejorar... aprende a ser gente, no chismosa! Los gerentes y "profesionales" en el mundo entero es lo que hacer, criticar y culpar, esperando que les solucionen los problemas, justo como el marco usuario-guindo, donde el usuario estupidamente espera que un "flamante" encorbatado, le solucione la ...

Debian vs Devuan - the complete guide to choose

Devuan project aims to made a complete Linux distribution, but the fact its that tracks 90% of the Debian work. This article are up to date to Aug 2021 with release of bullseye. Debian its the mother of most famous distros, including Devuan! But must be considering that Devuan are now more faster but more. so lest see some important thing respect the recently "/usr merge" and "systemd home invassion" incoming things in future: We have two parts, overall differences, and more deep technical differences, recommended for those that will be used more than only to see movies or browse the internet! Before read the complete article , i currently used Devuan as main system, but please take in consideration that almost all notes seems negative; why? well Devuan are more efficient rather than Debian .. but if we take the overall user vision.. Devuan will fail as complete solution .

iso linux debian venenux tools

VNZ CD EMU tools suite now for i386(sarge-etch-lenny) and amd64(etch-lenny) ahora para i386(sarge-etch-lenny) y amd64(etch-lenny) For one reason or another, you may have image files laying around that you would like to access under Linux. Here are some nifty utilities to convert those pesky 'GUINdows' images into something Linux can understand (standard .iso format). Por una razon u otra, tu puedes tener que quisieras acceder en linux, Estas son algunas utilidades para convertir estas pestilentes 'GUINdows' imagenes en algo que linux pueda entender (imagen iso estandar) archivos imagenes Don't expect error correction codes and the like to be preserved, just the data... Generally speaking, these types of things are pretty irrelevant on linux to begin with. If you legally backed up some software of yours and made a 1:1 image of it under Windows, more than likely, your resulting ISO from the programs below will not contain this copy protection data. For o...

lista de chavista para aporrealos busquense aqui

NOTA : este no es un sitio escualido ! favor los chavistas leer primero, la estupidez agrava la situacion de chavez! la idea es ver lo que los escualidos hacen.... para restringir los chavistas n la red. lista fanatica de el sitio que restringe los mail y ip con tendencia chavista, segun ellos, este servicio es un favor publicado para aporrealos.. gracias sr PICCORO http://www.noolvidaremos.com/emailschavistas.html Lista de emails de chavistas actualizado 2008-Enero-15. No se han agregado mas emails solo se ha reformateado la lista para que sea mas agradable a la vista. Actualmente tenemos listas de otras comunidades, estamos esperando recaudar mas informacion para integrarlas todas. 7518521@hotmail.com a_paries@hotmail.com aangel497@gmail.com aantonio27@yahoo.com aarismendi14@hotmail.com abdallahdlp@hotpop.com abrilinsondable@gmail.com acjdoc14@hotmail.com acosta.ali@hotmail.com adelaca3101@gmail.com administrystaff@hotmail.com adolfogil2021@hotmail.com adritacjm@yahoo.es a...

Silverhawks+Thndercats : por que nos gusto a pesar de tener cosas ilogicas y mongolicas? E IBAN ESTAR JUNTOS!!!

Recientemente se realizo el Wondercon que ahora le dicen ThunderCon pero eso lo digo al final, esto es mas importante (para llorar) porque los nuevos thundercats son una cagada, no se emocionen el argumento es peor!! Pero hay mas los nuevos silverhawks (en preproduccion) es una basura!!!  De todas manera los viejos no eran la gran vaina, aqui explico porque: jejej les voy hacer recorda tiempos atras, si asi de malo soy, pero entre "tundelcats" y "j-alcones galacticos" despues de años analizo la "vaina" y me doy cuenta que quitando ciertos detalles el producto animado de los cuales cito son ESTUPIDOS! Eso no es nada, estas dos producciones iban estar juntas en un dia proximo (que llego tarde) vean esta foto del promo: Pero la pregunta es : ¿Porque gusto? La respuesta es simple: ciertos secuencias de animacion y la apariencia de los personajes. Antes de escribir de manera tecnica el porque le dejo este mensage a los tres que seguro les dara un inf...

Javascript: forms sin/without submit

Javascript : enviar formulario sin boton submit / form without submit button This code is a formulary, but submit button are a simple link!. Can be used better designed websites. Este codigo es un formulario, pero el boton submit es un link simple. Puede ser usado para mejorar el diseno. <FORM NAME="myForm" METHOD='GET'> input <INPUT TYPE="text" NAME="parameter1" VALUE='value1' SIZE=20> <BR> <P onClick="javascript:document.myForm.submit();" style='cursor:hand;' >click aqui</P> and sent whitout button submit.. </FORM> the trick is that the mouse event "onclick" defines at click release the execution of submit event document, adicionaly, the style is definet as "cursor:hand" for better multibrowser support that the "onmouseover" event, but this last is better for old browsers. El truco es...

Popular

R.U.S.N.I.E.S. http://rusnies.opsu.gob.ve/

(ACTUALIZADO) la pagina fue reestablecida hay muchos cambios pero los usuarios no lo notaran, para verlos o informacion haz click aqui rusnies cambios y consejos para verlos 1) primer dia no se pudo hacer login, ni recuperando password! 2) segundo dia (mas abajo) al fin logeado! 3) para poder aunquesea ver tu planilla, pulsa aqui: planilla rusnies, soluciones algunas! 4)y aqui: tercer dia, algunos detalles arreglado, pero... todos los defectos son algo raros! -si no puedes entrar lee mas abajo, se explica porque y como acceder a tu cuenta en el R.U.N.E.S. -ojo quiero aclarar que un monton de inutiles no ingresaban bien la direccion y por ello no llegaban a ver nunca la pagina! porque ponian la "gov" en vez de "gob" ya que el pedazo de periodico no sabe escribir! 1) Primer dia del R.U.N.I.E.S. : (powered by apache+php+debian, pero estupidizado por los TSU y ingenieros informaticos graduados, que creen saber de programacion!) Cuan triste es ver m...

planilla de rusnies, algunas soluciones! principalmente para los que ya la hicieron!

(ACTUALIZADO) LEER PRIMERO ANTES DE COMENTAR POR FAVOR! la pagina del rusnies ya esta activa hay muchos cambios que los usuarios no notaran perro estan listados, para verlos haz clik aqui rusnies cambios un tip para los que ya la generaron! si conoces la URL de tu planilla (termina en letras mayusculas) puedes ingresarla directamente y obtendras la planilla! Los que tenga el gran Konqueror podran guardarla como si fuese un archivo cualquiera! el resto se les empotrara en los navegadores! pudiendo imprimirla pero no guardarla! esto se puede porque creo la peticion se hace directamente al php y este genera el postscript de la planilla! para los que no han generado su planilla pueden usar la chache de google y listo, como! hagan una busqueda del google para rusnies! pero no le den click al link, en la misma entrada esta unas letricas que dicen "en cache", si dan click ally podran entrar (funciona en la mayoria de los casos) Lo de la cahce sirve mas de noche, de di...

rusnies actualizada, nuevo php y apache actualizado!

AL parecer los ineptos tardaron mas de 5 dias normalizando una actualizacion de apache y php, aparte de ajustar configuraciones para evitar DOS y cuellos de botellas! ANALISIS PROFUNDO, algunos consejos Y ESPECTATIVAS POSITIVAS: Me complace felicitar a los "tecnicos" encargados ya que lograron reestablecer la normalidad en la web! (hasta ahora)! pero.... LAstimosamente las personas que hayan hecho la planilla deberan realizarla de nuevo CUIDADOSAMENTE,porque ineptamente los datos anteriores ahora no coordinaran! (eso era obvio de esperar!) debido a las actualizaciones que hicieron en los codigos fuentes relacionadas con la DB y los datos actuales! (los cuales estaban bien viejitos) LASTIMOSAMENTE TAMBIEN.. los datos se generan mal, deben tener cuidado y no imprimir a la ligera aunque esta informacion esta de mas pues cualquier persona con 4 dedos de frente revisa dos veces un evento tan importante como dicho registro! PARA LOS PROGRAMADORES les recomiendo lean el fina...

Venezuela Real : cuidado con basura mediatica

El miundo entero esta lleno de gente "pila", "avispada", en pocas palabras gente que solo vive de aprovechar oportunidades, llamandole a esta actividad burda "trabajo"! y venezuela desgraciadamente no es la excepcion, pue que en cualquier pais hay gente asi! Buscando informacion del sistema de educacion superior llege a una pagina estilo periodico (poco original, hacer de las entradas de un blog, un "multiperiodico") El blog es puro criticar, leyendo las primeras lineas hay objetividad, pero los articulos intentan demostrar desde un "falso punto neutral" oposicionismo, pero ninguna solucion.. Es facil criticar, dificil es mejorar... aprende a ser gente, no chismosa! Los gerentes y "profesionales" en el mundo entero es lo que hacer, criticar y culpar, esperando que les solucionen los problemas, justo como el marco usuario-guindo, donde el usuario estupidamente espera que un "flamante" encorbatado, le solucione la ...

Debian vs Devuan - the complete guide to choose

Devuan project aims to made a complete Linux distribution, but the fact its that tracks 90% of the Debian work. This article are up to date to Aug 2021 with release of bullseye. Debian its the mother of most famous distros, including Devuan! But must be considering that Devuan are now more faster but more. so lest see some important thing respect the recently "/usr merge" and "systemd home invassion" incoming things in future: We have two parts, overall differences, and more deep technical differences, recommended for those that will be used more than only to see movies or browse the internet! Before read the complete article , i currently used Devuan as main system, but please take in consideration that almost all notes seems negative; why? well Devuan are more efficient rather than Debian .. but if we take the overall user vision.. Devuan will fail as complete solution .