SIP stands for Session Initiation Protocol, which is a singling protocol for initiating, maintaining, and terminating communication sessions that include voice, video, and messaging applications.
SIP clients is an internet telephony software, that allows you to make voice and video calls over the internet using VoIP. Android provides an API that supports the Session Initiation Protocol (SIP). This lets you add SIP-based internet telephony features to your applications.
What is the difference between SIP and VoIP?
VoIP, or Voice over Internet Protocol, is a technologies that enables voice to be sent over the Internet, like Skype, and many other services. On the other hand, SIP (Session Initiation Protocol), is a protocol that can be used to set up and take down VoIP calls, and can also be used to send multimedia messages over the Internet using PCs and mobile devices.
Open source SIP servers
SIP server is an essential tool that facilitates internet-based telephony. It connects your company's IP PBX to an internet telephony service provider (ITSP).
SIP open source servers allows you to create your own server with a low cost, unlike many commercial alternatives.
Here is our list:
OpenSIPS is a free open source SIP proxy/ server that supports voice, video, IM, presence, and other SIP extensions.
OpenSIPS team offers a LTS support for latest stable release, and it is available for Linux servers (Ubuntu, Debian, Fedora, openSUSE, RedHat, and CentOS).
It is a multi-functional, multipurpose signaling SIP server used by carriers, telecoms or ITSPs for solutions like Class4/5 Residential Platforms, Trunking / Wholesale, Enterprise / Virtual PBX Solutions. Its features also include Session Border Controllers, Application Servers, Front-End Load Balancers, IMS Platforms, Call Centers, and many others features.
OpenSIPS has to offer many important and interesting features. To mention some of the most important ones:
- SIP registrar server
- SIP router / proxy (lcr, dynamic routing, dialplan features)
- SIP redirect server
- SIP presence agent
- SIP back-to-back User Agent
- SIP IM server (chat and end-2-end IM)
- SIP to SMS gateway (bidirectional)
- SIP to XMPP gateway for presence and IM (bidirectional)
- SIP load-balancer or dispatcher
- SIP front end for gateways/asterisk
- SIP NAT traversal unit
- SIP application server
Kamailio® (successor of former OpenSER and SER) is an Open Source SIP Server released under GPLv2+, able to handle thousands of call setups per second. It is a popular choice for many companies to handle large SIP and VoIP communication.
Kamailio can be used to build large platforms for VoIP and real-time communications – presence, WebRTC, Instant messaging and other applications. Moreover, it can be easily used for scaling up SIP-to-PSTN gateways, PBX systems or media servers like Asterisk™, FreeSWITCH™ or SEMS.
The Kamailio SIP server is designed for scalability, targeting large deployments (e.g. for IP telephony operators or carriers, which have a large subscriber base or route a big volume of calls). However, it can also be used in enterprises or for personal needs to provide VoIP, Instant Messaging and Presence.
Kamailio project has a rich documentation that includes a long instruction set on how to install, configure, integrate, and use.
The development was started back in 2001 by Fraunhofer Fokus, a research institute in Berlin, Germany.
Kamailio can be installed on Debian, Ubuntu servers, which are officially supported by the development team. It can also be installed on any server using Docker and Ansible.
Kamailio is released under the GPLv2 License.
Drachtio is a SIP server for developers that help them to build SIP apps simply as building web apps. It has a core framework which called Drachtio Signaling Resource framework (drachtio-srf), the Node.js framework for SIP Server applications.
Drachtio is released under the MIT License.
It would be unfair to finish this post without talking about Asterisk, which is a complete-integrated solution for for internet-based telephony. It offers a LTS (Long Term Support) stable edition, that is easy to install and configure.
5- Sip Server
Sip Server is a simple SIP server (proxy) for handling VoIP calls based on SIP using C++ on Windows & Linux platforms.
LibreSBC is an open-source Session Border Controller to provide robust security, simplified interoperability, advanced session management, high performance, scale of carrier-grade and reliability for voice over IP (VoIP) infrastructures.
LibreSBC designed to typically deployed at the network edge, the demarcation points (borders) among networks/environments.
SIPp is a free Open Source test tool / traffic generator for the SIP protocol. It includes a few basic SipStone user agent scenarios (UAC and UAS) and establishes and releases multiple calls with the INVITE and BYE methods. It can also read custom XML scenario files describing from very simple to complex call flows.
It features the dynamic display of statistics about running tests (call rate, round trip delay, and message statistics), periodic CSV statistics dumps, TCP and UDP over multiple sockets or multiplexed with retransmission management and dynamically adjustable call rates.
Other advanced features include support of IPv6, TLS, SCTP, SIP authentication, conditional scenarios, UDP retransmissions, error robustness (call timeout, protocol defense), call specific variable. Moreover, it supports Posix regular expression to extract and re-inject any protocol fields, custom actions (log, system command exec, call stop) on message receive, field injection from external CSV file to emulate live users.
SIPp can also send media (RTP) traffic through RTP echo and RTP / pcap replay. Media can be audio or video.
Hermes is a modern SIP server framework for building real-time SIP apps. Hermes will substitute old legacy SipServlet. It is based on reactive manifesto.
Hermes is meant for Java developers, and it is a FLOSS (Free Libre Open Source Software) under the GNU Lesser General Public License.
If you know of any other open source SIP server that we missed, let us know.