Freeswitch. Perhaps the future of telephony is already with us?

    FreeSWITCH is a rarely-used telephony platform with extensive features. Created by a group of former Asterisk developers, but not in the same way as Callweaver - the system architecture was rewritten from scratch, this is not a fork. Since the code is independent of Asterisk and its forks, developers could choose a license other than the GPL, and eventually chose MPL, which allows you to use FreeSWITCH in products whose manufacturers are not ready to open their own achievements. Unfortunately, this does not allow developers to use the code under the GPL.

    Highlights:
    • The architecture is multi-threaded, the performance is very high (personally tested, there are tests on the official website);
    • A module is a module, not a name. That is, you can disable mod_sofia responsible for SIP and the system will continue to work. The Asterisk architecture will not allow this - the server code is closely interwoven with the chan_sip code. First-hand information - from the developer;
    • The goal is to make the most of ready-made libraries. Developers do not consider it their duty to implement all modern VoIP protocols in person. The option using a ready-made library is quite suitable;
    • Configuration - one XML document is divided into logical parts by different files, it is collected by preprocessing (there are many pros and cons of config in XML, everything is up to date);


    FreeSWITCH is the first open source telephony platform to support HD codecs. Sampling rate up to 48 kHz, it is more than 44.1 kHz Audio CD. I think many have listened in standby mode for many hours of good music in terrifying quality. This comes from the 8kHz sound used in telephony for decades. I consider the future that has come true for normal sound - the Celt codec (48 kHz) supported by FreeSWITCH uses the same bandwidth (~ 64 Kbps, with overhead for packet headers ~ 80 Kbps) as the G.711 codec (8 kHz) )

    Yes, I know that iron manufacturers still can’t even provide Speex codec support in their products, and a rare softphone supports Celt (in fact, I don’t know any of these, but what if they exist?). But FreeSWITCH itself can act as a softphone. That is, one softphone supporting the Celt codec was counted.

    FreeSWITCH supports Jingle (audio and video in GTalk) - this way you can provide voice services to XMPP clients, act as a GTalk client. According to data not personally tested, it is also possible to broadcast text messages between SIP and XMPP.

    Included are voicemail and conferencing applications. Conferences also support HD Audio and do not require anything like Zaptel to work.

    FreeSWITCH allows you to use C, C ++, Spidermonkey (ECMAScript), Lua, Python, Perl, Java, the .Net platform to write applications. If there are not enough numbering plan capabilities in XML, you can easily implement any logic, the restrictions in this case are imposed by the selected language.

    There is support for speech recognition and synthesis. The focus is on Flite and PocketSphinx. With Russian, as usual, it’s difficult. For Flite, its support is not implemented in principle, under PocketSphinx I could not launch it. Included is a demo - an application for ordering pizza using PocketSphinx, written on Spidermonkey. The developers are preparing a mod_unimrcp, which is supposed to allow you to associate FreeSWITCH with many ASR / TTS products.

    Thus, FreeSWITCH is ready for use on your networks, has unique support for HD Audio codecs Siren and Celt among open source products. For clients of jabber networks, it can be used to organize support for audio conferences. In my opinion it is worth familiarizing.

    In future series, practical use, for the most impatient there is a link .

    PS Yes, there is G.729 - deepwalker.blogspot.com/2009/01/g729-freeswitch.html

    Also popular now: