About 6 months ago, we launched a very interesting project. Now that it has been in production for awhile and been slammed with traffic, I feel obligated to let the world know about a particularly BADASS piece of technology that is out there — and not just the part that we built!
Ever wanted to track your conversions from an offline marketing campaign? We were contracted to develop a system for making thousands of simultaneous inbound and outbound calls which are routed to end users’ phone lines, based on business rules. Users pick a custom 800 number from a pool. Then they use that number in their print ads or on their billboard. When the line picks up, it can run callers through a verbal survey and records their answers, routing them to certain reps based on those answers. Or the users can create custom menu systems (for example, press 5 for a Korean-speaking salesperson).
How to handle the load? After a ton of research, we eliminated Asterisk as a viable solution because it lacks cost-effective scalability. Asterisk can handle hundreds of simultaneous calls per server and, it functions as a fully-functional PBX. Impressive, but we needed something more. And it was then that we came across the open source telephony platform, FreeSWITCH. FreeSWITCH was originally developed from the Asterisk codebase by a splinter team that wanted to see exactly how much performance they could squeeze out. By rewriting the stack from scratch, they managed to get about TEN TIMES the performance. Yes, FreeSWITCH handles thousands of calls at one time.
At this point, we contracted with a SIP trunking service (their service is awesome, but their support super-sucks, so I won’t mention any names) to provide VOIP service. We built in the ability to detect busy signals and answering machines. And then, after a tremendous amount of testing, the beast was born. The system is currently in place and tremendously reliable. In fact, in about 6 months of production use, the server has only crashed once.
If you would have asked me 5 years ago if such a system could be built, I would have probably looked confused and babbled semi-coherently about insane 7-figure budgets and 12-month development cycles. But having helped get this amazing system in place, I am a pleased to say that custom telephony solutions can be had for not much more than your typical social networking site. We truly achieve great things by standing on the shoulders of giants.
Next up … voice recognition. Oh yeah!
EDIT (03-22-10): I wasn’t sure if this client was keen on having me post up details of the technology that their app runs on, so I left their name out of the post. However, I just got permission to link to their app. I know this sound like advertising, but it isn’t at all … I’m just very proud of what we’ve accomplished. Call Tracking It’s free to give it a test.