What is FreeSWITCH
FreeSWITCH is a free and open-source application server for real-time communication, WebRTC, telecommunications, video, and Voice over Internet Protocol. Multiplatform, it runs on Linux, Windows, macOS, and FreeBSD. It is used to build PBX systems, IVR services, videoconferencing with chat and screen sharing, wholesale least-cost routing, Session Border Controller (SBC) and embedded communication appliances. It has full support for encryption, ZRTP, DTLS, SIPS. It can act as a gateway between PSTN, SIP, WebRTC, and many other communication protocols. Its core library, libfreeswitch, can be embedded into other projects. It is licensed under the Mozilla Public License (MPL), a free software license.
Features Of FreeSWITCH
Following are some FreeSWITCH features:
FreeSWITCH includes many modules that provide many telephony applications, such as conferencing, XML-RPC control of live calls, interactive voice response (IVR), speech synthesis and speech recognition, public switched telephone network (PSTN) interfaces for analogue and digital circuits, voice over IP protocols including Session Initiation Protocol (SIP), Verto, Skinny Client Control Protocol (SCCP), H.323, Extensible Messaging and Presence Protocol (XMPP), GoogleTalk, T.38 and others.
As of FreeSWITCH version 1.4, support exists for WebRTC.
In FreeSWITCH 1.6 support was added for Video muxing and complete WebRTC, wss, dtls, SIP.js, Verto.js, Opus 48kHz to 8kHz, resilient up to 40% packet loss.
Some Other Features of Main FreeSWITCH 1.6 features:
Centralized User/Domain Directory (directory.xml)
Nano Second CDR granularity
Call recording (In Stereo caller/callee left/right)
High-Performance Multi-Threaded Core engine
Configuration via cURL to your HTTP server (mod_xml_curl).
XML Config files for easy parsing.
ZRTP support for transparent RTP based key exchange and encryption
Configurable RFC 2833 Payload type
Inband DTMF generation and detection.
Software-based Conference (no hardware requirement)
Media / No Media modes
Proper ENUM/ISN dialing built-in
Detailed CDR in XML
Shared Line Appearances
Bridged Line Appearances
Enterprise/Carrier-grade Eventing Engine. (XML Events, Name Value Events, Multicast Events)
Loadable File formats and streaming
Stream to and play from Shoutcast and Icecast
Multi-lingual Speech Phrase Interface
ASR/TTS support (native and via MRCP)
You can also see: Movie4k
FreeSWITCH and WebRTC support:
FreeSWITCH is a WebRTC Gateway, able to accept encrypted media from browsers, convert it, and exchange it with other communication networks, that use different codecs and encryptions, eg: PSTN, mobile carriers, legacy systems, etc. FreeSWITCH can be the gateway between SIP network and applications and browsers on desktops, tablets, and smartphones.
FreeSWITCH is a WebRTC Application Server, able to directly provide native services to browsers, like videoconferences, IVRs, Call Centers, without the use of any gateway or third party. FreeSWITCH can directly provide services through Secure WebSocket (WSS), SRTP, and DTLS, the native WebRTC protocols.