For quite some time many developers in the FOSS community tried to create a completely free and open source self-hosted alternative to Skype / Zoom. However, only two applications got close to reaching this goal: Jitsi and BigBlueButton. Unfortunately both of them started on the wrong foot: both use Java as the main language for their backend. For real-time audio/video communication
Java is not the best choice. A language that is much closer to the machine, like C or C++, would be required. It’s not by chance that Asterisk was developed in C.
Since Asterisk can be used for WebRTC audio/video calls, and nobody developed a completely FOSS self-hosted application (written using sound programming languages) on top of Asterisk,
to replicate the main functionalities of Skype / Zoom, we thought to develop our own project. Fortunately, Conrad de Wet published an almost complete front-end for such an application (without
video conferencing), called “Browser Phone” and published under GNU LGPL v3.0. Also, Digium Inc. published “Cyber Mega Phone 2k” under the MIT License, a few years ago, to exemplify the video conferencing capabilities of Asterisk. We thank them for their amazing work and for publishing their software under licenses that encourage collaboration and promote user freedom. Starting from the two mentioned programs we managed to develop a complete application called Roundpin and published it under GNU GPL v3.0 .
Roundpin is a fully featured browser phone that connects to an Asterisk server and implements audio/video calls, text messaging and video conferencing by using SIP over WebSocket and WebRTC.
Roundpin allows you to have text, audio and video conversations with other extensions configured on the same Asterisk server and to make and receive audio phone calls to/from any phone number in the world, provided that you have a SIP account with an attached real phone number, from one of the well known providers. In the installation instructions mentioned on Roundpin’s web page we describe in detail how to configure Asterisk to connect it to a Telnyx or Localphone account. However, any SIP provider that allows external Asterisk servers to connect to their servers, should work.
- SIP audio calling
- SIP video calling
- SIP video conferences with unlimited number of participants (limited only by hardware resources)
- Call transfer
- Call statistics
- In-browser call recording for one-to-one audio/video calls
- Screen sharing during one-to-one video calls and during video conferences
- Link-based access to video conferences (for external users)
- SIP (plain text) messaging
- Responsive interface
VPS or dedicated server with 1 CPU core, 1 GB RAM and 10 GB storage, preferably SSD. (It can work on machines with much lower specifications, but if you want to host video conferences with many participants, it’s a good idea to have at least 1 GB RAM.)
The LEMP stack. It may work with Apache but it has been exclusively tested with Nginx. We recommend Nginx and all the installation instructions mentioned below are for Nginx. Recommended operating system: Debian 10 or newer.
Asterisk v18.0.0 or newer (with chan_pjsip enabled) and Coturn v184.108.40.206 or newer (although it will also work with older versions of Asterisk and Coturn).
Coturn can be used as a STUN server to assist Roundpin in connecting users who are behind routers. Therefore, a complete installation of Roundpin implies the installation of Asterisk + Coturn + Roundpin. Complete and detailed instructions on how to install these 3 applications are mentioned on Roundpin’s web page: Roundpin
Soon we will integrate email, SMS and fax.