MediaProxy is an Open Source far-end NAT traversal solution for OpenSER. By using Traversal Using Relay NAT protocol (TURN), MediaProxy behaves as a media relay allowing audio and video traffic (RTP streams) to bypass broadband routers without setting up devices at customer premises.
NAT (Network Address Translation) is a technology used for broadband connections like ADSL or cable which allows multiple computers to share one connection for accessing the Internet. The disadvantage is that Peer to Peer applications (like VoIP) do not work behind NAT without complex settings which are most of the time out of reach for the end-users.
The current best practices for standards-based NAT traversal are based on J. Rosenberg's Interactive Connectivity Establishment (ICE), a methodology for NAT traversal for Multimedia Session Establishment Protocols like SIP. The ICE approach utilizes existing protocols like STUN and TURN.
As any many other techniques, TURN has disadvantages. One that stands out is that the media traffic must pass central points on public Internet visible from all sides participating in the SIP sessions. AG Projects compensated this drawback by designing an architecture with no single-point of failure, addressing privacy requirements of end-users and providing 100% reliable accounting that cannot be achieved by SIP stateful proxies alone.
MediaProxy employs a revolutionary concept that allows selection of the NAT traversal location by using DNS SRV records and priorities/weights.
This architecture eliminates any single-point of failure for RTP media, ensures scalability and load balancing. Load is distributed between all servers at a given priority using their weight value. If some of them are not responding, the other servers with the same priority will take their traffic share, redistributing the load balancing among them according to their own priorities. Example given:
_mediaproxy._tcp.ag-projects.com. IN SRV 10 6 25010 nat7.dns-hosting.info. _mediaproxy._tcp.ag-projects.com. IN SRV 10 4 25010 nat8.dns-hosting.info. _mediaproxy._tcp.ag-projects.com. IN SRV 20 0 25010 nat9.dns-hosting.info.
In this example, the load is shared 40% to server nat7 and 60% to nat8. nat 9 is used for redundancy when neither server with priority 10 are available.
- Geographical distribution
- Load balancing and redundancy
- Media sessions monitor
- Radius accounting
- Easy configuration
- Support for audio and video
MediaProxy is an Open Source project. You may use the software free of charge under the GNU license. Under commercial license, AG Projects delivers NAT traversal solutions with geographical distribution, multiple streams support, accounting of media information in combination with CDRTool that can be used to perform billing reports based on application type and network traffic.
Read more at http://mediaproxy.ag-projects.com