Home

Awesome

RTPProxy CI Coverage Status Coverity

About

The RTPproxy is a extremely reliable and reasonably high-performance software proxy for RTP streams that can work together with OpenSIPS, Kamailio or Sippy B2BUA.

Originally created for handling NAT scenarios, back in 2004-2005, it can also act as a generic real time datagram relay as well as gateway Real-Time Protocol (RTP) sessions between IPv4 and IPv6 networks.

The RTPproxy supports many advanced features and is controllable over multitude of Layer 4 protocols, including Unix Domain, UDP, UDPv6, TCP and TCPv6.

The software allows building scalable distributed SIP networks. The rtpproxy module included into the OpenSIPS or Kamailio SIP Proxy software allows using multiple RTPproxy instances running on remote machines for fault-tolerance and load-balancing purposes.

Advanced high-capacity clustering and load balancing is available through the use of RTP Cluster middleware.

The software also supports MOH/pre-recorded media injection, video relaying and session recording to a local file or remote UDP listener(s). As well as makes available array of real-time or near real-time session counters, both per-session and per-instance.

Since version 3.1.0, full set of extensions is available allowing to create a WebRTC-compatible endpoints.

News

How it works

This proxy works as follows:

Building from github

$ git clone -b master https://github.com/sippy/rtpproxy.git
$ git -C rtpproxy submodule update --init --recursive
$ cd rtpproxy
$ ./configure
$ make

Authors and Contributors

The RTPproxy has been designed by Maxim Sobolev and now is being actively maintained by the Sippy Software, Inc. With the great help of numerous community contributors, both private and institutional. Not to mention army of robots gracefully dispatched at need by CI.

The original idea has inspired and directly influenced multitude of independent implementations, including but not limited to the Mediaproxy, erlrtpproxy, and most recently RTP Engine, each project focusing on its own area of the vast functionality space.

Documentation and References

Feedback & Support

Open a ticket on the github issue tracker, or post a message on the mailing list