FreeSWITCH Testimonial on Idapted.com
How FreeSWITCH has created hundreds of job opportunities and changed lives.
We want to share our experience working with FreeSWITCH. FreeSWITCH has been a key enabler of our business. We hope this story can be a small way to say a very big THANK YOU ALL.
"Changing lives" is an over-used cliche, but in this case, FreeSWITCH has really allowed us to do just that.
What We Do: We are not a telephony business; we are an educational technology and service business. In Asia (China, in our case) students must pass English examinations to study or work abroad and gain new experiences. However, there is limited access to native English speakers and the access students can gain is typically very expensive. At the same time, in the U.S., there are many professionals looking for work-at-home opportunities - people who need jobs and would create great teachers. Through our technology and content we empower these people to be effective English teachers. Does it work? Yes. The majority of our students are getting test scores that many failed for years to get. Just hours ago one student called one of our sales agents crying with joy. And for our teachers, they are now working in an industry that was previously unavailable to those living in the U.S. http://www.idapted.com
Why FreeSWITCH Enables This: FreeSWITCH has been a key enabler of our business. Recording calls, controlling routing, integrating with various web-based interfaces, enabling multiple endpoints - these are all key features of what we must do. Most importantly, setting up various servers and routes to mitigate cross-Pacific and country-specific network challenges is key. Doing what we are doing with commercial solutions would have made the business unworkable.
Our Experiences with FreeSWITCH: We started using FreeSWITCH as our VoIP Platform in April 2008, after receiving unsatisfactory results with other open source solutions. It took one day of reading through the FreeSWITCH source code to know, "this is it. This is the VoIP platform we build our business on". It took a few days of working with the extremely competent and focused community to re-affirm this commitment.
Our Setup: Our teachers use a custom software that integrates a VoIP client with our web based platform. Students connect to our teachers "on-demand". Simply put, on a web-based comet interface the student enters a phone number (or a skype name or a gtalk account) and our platform bridges the best available trainer and the student. At the same time a web-based interface is being updated.
The challenge for us is the connection between teachers and students over a cross-continent network. For example, we experienced problems earlier this year when a Asia-Pacific communication fiber broken... So, we've learned to setup multi servers in multiple data centers for redundancy.
We run multi instances of FreeSWITCH so we can always use the cutting edge and mitigate the effects of bugs. A main, "stable" FreeSWITCH(FS) instance connect to other FreeSWITCHes - Fs-skype only loads mod_skypiax and FS-gtalk only loads mod_dingaling. Here is one beauty of FS: We just had to create different conf dirs (/usr/local/freeswitch, /usr/local/skype, /usr/local/gtalk etc). This allows us to run the same code base over different configurations, and call skype and gtalk accounts just like a normal PSTN gateway (sofia/gateway/pstn/.... or sofia/gateway/skype/.... or sofia/gateway/gtalk/.... ). More important, if one FS (say FS-skype) behaves abnormally or crashes, we can easily change to another FS-skype server (we run other servers located in various places in China and HK for redundancy).
FS --| |---PSTN gateways |--- FS-skype |--- FS-gtalk |--- FS-skype2 |--- more ...
The community's commitment cannot be undervalued. The insightful, modular design of FreeSWITCH allows anyone to contribute, wherever their skills lie. It also allows us to easily make modifications to the underlying code to suit our specific use-cases We want to highlight a few key people and modules in the FS ecosystem:
mod_sofia: SIP is how we connect to our PSTN gateways and to our teachers clients. PSTN is zero-conf for the user and mitigates troubles with the end users network/microphone, etc (which is significant with our user base). However, cheap providers fail randomly and FreeSWITCH's ability to control routing, use multiple endpoints all while clearly seeing what is going on is key. Most importantly, anthm and the core team have been super helpful in getting SIP to work with us. Back in the pre 1.0 days anthm made significant changes to mod-sofia to enable clients behind NATs without STUN. Its important to point out that he didn't just make the changes -he forced us to really make a compelling case as to why the changes were important for FreeSWITCH. This is a good thing.
skype (mod_skypiax): Due to the facts that users prefer skype, we configured skypiax. It was unstable at the beginning and that's one of the reason we started running that separate FS instance. To be fair, it has caused a lot of trouble - but we know this, its new software that takes a big risk and implements a complex hack. What is important is that the author of skypiax(Giovanni Maruzzelli) has been a huge help. He's been very active fixing bugs and logging in to our box to help trouble shoot. We owe him a *big* thanks.
To make Skypiax more useful, we also created some patches including the ANY and RR interfaces for sequential and round robin line hunting, some bug fixes and other features like continue-load-on-fail and auto-skype-user which haven't been merged into trunk yet. Thanks for the community gives us a platform where we can all get advantages and contribute.
erlang (mod_erlang_events): Another key enabler of the next release of our system is the erlang interface. We have a complex real time queue routing system has it handles input not just from FreeSWITCH, but numerous other web interfaces and sockets. Erlang was the perfect technology to implement this in and luckily an Erlang module for FreeSWITCH was already written. Beautiful.
mod_conference and mod_fifo: We also use FreeSWITCH in our office environment as a PBX for call center and customer service connected with VoIP and PSTN(openzap) gateways. It is integrated into our CRM system naturally and just made sales process, business logic and world wide conference much more simpler and easier.
THE MORAL OF THE STORY: FreeSWITCH is a great piece of software that has enabled new technologies and business models. The design has allowed (and the core team has nurtured) a vibrant and exciting community that has made the software even better. Every day we go to work excited to push the boundaries of what can be done with telephony technology and are confident this is the platform of the future.
Thank you all.
Seven Du(Dujinfang) - Technical Operations/VoIP Manager
Jonathan Palley - CTO
- http://www.freeswitch.org.cn/blog/past/2010/2/4/idaptedde-freeswitchshi-jian-zhuan/ for a Chinese version.