FreeSWITCH

Last updated
FreeSWITCH
Original author(s) Anthony Minessale
Developer(s) Different contributors
Stable release 1.10.11 (December 22, 2023;4 months ago (2023-12-22) [1] ) [±]
Repository
Written in C
Operating system Linux, [2] macOS, [3] Solaris, [4] FreeBSD, [5] NetBSD, [6] OpenBSD, [7] DragonFly BSD, [8] Windows [9]
Platform Cross-platform
Available inmulti-lingual
Type VoIP software, Softswitch
License Mozilla Public License (MPL)
Website freeswitch.com   OOjs UI icon edit-ltr-progressive.svg

FreeSWITCH is a free and open-source telephony software for real-time communication protocols using audio, video, text and other forms of media. The software has applications in WebRTC, voice over Internet Protocol (VoIP), video transcoding, Multipoint Control Unit (MCU) functionality and supports Session Initiation Protocol (SIP) features. [10]

Contents

The software runs on Linux, Windows, macOS, and FreeBSD. [11]

History

The FreeSWITCH project was initially announced in January 2006 and the first version was officially released in May 2008. The subsequent versions, 1.2, 1.3 and 1.4, were released in 2012 and 2014 supporting SIP over Websocket and WebRTC. The 1.6 version supported video transcoding and video conferencing and the 1.8 version was released in 2018. The latest release is version 1.10. [12]

In 2018, SignalWire Inc. was founded to provide commercial cloud telecommunication services utilizing an elastic FreeSWITCH core, and provide a permanent commercial sponsor for the open source project that was controlled by the founders of FreeSWITCH. It then acquired FreeSWITCH Solutions. [13]

Architecture

FreeSWITCH runs on Linux, Windows, macOS, and FreeBSD. It is distributed under the Mozilla Public License (MPL). According to the original designer, Anthony Minessale, FreeSWITCH is intended to be a softswitch that is built around a core library, driven by a state machine, which can be embedded into other projects. [14] [15]

FreeSWITCH provides a scalable system around a stable switching core, and a robust interface for developers to add to and control the system. It is a core component in many PBX in a box commercial products and open-source projects. Some of the commercial products are hardware and software bundles, for which the manufacturer supports and releases the software as open source. [11]

Applications

FreeSWITCH is used to build private branch exchange (PBX), IVR services, videoconferencing with chat and screen sharing, wholesale least-cost routing, Session Border Controller (SBC) and embedded communication appliances. It also has support for encryption, ZRTP, DTLS.

Projects such as BigBlueButton is built on top of FreeSWITCH and FusionPBX is an add-on to FreeSWITCH that provides a web management interface.

In June 2007, FreeSWITCH was selected by Truphone for use, [16] and in August 2007, Gaboogie announced that it selected FreeSWITCH as its conferencing platform. [17] It has also partnered with Five9, Plivo, Samsung, Waeve and Twilio for its usage. The software is also used by The U.S Department of Veterans Affairs. [10]

Bibliography

Related Research Articles

Darwin is the core Unix operating system of macOS, iOS, watchOS, tvOS, iPadOS, visionOS, and bridgeOS. It previously existed as an independent open-source operating system, first released by Apple Inc. in 2000. It is composed of code derived from NeXTSTEP, FreeBSD, other BSD operating systems, Mach, and other free software projects' code, as well as code developed by Apple.

The GNU C Library, commonly known as glibc, is the GNU Project's implementation of the C standard library. It is a wrapper around the system calls of the Linux kernel for application use. Despite its name, it now also directly supports C++. It was started in the 1980s by the Free Software Foundation (FSF) for the GNU operating system.

<span class="mw-page-title-main">Asterisk (PBX)</span> PBX software

Asterisk is a software implementation of a private branch exchange (PBX). In conjunction with suitable telephony hardware interfaces and network applications, Asterisk is used to establish and control telephone calls between telecommunication endpoints such as customary telephone sets, destinations on the public switched telephone network (PSTN) and devices or services on voice over Internet Protocol (VoIP) networks. Its name comes from the asterisk (*) symbol for a signal used in dual-tone multi-frequency (DTMF) dialing.

<span class="mw-page-title-main">Netatalk</span> Free, open-source implementation of the Apple Filing Protocol

Netatalk is a free, open-source implementation of the Apple Filing Protocol (AFP). It allows Unix-like operating systems to serve as file servers for Macintosh computers running macOS or Classic Mac OS.

<span class="mw-page-title-main">SipXecs</span>

SipXecs is a free software enterprise communications system. It was initially developed by Pingtel Corporation in 2003 as a voice over IP telephony server located in Boston, MA. The server was later extended with additional collaboration capabilities as part of the SIPfoundry project. Since its extension, sipXecs now acts as a software implementation of the Session Initiation Protocol (SIP), making it a full IP-based communications system.

The following tables compare general and technical information between a number of notable IRC client programs which have been discussed in independent, reliable prior published sources.

<span class="mw-page-title-main">Watcom C/C++</span>

Watcom C/C++ is an integrated development environment (IDE) product from Watcom International Corporation for the C, C++, and Fortran programming languages. Watcom C/C++ was a commercial product until it was discontinued, then released under the Sybase Open Watcom Public License as Open Watcom C/C++. It features tools for developing and debugging code for DOS, OS/2, and Windows, Linux operating systems, which are based upon 16-bit x86, 32-bit IA-32, or 64-bit x86-64 compatible processors.

Ports collections are the sets of makefiles and patches provided by the BSD-based operating systems, FreeBSD, NetBSD, and OpenBSD, as a simple method of installing software or creating binary packages. They are usually the base of a package management system, with ports handling package creation and additional tools managing package removal, upgrade, and other tasks. In addition to the BSDs, a few Linux distributions have implemented similar infrastructure, including Gentoo's Portage, Arch's Arch Build System (ABS), CRUX's Ports and Void Linux's Templates.

