📜 ⬆️ ⬇️

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

FreeSWITCH is a telephony platform that is rarely mentioned at present and has extensive capabilities. Created by a group of former Asterisk developers, but not in the same way as Callweaver - the system architecture is rewritten from scratch, this is not a fork. Since the code is independent of Asterisk and its forks, developers could choose a license different from the GPL, and eventually chose MPL, which allows using FreeSWITCH in products whose manufacturers are not ready to open their work. Unfortunately, this does not allow developers to use code under the GPL.

Highlights:


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

Yes, I know that iron producers still cannot even provide support for the Speex codec in their products, and the rare softtophone supports Celt (in fact, I don’t know such people at all, but what if they are?). But FreeSWITCH itself can act as a softphone. That is, one softphone that supports Celt codec was counted.
')
FreeSWITCH supports Jingle (audio and video in GTalk) - so you can provide voice services to XMPP clients, act as a GTalk client. For not personally tested data, it is also possible to broadcast text messages between SIP and XMPP.

Included are a voice mail application and a conferencing application. 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, .Net for writing applications. If the numbering options in XML are not enough, you can easily implement any logic; in this case, the restrictions are imposed by the chosen language.

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

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

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

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

Source: https://habr.com/ru/post/50091/


All Articles