Welcome To FreeSWITCH
The World's First Cross-Platform Scalable FREE Multi-Protocol Soft Switch
FreeSWITCH is a scalable open source cross-platform telephony platform designed to route and interconnect popular communication protocols using audio, video, text or any other form of media. It was created in 2006 to fill the void left by proprietary commercial solutions. FreeSWITCH also provides a stable telephony platform on which many telephony applications can be developed using a wide range of free tools.
FreeSWITCH was originally designed and implemented by Anthony Minessale with the help of Brian West and Michael Jerris. All 3 are former developers of the popular Asterisk open source PBX. The project was initiated to focus on several design goals including modularity, cross-platform support, scalability and stability. Today, many more developers and users contribute to the project on a daily basis.
We support various communication technologies such as Skype, SIP, H.323 and GoogleTalk making it easy to interface with other open source PBX systems such as sipXecs, Call Weaver, Bayonne, YATE or Asterisk.
FreeSWITCH supports many advanced SIP features such as presence/BLF/SLA as well as TCP TLS and sRTP. It also can be used as a transparent proxy with and without media in the path to act as a SBC (session border controller) and proxy T.38 and other end to end protocols.
FreeSWITCH supports both wide and narrow band codecs making it an ideal solution to bridge legacy devices to the future. The voice channels and the conference bridge module all can operate at 8, 12, 16, 24, 32 or 48 kilohertz and can bridge channels of different rates. The G.729 codec is also available under a commercial license.
FreeSWITCH builds natively and runs standalone on several operating systems including Windows, Max OS X, Linux, BSD and Solaris on both 32 and 64 bit platforms.
FreeSWITCH supports FAX, both over audio and T.38, and can gateway between the two.
Our developers are heavily involved in open source and have donated code and other resources to other telephony projects including openSER, sipXecs, The Asterisk Open Source PBX and Call Weaver.
a Spec Sheet is available on our Wiki.
Happy December to everyone!
Last week was painful for many of us as we were dealing with a sustained DDoS attack on most of our infrastructure. Kudos to the guys for working through it. It seems the worst is over and we can get back to the business at hand: doing FreeSWITCH stuff. :)
In spite of the drama last week we did have a conference call and we released 188.8.131.52! We discussed mostly the details of the DDoS we experienced and how the community can assist in the future so that we can mitigate the effects of such an occurrence. With the community's help we will be more resistant to the effects of any future attacks. We appreciate the outpouring of support we received from everyone.
This week we will go back to discussing FreeSWITCH. We are still finalizing future guests so this week we'll do another installment of tips and tricks from the FreeSWITCH community. Among other things I will be showing how Chris Rienzo (IRC: crienzo) and I used the source this weekend to figure out what the XML preprocessor can do and get the wiki updated. I'll then show a simple example of the always-present-but-previously-undocumented command can do. As an added bonus we'll have an update on the ClueCon 2012 videos!
Thanks and have a great week.
We are all back to a full week after many of us enjoyed some well-deserved time off last week. However, even though there was a holiday here in the US, the intrepid FreeSWITCH development team was working hard on your behalf. As Ken Rice previously mentioned, Anthony spotted a potential issue in the recently released 1.2.5 version. Therefore, this past Saturday they made 184.108.40.206 available for us. Many thanks to those who work so hard to make sure that FreeSWITCH is running smoothly for us all.
On last week's conference call we spent some time getting everyone up to speed on how to edit the FreeSWITCH wiki, specifically focusing on channel variables pages. Updating documentation is one of the least glamorous aspects of maintaining an open source project. Many thanks to those who've stepped up over the past weeks and months to help us out. With the end of the year upon us we are slowing down a bit in our speaking schedule for the weekly community conference call. We have a few things in the works but nothing yet scheduled. On this week's call we will be doing a community scrum. Be sure to bring your questions and topics for discussion. If you have a tip or trick that you'd like to share with the group that would be most welcomed. If time permits we will crowdsource a few selected questions from the mailing list.
Have a great week and we'll talk to you on Wednesday.
Happy short week to those of you in North America!
The weekly FreeSWITCH news and notes took a hiatus while I was out on a medical leave. I am happy to report that I am back to work and recovering nicely. Many thanks to those who sent their well-wishes and happy thoughts. We have a great community and I am glad to be a part of it!
On last week's conference call we covered some Linux/FreeSWITCH install and configuration tips. A special thanks to Ken Rice for giving us some practical information on many of the useful files and utility items that are available in the FreeSWITCH source tree and how to implement them, including FreeSWITCH init scripts, Anthony's .emacs file, and even a monit configuration example. I hope you found these items as useful as I did.
We recently released FreeSWITCH 1.2.4 and Ken Rice tells me that more updates are in the works. More information will be available on this week's conference call. This week I will be presenting a Wiki how-to: adding a channel variable page. This will be especially useful because it illustrates a number of Mediawiki concepts. Also, we have a lot of missing channel variables so if everyone picks one or two to add we'll be able to expand the wiki coverage.
Have a great week!
Another busy week in the land of FreeSWITCH. As you know we have been doing some work on the FreeSWITCH project's infrastructure. We are happy to report that this work is essentially complete. Thank you for your patience in this process. We've experienced intermittent outages but thanks to the efforts of Brian West and Raymond Chandler these have been kept to a minimum. We also thank Ken Rice for his hard work during this time. His knowledge and experience have been invaluable.
Last week we had a very interesting discussion from Chad Engler about his nodesl library - a connector between node.js and ESL. Chad describes himself as a Web developer learning the telephony side of things. However, we were all impressed with how much knowledge he had with using ESL given the relatively short amount of time he's been working with it. This week we will be looking in on some Windows-centric ways of handling real-time data and related PBX items. The following week, on October 31, we will be hearing from our friends over at Redshift Networks. They will be giving us close-up look at some of the worldwide SIP attacks that are being perpetrated against FreeSWITCH and other IP telephony servers.
On a personal note I would like to thank everyone who volunteered to be a technical reviewer of the new edition of the FreeSWITCH book. I was overwhelmed with just how many people who are willing to volunteer their time. Packt Publishing will be contacting those who've been selected for this important job. This is a great community and we are all glad to be a part of it.
Take care and have a great week.
As you may know the FreeSWITCH team is continuing to update the project's infrastructure. Among other things this includes getting ready for IPv6. Last week Brian West finished getting several of our servers all set up to handle IPv6 traffic. These includes www.freeswitch.org and conference.freeswitch.org. Thank you to all those who did testing and gave us valuable feedback.
On last week's conference call we enjoyed our very own Ken Rice giving us some great reminders on how to gather data for troubleshooting as well as tips on opening bug reports in Jira. We had a number of users comment on how useful it was to see examples of how to do this. The audio is up in the usual location and we have a community member who is preparing a video which will be posted as soon as it is ready.
This week we have Chad Engler from Patlive coming to discuss with us his node-esl library. Chad has made the code available here on Github. He has included an interesting channel monitor example to give you an idea of what can be done by combining node.js with ESL. We look forward to hearing more about it on this week's conference call.
Have a great week!
Welcome to October! I hope the weather is nice where you are. Here it's still above 100F. :)
Last week was a little bit quieter than the previous few weeks. I had a chance to work on the FreeSWITCH change log and I made a list of some of the APIs, dialplan tools, and channel variables. These have all been added since 1.2.0 was initially released in early August. All of them have wiki entries - thanks to those who took the initiative to do add them. Feel free to add your knowledge and experience to the mix.
Last week's conference call was an object lesson in the challenges of getting a SIP proxy working with TLS and FreeSWITCH. This week we are going to change direction and look at something that has been slowly (and painfully) advancing the past few years: mobile VoIP. We will be having Daniel Pocock share with us some information about Lumicall, an open source mobile VoIP client for Android devices. There is also a service component to Lumicall and we'll be learning about that as well. Come join us to see the state of mobile VoIP.
We are working on some fresh presentations for later this month. We hope to have an update on e164.org and how we can all get involved. We are also preparing a presentation on how to perform some of the data-gathering techniques that are needed for basic and advanced troubleshooting. If you have some input on these or other presentations please let me or Ken Rice know.
Welcome to the last Monday of September 2012!
We've had quite the interesting week. Perhaps the most interesting item the team dealt with was a vulnerability in the Sofia SIP stack that would cause a segmentation fault while processing a specially crafted SIP message. Just to show you how nimble the FreeSWITCH developers are, from the time the vulnerability was reported it took less than a day to fix, test, and roll a new version of FreeSWITCH. We encourage everyone on 1.2 to get updated to version 1.2.3 as soon as possible. (The fix is also in the 1.3 development branch as of last Wednesday, September 19.) We tip our hats to Anthony and the rest of the dev team for their hard work on our behalf.
Last week's conference call was also very informative. We received an introduction to the repro SIP proxy software. We look forward to this coming Wednesday where Scott Godin and Daniel Pocock will continue the discussion and will get deeper into how to set up the proxy and use it with FreeSWITCH. If you haven't already tried to install repro please do so. Daniel has a nice tutorial over at OpenTelecoms.org - be sure to check it out and bring your questions on Wednesday.
Finally, we'd like to draw your attention to this blog post by long time FreeSWITCH and open source telephony supporter Kristian Kielhofner. Kristian reports that his company, Star2Star Communications, is sponsoring the FreeSWITCH stable branch by giving direct financial support to the project. This allows for a full-time team member to work on things like the stable branch and packaging as well as community interaction and documentation. We appreciate those who support FreeSWITCH and open source telephony!
Have a good week and we'll see you again in October.
Packt Publishing, the company who produces the two FreeSWITCH books, has announced a celebration of their 1000th title! This quite a milestone and we are happy that FreeSWITCH has two (soon to be three!) titles in the Packt catalog. As part of the celebration Packt is inviting everyone to sign up for a free account by September 30, 2012. Included in the celebration is a "surprise gift" - but you must be signed up in order to receive it.
Packt Publishing supports the FreeSWITCH project so we try our best to support them. Please sign up and if possible purchase the FreeSWITCH books.
Thanks to everyone who supports FreeSWITCH and open source!
It's been another productive week on the FreeSWITCH team. We are pleased to let you know that we have officially tagged FreeSWITCH version 1.2.2 in the git repo. Source tarballs are available in the usual location. Thanks to all those whose efforts make more frequent releases a reality. It is much appreciated.
On last Wednesday's conference call we enjoyed a nice Adhearsion presentation by Ben Langfeld and Ben Klang. Adhearsion is a Ruby-based framework for developing telephony applications. Ben and Ben discuss how Adhearsion works, why Ruby is cool for building telephony apps, and why the Adhearsion guys love FreeSWITCH. FreeSWITCH community members are invited to join the Adhearsion team at AdhearsionConf in Palo Alto, CA on October 20-21, 2012. Community members receive a special rate by using discount code AHNLOVESFREESWITCH. Thanks to Ben and Ben for a great presentation with cool slides.
For the next few weeks we look forward to hearing from Daniel Pocock and Scott Godin who will be telling us more about the Repro SIP proxy and the ReSIProcate SIP stack. For many of us it will be our first look at a SIP proxy that does not have its roots in the OpenSER project. We look forward to learning more on this Wednesday's conference call.
Have a great week!
From the gang over at Slashdot comes this interesting story about security researchers find new and creative ways to crash phone systems and the back-end systems to which they are connected. I thought you might find this interesting. Also, if you use IVR or voice to interact with callers then this is a good reminder to make sure that your systems are locked down and that they don't do silly things like buffer overflows and SQL injections.