This is a comparison of voice over IP (VoIP) software used to conduct telephone-like voice conversations across Internet Protocol (IP) based networks. For residential markets, voice over IP phone service is often cheaper than traditional public switched telephone network (PSTN) service and can remove geographic restrictions to telephone numbers, e.g., have a PSTN phone number in a New York area code ring in Tokyo.

<span class="mw-page-title-main">NTFS-3G</span> Implementation of NTFS file system

NTFS-3G is an open-source cross-platform implementation of the Microsoft Windows NTFS file system with read/write support. NTFS-3G often uses the FUSE file system interface, so it can run unmodified on many different operating systems. It is runnable on Linux, FreeBSD, NetBSD, OpenSolaris, illumos, BeOS, QNX, WinCE, Nucleus, VxWorks, Haiku, MorphOS, Minix, macOS and OpenBSD. It is licensed under the GNU General Public License. It is a partial fork of ntfsprogs and is under active maintenance and development.

FreePBX is a web-based open-source graphical user interface (GUI) that manages Asterisk, a voice over IP and telephony server.

<span class="mw-page-title-main">Jitsi</span> Videoconferencing and messaging software

Jitsi is a collection of free and open-source multiplatform voice (VoIP), video conferencing and instant messaging applications for the Web platform, Windows, Linux, macOS, iOS and Android. The Jitsi project began with the Jitsi Desktop. With the growth of WebRTC, the project team focus shifted to the Jitsi Videobridge for allowing web-based multi-party video calling. Later the team added Jitsi Meet, a full video conferencing application that includes web, Android, and iOS clients. Jitsi also operates meet.jit.si, a version of Jitsi Meet hosted by Jitsi for free community use. Other projects include: Jigasi, lib-jitsi-meet, Jidesha, and Jitsi.


This is a comparison of notable free and open-source configuration management software, suitable for tasks like server configuration, orchestration and infrastructure as code typically performed by a system administrator.

<span class="mw-page-title-main">Elastix</span>

Elastix is a unified communications server software that brings together IP PBX, email, IM, faxing and collaboration functionality. It has a Web interface and includes capabilities such as a call center software with predictive dialing.

<span class="mw-page-title-main">Jami (software)</span> Distributed multimedia communications platform

Jami is a SIP-compatible distributed peer-to-peer softphone and SIP-based instant messenger for Linux, Microsoft Windows, macOS, iOS, and Android. Jami was developed and maintained by the Canadian company Savoir-faire Linux, and with the help of a global community of users and contributors, Jami positions itself as a potential free Skype replacement.

<span class="mw-page-title-main">AskoziaPBX</span> Telephone system firmware

AskoziaPBX is a closed source telephone system firmware. It is a fork of the m0n0wall project and uses the Asterisk private branch exchange (PBX) software to realize all telephony functions.

GNU SIP Witch is free SIP server software with peer-to-peer capabilities from the GNU Project. It is the GNU implementation of the Session Initiation Protocol (SIP), which is used for the routing of calls.

<span class="mw-page-title-main">OBS Studio</span> Screen recording and streaming app

OBS Studio is a free and open-source, cross-platform screencasting and streaming app. It is available for Windows, macOS, Linux distributions, and BSD. The OBS Project raises funds on the platforms Open Collective and Patreon.

<span class="mw-page-title-main">ZeroTier</span> Software company based in California

ZeroTier, Inc. is a software company with a freemium business model based in Irvine, California. ZeroTier provides proprietary software, SDKs and commercial products and services to create and manage virtual software-defined networks. The company's flagship end-user product ZeroTier One is a client application that enables devices such as PCs, phones, servers and embedded devices to securely connect to peer-to-peer virtual networks.

References

  1. "Releases - signalwire/freeswitch" . Retrieved 4 March 2024 via GitHub.
  2. "Linux - FreeSWITCH - Confluence".
  3. "macOS - FreeSWITCH - Confluence".
  4. "Solaris - FreeSWITCH - Confluence".
  5. "FreeBSD - FreeSWITCH - Confluence".
  6. "NetBSD - FreeSWITCH - Confluence".
  7. "OpenBSD - FreeSWITCH - Confluence".
  8. "DragonFlyBSD - FreeSWITCH - Confluence".
  9. "Windows - FreeSWITCH - Confluence". Archived from the original on 2021-03-04. Retrieved 2018-05-06.
  10. 1 2 "VA Technical Reference Model v 22.11 - FreeSWITCH". www.oit.va.gov.
  11. 1 2 "Architecture of FreeSWITCH". Packt Hub. 14 June 2013.
  12. FreeSWITCH 1.0.6 - History. Packt Publishing. 2010. p. 279. ISBN   9781847199966.
  13. Staff (September 27, 2019). "SignalWire Announces the Full Migration of the FreeSWITCH Codebase to GitHub". www.prnewswire.com.
  14. Gallagher, Kathleen (October 18, 2009). "Flipping the FreeSWITCH – Brookfield is home to revolutionary software". Milwaukee Journal Sentinel. Archived from the original on October 22, 2009.
  15. "An Interview with the Creator of FreeSWITCH". O'Reilly Media. July 25, 2006.
  16. "Truphone Selects FreeSWITCH and TelcoBridges to Enable VoIP Calls over WiFi on Mobile Phones" (Press release). Truphone. June 5, 2007. Archived from the original on September 18, 2012. Retrieved June 17, 2007.
  17. "Gaboogie Embraces Open Source For New Mobile Group Calling and Conference Calling Solution". Gaboogie. 2007-08-03. Archived from the original on 2008-09-08. Retrieved 2007-10-06.