10 Open Source VoIP servers and proxies
A SIP proxy/registrar is an essential part of a VoIP network. Today I will focus on all Open Source available solutions for deploying SIP proxies. Some proxies are useful for beating NAT by rewriting IP addresses in SIP messages, some proxies are useful as security tools and some of them act as registrar proxies which are the most important part of a VoIP network.
There are many types of SIP proxies. Transaction stateful proxies keep track of transaction state machines, transaction stateless proxies create no transaction state when forwarding a request. B2BUA (back-to-back user agent), a back-to-back user agent inserts itself actively in SIP calls. It splits a call in two legs and presents itself as callee to the caller and as caller to the callee. SIP proxies act as registrar when they allow users to log-in and they keep track of them. A registrar is a server that accepts REGISTER requests and places the information it receives in those requests into the location service for the domain it handles. A redirect server is a user agent server that generates 3xx responses to requests it receives, directing the client to contact an alternate set of URIs.The redirect server allows SIP Proxy Servers to direct SIP session invitations to external domains.
Let's see some of them. Notice that most of them there are not only SIP proxies but they can act also as PBX, PSTN gateways or media servers.
Asterisk is software that turns an ordinary computer into a voice communications server. Asterisk powers IP PBX systems, VoIP gateways, conference servers and more. It is used by small businesses, large businesses, call centers, carriers and governments worldwide. Asterisk is free and open source. Asterisk is sponsored by Digium. It can be used as registrar.
OpenSIPS (Open SIP Server) is a mature Open Source implementation of a SIP server. OpenSIPS is more than a SIP proxy/router as it includes application-level functionalities. OpenSIPS, as a SIP server, is the core component of any SIP-based VoIP solution. With a very flexible and customizable routing engine, OpenSIPS 'unifies voice, video, IM and presence services in a highly efficient way, thanks to its scalable (modular) design.
What OpenSIPS has to offer, comes in a reliable and high-performance flavour - OpenSIPS is one of the fastest SIP servers, with a throughput that confirms it as a solution up to enterprise or carrier-grade class.
Cross-platform SIP proxy/registrar/redirect, written in java, based on MjSip stack. MjSip is a complete java-based implementation of a SIP stack.
It provides in the same time the API and implementation bound together into the MjSip packages. MjSip is available open source under the terms of the GNU GPL license (General Public Licence) as published by the Free Software Foundation. It can be used as Registrar, Redirect, Stateless Proxy or Stateful Proxy.
SIP Proxy server which allows using multiple SIP accounts with a single SIP login. A SIP signalling consolidation tool that allows multi-user management of diverse SIP providers and allows central management of any SIP based VoIP service. Included in this project are a SIP Stack, SIP Registrar, SIP Registration UAC, SIP Stateful Proxy, STUN Server and more. The components are all written in C#.
This project is currently being used to provide the live service at http://www.mysipswitch.com
They have a forum to discuss the service, the technical issues, feature requests.
My SIPSwitch enables you to take advantage of 5, 10 or 20 different SIP Providers anywhere in the World. This will allow you to tailor fit a VoIP service to meet your needs from several different providers, thus guaranteeing you the best call rates possible.
MPL licensed SIP proxy/registrar/B2BUA with NAT traversal and ENUM.
OpenSBC is an open source (MPL License) Session Border Controller and B2BUA.
- NAT traversal
Open SBC has been under development and in use for 7 years in high volume applications.
Commercial support is available from the original developers.
Kamailio is an Open Source SIP Server released under GPL, able to handle thousands of call setups per second. Among features: asynchronous TCP, UDP and SCTP, secure communication via TLS for VoIP (voice, video), SIMPLE instant messaging and pressence, ENUM, least cost routing, load balancing, routing fail-over, accounting, authentication and authorization against MySQL, Postgres, Oracle, Radius, LDAP, XMLRPC control interface, SNMP monitoring. It can be used to build large VoIP servicing platforms or to scale up SIP-to-PSTN gateways, PBX systems or media servers like Asterisk™, FreeSWITCH™ or SEMS. The application is written in C for Linux/Unix platforms and focuses on performance, flexibility and security. In addition to C, extensions can be written in Lua, Perl or Python.
Partysip is an implementation of a SIP proxy server. SIP stands for the Session Initiation Protocol and is described by the rfc2543 (soon to be deprecated by latest revisions). SIP is an open standard replacement from IETF for H323.
Partysip is a modular application where some capabilities are added and removed through plugins. The program comes with several GPL plugins. At this step, partysip and its plugins could be used as a 'SIP registrar', a 'SIP redirect server' and a 'SIP stateful proxy server'. (stateless capabilities have been removed)
SIP and RTP Proxy. Siproxd is a proxy/masquerading daemon for the SIP protocol. It handles registrations of SIP clients on a private IP network and performs rewriting of the SIP message bodies to make SIP connections work via a masquerading firewall (NAT). It allows SIP software clients (like kphone, linphone) or SIP hardware clients (Voice over IP phones which are SIP-compatible, such as those from Cisco, Grandstream or Snom) to work behind an IP masquerading firewall or NAT router.
SIP (Session Initiation Protocol, RFC3261) is the protocol of choice for most VoIP (Voice over IP) phones to initiate communication. By itself, SIP does not work via masquerading firewalls as the transferred data contains IP addresses and port numbers. There do exist other solutions to traverse NAT existing (like STUN, or SIP aware NAT routers), but such a solutions has its disadvantages or may not be applied to a given situation. Siproxd does not aim to be a replacement for these solutions, however in some situations siproxd may bring advantages.
Complete, native SIP PBX solution from SIPfoundry. The sipXecs IP PBX is the leading open source IP PBX. It excels in terms of scalability, robustness and ease of use. The sipXecs IP PBX has been successfully deployed in lots of of places. The largest known installation serves more than 6,000 users connected to one redundant (HA) system. Small installations go all the way down to a few users served by very low cost hardware. sipXecs is a very sophisticated VoIP unified communications system. Thanks to its powerful Web based management system it is so incredibly easy to use, which is probably its single most important accomplishment.
With SIP Proxy you will have the opportunity to eavesdrop and manipulate SIP traffic. Furthermore, predefined security test cases can be executed to find weak spots in VoIP devices. Security analysts can add and execute custom test cases.