Posted
over 16 years
ago
by
mcollins
The FreeSWITCH team is pleased to announce the release of version 1.0.3. The developers have focused a lot of attention on quality in this release. The changelog has 127 items, most of which are bug fixes, tweaks, and improvements. However, a new
... [More]
FreeSWITCH release just wouldn't be complete without some new goodies. The new source tarball can be downloaded here. Let's review some of the improvements and new features.
FreeSWITCH now uses the Speex DSP resampler in lieu of libresample. The Speex resampler offers some performance benefits and features, for example volume gain. Also, Speex is licensed under the revised BSD license, which allows more flexibility for code customizations.
The build system has had some improvements as well. FreeSWITCH Can now build under uClibc, which allowed the AstLinux project to add support for FreeSWITCH. ODBC is now detected by autoconf which relieves the user from having to specify the "--enable-core-odbc-support" when running the configure script. We have also fixed the sounds install when building from source on Windows.
Several new modules have recently been added. In the contrib directory you will see something with an unusual name: mod_nibblebill. Don't let the name fool you - it is a perfect description of a very handy tool for those who do prepaid calling applications. Mod_nibblebill, submitted by Darren Schreiber, allows for real-time debiting of cash or credit (from a database) while calls are in progress. Please see the well-written mod_nibblebill wiki page for more information.
Also added to trunk is mod_lcr. As its name implies, mod_lcr implements LCR (Least Cost Routing) in FreeSWITCH. It can operate as a true dialplan (via transfer), invoked from the command line, or as a dialplan application. This module is a good counterpart to mod_easyroute, which handles inbound DID routing. With these two modules a user can build inbound and outbound call center functionality into his FreeSWITCH system.
Finally, the development version of mod_opal has been added. Mod_opal implements the Opal telephony library. Currently mod_opal supports H.323 and IAX2. The FreeSWITCH developers are definitely interested in community feedback for this module, so if you are in a position to try it out then by all means do so.
Those who have a love of a particular scripting language will be pleased to hear about the "ESL Wrapper" that Anthony created. The ESL is an Event Socket Library written in C. It is very fast and allows for a standardized means of communicating with FreeSWITCH via the event socket. The ESL wrapper is an intermediate layer that allows your favorite scripting language to talk to the event socket. The value here is that all of the socket communications are abstracted away from the programmer - all he needs to do is handled the sending and receiving of commands to and from the FreeSWITCH server. Supported languages are Lua, Perl, PHP, Python, and Ruby. Perl and PHP examples are available in the source/libs/esl directory. Those fluent in Lua, Python, and Ruby are invited to create sample scripts and submit them.
On the codec front there have been several developments. Those who have been wanting a way to use G.729a transcoding in FreeSWITCH now have a viable option: mod_dahdi_codec. This module allows those who have a Digium TC400B (which comes with G.729a fully licensed), to have 120 channels of G.729a or 92 channels of G.723.1. Other new codecs include AMR Wideband passthrough (mod_amrwb) and G.726 24k. The Speex codec has been updated to Speex 1.2rc1.
The dialplan as had a few improvements as well. Several new channel variables have been added that will allow for more control of dialing and handling of call results:
failure_causes - Controls which failure causes will be considered as a failure to the bridge(s). This will change the default values for which continue_on_fail will fail by default unless continue_on_fail is set to true.
instant_ringback - When set, ringback will not wait for indication before sending ringback tone to calling party.
monitor_early_media_fail - Monitors early media for failure conditions, such as a busy signal. This allows faster processing of failed calls when ignoring early media.
The FreeSWITCH team would like to thank the community for their continued support of the project. Please keep up the good work, and keep on FreeSWITCHing! [Less]
|
Posted
over 16 years
ago
by
mcollins
We have just received word from Kristian Kielhofner that FreeSWITCH now compiles under AstLinux!
As you may know, AstLinux is a custom Linux distribution centered primarily around Asterisk. However, it lends itself to many different applications
... [More]
, including embedded systems and booting from USB thumb drives. Kristian reports that this configuration takes about 41MB:
FreeSWITCH with default mods (but not spidermonkey)
Other mods like mod_xml_curl, mod_snom, mod_lua, and others
Sample config files
8kHz sound files
Native sounds (G723, G729, GSM, PCMU, PCMA) in 8kHz
If you are looking for a stable, well-tested, lightweight Linux distribution for your FreeSWITCH install then please give AstLinux a try. Kristian will appreciate any feedback that you have to offer. Let's all help make AstLinux a reliable option for FreeSWITCH! [Less]
|
Posted
over 16 years
ago
by
anthm
Looks like it's getting worse, I guess antibiotics wont cure it.
Check out this post at:
Yahoo Finance Message Boards
|
Posted
over 16 years
ago
by
mcollins
I just thought maybe you'd appreciate hearing what others are writing and/or doing with FreeSWITCH.
First up is a blog post by David Rowe, a hardware hacker from Australia. He mentions hearing good things about FreeSWITCH, including during the
... [More]
CELT presention at linux.conf.au 2009.
Second is a post over on Jajah dev blog by Tzah. It discusses how to run mod_dingaling on Windows.
Please let me know if you see other interesting things "out there" where FreeSWITCH is being put to use or is getting positive publicity.
[Less]
|
Posted
over 16 years
ago
by
mcollins
Brian West suggested this interesting article written by Bruce Perens. For those of you who don't know, Bruce Perens is a big time Open Source Software advocate. His article deals mainly with mixing GPL software and proprietary software.
I think
... [More]
anyone who works with OSS will appreciate this article because it is written from the point of view of a techie person who is trying to explain the issues to an executive who may not "get it." It also builds one's appreciation for the selective use of the MPL, the license under which FreeSWITCH is released. The MPL is more business-friendly in that it doesn't suffer from the so-called viral nature of the GPL while still being more protective than the extremely permissive BSD-style licenses. Please enjoy the article and feel free to comment here with your thoughts on the various OSS licenses.
[Less]
|
Posted
over 16 years
ago
by
anthm
We have been battling bugs in the Sonus platform now for several months. We were excited to see some of them documented here by Kristian Kielhofner on his blog.
http://blog.krisk.org/2009/02/update-youve-been-waiting-for.html
We also have
... [More]
some FreeSWITCH specific workarounds documented here:
http://wiki.freeswitch.org/wiki/RTP_Issues#Sonus
[Less]
|
Posted
over 16 years
ago
by
mcollins
The FreeSWITCH development team would like to let everyone know that the first release candidate for the latest version of FreeSWITCH is ready for download. Numerous bug fixes, enhancements and additions have been added since 1.0.2 was released at
... [More]
the beginning of January. All are encouraged to download this latest release and try it out.
WHAT'S NEW IN 1.0.3
In addition to a number of bug fixes, there have also been enhancements and new features. Here are a few of them to whet your appetite:
LCR - A new module (mod_lcr) submitted by Raymond Chandler. This module will allow you to route calls based upon database lookups. More information is available here.
DID Routing Engine - As previously mentioned, a DID routing engine (mod_easyroute) is now available.
SLA - Preliminary support for SLA (Shared Line Appearance) for Polycom and Snom phones
Skype - There are not one, but two different interfaces to Skype in the works, each with different objectives. Please keep an eye out for mod_skypiax and mod_airpe.
Please help us by downloading and running the latest FreeSWITCH version. The source is available here. Stay tuned for a Windows installer file.
As always, bug reports, patches, and feature suggestions are all welcomed by the development team.
Thanks for all of your help, and keep on FreeSWITCHin'!
-MC
[Less]
|
Posted
over 16 years
ago
by
mcollins
FreeSWITCH community member and power user Ken Rice (IRC:SwK) has graciously donated a new module to the project: mod_easyroute. He writes:
"mod_easyroute is a DID routing engine that uses an ODBC data source to figure out where to route calls. It
... [More]
uses a gateway concept and a number concept with a relation of one gateway to many numbers. Numbers are looked up in the database and a dialstring and other useful information is returned into channel variables including a full dial string that can be passed to the bridge function for sending the call out. This module is not really targetted at the PBX user but at the ITSP community as an example of what can be done in C using the ODBC extensions built into the FreeSWITCH core. "
I asked Ken why he created this application as well as why he chose to donate it to FreeSWITCH. He explains that he wrote it for a friend who had a need to route different DID numbers to different SIP application servers. After several people asked him to opensource it for a bounty he did so, noting that doing so was a long-term goal of his anyway. Ken also mentions that this application is just the tip of the iceberg as to what is possible by leveraging FreeSWITCH and a database for high volume routing of incoming calls, as well as the kind of work he does for ITSP's and other businesses that heavily use VoIP. Feel free to contact him at [email protected] if you would like more information.
Mod_easyroute allows the user to set up his own database for handling the routing, as well as specifying a default route. Please see the documentation for more information: http://wiki.freeswitch.org/wiki/Mod_easyroute
[Less]
|
Posted
over 16 years
ago
by
mcollins
Welcome to 2009! With the new year comes a brand new release of FreeSWITCH. We are pleased to announce that version 1.0.2 is now available. It has been more than five months since the last official release, but the development team and
... [More]
community have been very busy during that time. We'll first look at the new offerings in 1.0.2 and then we'll break out the sunglasses and look at the bright future of FreeSWITCH.
New Features
The development team has packed many new features into FreeSWITCH. Among the most exciting are those that push the envelope of what is possible with VoIP. By teaming with Polycom, the FreeSWITCH team has made it extremely simple for users to have access to Polycom's wideband (WB) and ultra-wideband (UWB) Siren(tm) family of codecs. Another exciting development is the addition of the 100% open-source CELT codec. CELT supports sampling rates as high as 48kHz, which is actually higher than the 44.1kHz rate used by traditional CDs. (As a proof-of-concept, Anthony and Brian ran FreeSWITCH on their Macs and Anthony played a guitar solo over a 48kHz session. Brian summed it up in one word: AWESOME.) These codecs are zero-cost alternatives to other patent-encumbered technologies, like G.729. As networking infrastructure improves, both in private networks and the public Internet, the use of WB, UWB, and HD telephony will become increasingly common.
Users will appreciate the advent of two oft-requested features: fax capability and a FreeSWITCH remote client. The FreeSWITCH community was largely responsible for adding mod_fax. In particular we are indebted to Steve Underwood for his fantastic spandsp library, without which the fax module would be all but impossible. The dialplan now can be used to route inbound or outbound fax calls. The FreeSWITCH client, fs_cli, is added along with a new general purpose C-language event socket library (esl). The client program is capable of connecting to local or remote instances of FreeSWITCH. An INI-style configuration file allows for multiple profiles. This handy tool makes it possible for an administrator to connect to multiple FreeSWITCH systems from a single terminal.
Windows developers will want to give a special thank you to FreeSWITCH community member Michael Giangnocavo, whose hard work has yielded the new mod_managed language module. In addition to supporting Mono, the new mod_managed also natively supports Windows .NET run-time libraries. It is now possible to build FreeSWITCH applications with Visual Studio languages like VB.Net and C#.
Other community members have been busy as well. Eric des Courtis has submitted a pair of modules: mod_http and mod_vmd. The mod_http module allows programmers to submit HTTP requests and retrieve the results using an API command. The mod_vmd module does voice-mail "beep" detection, which is useful for leaving answering machine messages "after the beep." This is much preferred over waiting for silence.
A number of enhancements to the dialplan have been made. In particular, call groups have been added as a convenient way to call multiple phones simultaneously. This has always been possible using pipes and commas in the bridge syntax, however this new method allows extensions to be put into various call groups. Creating groups of ringing phones is now easier, and the dialplan is much cleaner.
Many more enhancements and bug fixes have been added. In fact, the changelog has nearly 290 items. Here is a sampling of some of the other additions:
Can send HUP signal from command line, which rotates logs
New fsctl shutdown options: elegant, enhanced, asap, cancel
Outbound FIFO queues
New loopback extension (mod_loopback)
Can have FreeSWITCH be an Erlang node (mod_erlang_event, by Andrew Thompson)
Of course, new features are great, but what happens when you put FreeSWITCH into production?
Interoperability - FreeSWITCH in the Real World
Today's world of VoIP is a hodgepodge of equipment vendors and service providers, all of whom follow the various VoIP-related RFCs to some varying degree. Since the RFCs are not binding - they are Requests For Comments after all - each vendor is free to interpret (or flatly ignore) these "standards" as they see fit. The inevitable result of this arrangement is the Vendor Blame Game when equipment and services fail to interoperate properly. The FreeSWITCH developers prefer to avoid this scenario by adhering closely to the RFCs. This can be a challenge because theory in RFCs does not always translate well into actual real-world application. Consider the IETF mantra: Be strict in what you send, liberal in what you accept. An experience in December 2008 demonstrates why this philosophy can be dangerous.
Teliax, a VoIP provider, migrated several servers from Asterisk to FreeSWITCH in December. All of their testing yielded no discernible issues, yet a number of customers quickly reported that DTMF tones were not working. After a lot of searching it was determined that any Teliax customer who had an upstream provider who used Sonus equipment was having DTMF trouble. The net result was that many Teliax customers had the initial perception that "it worked fine until you switched your servers to FreeSWITCH, therefore FreeSWITCH broke it." Of course, things are rarely so simple. After some brilliant detective work by Anthony Minessale (FreeSWITCH lead developer) it was discovered that Sonus equipment had always been mishandling RFC 2833 DTMF packets. Rather than FreeSWITCH being the culprit, it actually was the catalyst for uncovering a latent bug. (Anthony gives an eloquent explanation of the situation here.) FreeSWITCH was following the rule about "being strict in what you send" - in this case how it sends RFC2833 DTMF packets. The Sonus equipment, however, was not being liberal in return. Instead, it was discarding many DTMF packets that were perfectly compliant because the Sonus equipment had an incorrect assumption about what was valid and invalid! Thereafter, the FreeSWITCH team added a Sonus compatibility mode whereby FreeSWITCH will break the RFC for the sake of interoperability.
FreeSWITCH has other interoperability features as well. For example, some Snom hard phones have programmable soft keys. The modular nature of FreeSWITCH means that those with Snom phones can load mod_snom to take advantage of this feature. Those without Snom phones can save system resources by not loading this vendor specifc module.
FreeSWITCH: 2009 and Beyond
The FreeSWITCH development team will by no means be idle in 2009. In addition to handling more feature requests and bug reports from the growing community there are a number of things in the works, such as improving the documentation, adding T.38 support to the fax module, and expanding TDM support with the OpenZAP library. Another important aspect in 2009 is growing the proverbial FreeSWITCH ecosystem.
There are two specific projects that are a part of the ecosystem to keep an eye on. The first is TCAPI - an ambitious project that aims to provide a comprehensive Web-based front-end to FreeSWITCH. The second is pfSense. The pfSense project has incorporated FreeSWITCH as an optional package. This allows pfSense users to set up an appliance that can be a PBX or soft-switch. pfSense and FreeSWITCH user Mark Crane has also added a simple GUI to the pfSense/FreeSWITCH package. Look for more interesting things to come from both of these projects.
2009 looks to be a very interesting, very busy year for the FreeSWITCH team. A special thank you goes out to all of those who have helped with the project. Please keep up the good work, and spread the word about what a great project we have in FreeSWITCH.
[Less]
|
Posted
over 16 years
ago
by
mcollins
Many have asked for a "real" FreeSWITCH client and the development team has responded. You may have noticed a new library named esl. This is a C-language event socket library that is used by the new client, fs_cli. For those familiar with the
... [More]
venerable "asterisk -r" - you will be please to learn that the fs_cli program is much more than a simple client connector. Some highlights:
Simple connection for FreeSWITCH on local host
Connections can be made to FreeSWITCH running on remote hosts
INI-style configuration file; can control many remote hosts from a single terminal
Special thanks go to Anthony Minessale and Mike Jerris for spending a lot of time and energy getting the event socket library programmed. Additionally, the community would like to thank Ken Rice (SwK) for adding a lot of finishing touches to the fs_cli.c program.
Stay tuned for more FreeSWITCH updates.
[Less]
|