Open Source VOIP applications, both clients and servers
VoIP is not just one protocol, but a protocol system designed for audio-visual communication over IP networks. This article will be a brief note on the most popular open source VOIP applications, both clients and servers.
Today’s selection includes:
- SIP Proxies
- SIP Clients (UA’s)
- PBX platforms
- IVR platforms
Kamailio SIP proxy
Kamailio, formerly OpenSER (and sharing some common history with SIP Express Router (SER)), is a SIP server licensed under the GNU General Public License. It can be configured to act as a SIP registrar, proxy or redirect server, and features presence support, RADIUS / syslog accounting and authorization, XML-RPC and JSON-RPC-based remote control, SQL and NoSQL backends, IMS / VoLTE extensions and others.
In the work of a sysadmin engaged in the implementation of telephony systems based on Asterisk, sooner or later may be a situation where the hardware capabilities of one server to handle all calls are no longer enough. Accordingly, it is necessary to divide the load into several servers. One way to solve this problem is to use SIP proxy, but it should be admitted that unlike Asterisk, information on SIP proxy, forums, examples and descriptions are at least an order of magnitude smaller. The purpose of this article is to show by a simple example the possibility of using Kamailio SIP proxy in conjunction with Asterisk in such a way as to make it easier for beginners to learn SIP proxy.
Let’s assume that the organization already has Asterisk installed and that employees are handling a large number of incoming calls that the server is no longer able to handle. We would add another Asterisk server (more precisely, clone an existing one) and the SIP proxy would take over the role of an “incoming call distributor”.
By pure chance, I found a small utility implementing siproxd. This program is available in the Debian and Ubuntu repository.
How does the setting look on the Cisco 7912g (settings for other phones are likely to be similar):
- OutBoundProxy: server address with siproxd
- Proxy: ISP sip server address
- UID: Your UID is from a sip provider.
- PWD: Your password
If you write a server address with siproxd to Proxy, you can make calls between the phones connected to this server. Pretty handy thing.
What are the advantages of this approach:
- There is no need to start and set up a full PBX.
- It’s pretty easy to set up
- Proxy supports authorization, so you can make a small proxy server inside the organization with the ability to make calls between phones on a short number.
- You can use the hardware sip phones for NAT (software mainly works fine, thanks to STUN and other technologies).
MicroSIP can work with or without a VoIP provider account / SIP server (SIP direct). MicroSIP is minimized to tray when closed. Right-click the tray icon to view the application status and settings. MicroSIP does not require any preset codecs, all codecs are already enabled.
Zoiper – a free client for IP-telephony, differs from analogues by simplicity of installation and laconicity in settings. Provides support for SIP, IAX and XMPP protocols.
The availability of versions for mobile devices and cross-platform made it a universal softphone.
Uninterrupted communication and high-quality sound transmission, with short-term loss of communication, receiving faxes and creating a large number of accounts, favorably distinguishes it from its counterparts. To use this application we reccomend you to get a virtual number from Hottelecom.
Blink has a rather nice simple interface, although I could not find a usual dialer here. Also integration with Bonjour service can be convenient for Mac OS X users.
The client’s settings seemed a little overloaded, although someone would consider this a plus, giving the user more freedom in personal settings and configuration flexibility.
Softphone supports only the SIP-protocol, but enjoys such nice additional features as the ability to share with the interlocutor his desktop or send him a file.
The application continues to be actively developed and its latest version was released just a month ago.
The main application window looks nice and stylish, but frustrating by the presence of advertising in the free version.
The client provides the ability to configure all the parameters that are standard for SIP softphone:
On the first impression nothing particularly remarkable X-lite stands out, except for its ergonomics and ease of use. The free version of the application performs its functions properly and stably. The paid version, among other additional features offers support for the protocol XMPP. Also can not but be pleased with the availability of versions for mobile platforms.
The client is actively developing, in the paid version there is an opportunity to get additional technical support from developers.
When you need custom solutions for your business
When your next project requires something special, something unique that off-the-shelf software can’t provide, many businesses turn to a custom software development company. Vilmate software developers can take your goals and requirements and create a custom application that meets them.
Asterisk an open-source framework for building communications applications. It runs on Linux, BSD and OS X and allows you to build a PBX given sufficient Linux and telephony know-how. Asterisk does voice over IP in four protocols and can interoperate with almost all standards-based telephony equipment using relatively inexpensive hardware.
Asterisk provides Voicemail services with Directory, Call Conferencing, Interactive Voice Response, Call Queuing. It has support for three-way calling, caller ID services, ADSI, IAX, SIP, H.323 (as both client and gateway), MGCP (call manager only) and SCCP/Skinny. Check the Features section for a more complete list.
Asterisk needs no additional hardware for Voice-over-IP, although it does expect a non-standard driver that implements dummy hardware as a non-portable timing mechanism (for certain applications such as conferencing). A single (or multiple) VOIP provider(s) can be used for outgoing and/or incoming calls (outgoing and incoming calls can be handled through entirely different VOIP and/or telco providers)
Lastly, standalone devices are available to do a wide range of tasks including providing fxo and fxs ports that simply plug into the LAN and register to Asterisk as an available device. If you are looking for a ready to go solution for Windows or Linux, 3CX offers a highly-regarded product.
OpenPBX by Voicetronix
OpenPBX a full function, web enabled PBX application, suitable for small office installations and can scale to large call centres. Features include a web based user and management GUI, unlimited Voicemail, Hierarchical Auto-Attendant, Automatic Call Distribution ACD, Least Call Routing (LCR), Music on Hold (MOH), Call Display Records (CDR), unlimited huntgroups, call transfer, call parking, call baring. It has the ability to offer 3 way call conferencing and by leveraging the power of the desktop it offers voice to email, click to dial and transfer of calls.
Supported platforms and hardware
Voicetronix’s OpenPBX is Open Source and is entirely written in Perl. It runs on Linux and interacts with a range of multi-port analogue FXO, FXS and digital (Primary Rate) line interface PCI cards via CT Server, a Perl based client/server library supporting Voicetronix hardware.
Yate is a softswitch with PBX features, which can be disabled. Due to fact that is very flexibile, it can be integrated with other services like Web. It runs under Linux, BSD and Windows.
Yate can be used for almost any telephony application from full mobile networks to VoIP networks or PBXs.
The maturity of the product comes from a recognized design, organic team and good testing practices, all developed over more than 10 years.
When the Business Needs To Grow
To ensure the scalability, performance, and sustainability of your entire software infrastructure as your business grows, you may need to upgrade existing software or develop a new solution. Custom software provides accommodating to any changes expected within business growth, which means it is designed with scalability in mind and reduction of overhead.
CodeIT provides custom software development services that will address your specific business needs: it is designed to facilitate business processes and build workflows of any length easily.
Bayonne is the telephony server of the GNU Telephony project. It offers a free open-source, scalable, media-independent software environment for the custom development and deployment of computer telephony solutions for use with current and next-generation telephone networks.
the strengths of Bayonne:
- Runs on Dialogic, Pika and other widely available hardware
- extremely reliable
and here are the weaknesses:
- nowhere near as active of a support community as Asterisk has
- configuration of the hardware/drivers is a nightmare compared to Asterisk/Digium
- it is quite limited in it’s included apps, IVR and voicemail
- not as many options for scripting as Asterisk
- it was not designed to have full PBX functionality, some PBX functionality is added as an afterthought
- the code/organization/flow is not as well thought out or documented as Asterisk is
VOCP is a complete messaging solution for voice modems, with voicemail, fax, email pager, DTMF command shell and Text-to-Speech support, 3 GUIs and a web interface. Send and receive faxes and voicemail, listen to emails and execute programs on the host.
VOCP System is a free software application from the Other subcategory, part of the Communications category. The app is currently available in English and it was last updated on 2003-02-06. The program can be installed on All BSD Platforms (FreeBSD/NetBSD/OpenBSD/Apple Mac OS X) All POSIX (Linux/BSD/UNIX-like OSes) Linux.
Elastix is an appliance software that integrates the best tools available for Asterisk-based PBXs into a single, easy-to-use interface. It also adds its own set of utilities and allows for the creation of third-party modules to make it the best software package available for open source telephony.
The goals of Elastix are reliability, modularity and ease-of-use. These characteristics added to the strong reporting capabilities make it the best choice for implementing an Asterisk-based PBX.
Elastix has multiple features and functionalities related with all the services available: IP Telephony, Mail Server, Fax Server, Conferences, Instant Messaging Server, among others. New features, functionalities and Services are added at the development of new versions.