[Freeswitch-users] In the spirit of ClueCon: Our FreeSWITCH Story

Seven Du dujinfang at gmail.com
Tue Aug 4 00:17:32 PDT 2009

Hello All -   In the spirit of ClueCon (which we are missing this year, but
hopefully not next), we wanted to document our "FreeSWITCH Story".  We've
posted it to the wiki(
http://wiki.freeswitch.org/wiki/FreeSWITCH_Testimonial_on_Idapted.com) and
it is copied below.

Thank you all and enjoy a good conference!

Seven Du (seven)
Jonathan Palley (jpalley_idapted)
Idapted Ltd.

*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.

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

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

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 Asis-Pacific communication fiber broken... So, we've learned to
setup multi servers in multiple datacenters 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

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, whereever 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
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 a community that gives us a
platform where we can all benefit and contribute.

erlang (mod_erlang_events): Another key enabler of the next release of our
system is the erlang interface.  We have a complex realtime 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.

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.


Du Jinfang (Seven) - Technical Operations/VoIP Manager
Jonathan Palley - CTO
Idapted Ltd.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20090804/772be75c/attachment-0002.html 

More information about the FreeSWITCH-users mailing list