Learn how tropo built a huge voice cloud while using DNS for a key/value store
Join me as I talk with Jose De Castro from Tropo, a powerful yet simple API that adds Voice, SMS, Twitter, and IM support to the programming languages users already know.
Tropo makes it easy for developers to build communications applications.
Tropo started out with basically voice phone calls and SMS and over the last couple years, they've added almost every instant messaging network, as well as Twitter.
You can think of it as a real-time communications mashup platform.
You can receive phone calls, play something your callers may put in a conference, or have a call that triggers a tweet, or a tweet that triggers an SMS
Voxeo is the parent company behind Tropo.
Tropo has been doing telephony and call center-related things for 10 years.
Tropo has massive telephony infrastructure inside their seven data centers.
Tropo's provisioning API and the website right now and Java, so they're using Jersey framework.
Tropo also uses RabbitMQ and ActiveMQ for all of their internal queuing infrastructure.
Tropo's core media server is written in C++ with some Java sprinkled in.
The core media server is what does all of the audio processing.
Tropo started off as a VoIP company, and they've spent the last 10 years really perfecting high-quality audio, and how to make that experience as good as possible.
Tropo can do cool things like speech recognition, so users can actually talk to their apps.
Tropo can synthesize speech in 24 languages.
Tropo can do audio conferencing, answering machine detecting, and fax detection.
End users only have to learn a very simple API.
Tropo owns and operates their own data centers.
They deal with several VoIP carriers, both nationally and internationally.
Tropo uses low-latency data pipes, and from there calls go into this network role called the session border controller.
They can route calls dynamically to different customer clusters.
They can spin up dedicated servers for that customer on demand
Every role in the network is completely virtualized, including the proxy servers, the billing system.
Tropo uses DNS for their key value stores.
Tropo launched almost 3 years ago.
The company had this idea of what a next-generation real-time telephony and telecommunications tack would look like.
Logging is probably Tropo's biggest challenge.
They've partnered with a company called .
In a Splunk setup, there are three roles: a light forwarder that grabs a file and ship it off to index servers; a huge farm of index servers; and UI servers.
Tropo sponsors the Adhearsion project, a Ruby framework for building voice apps.
Ryo is a real-time message-oriented server.
Check out labs.voxeo.com and check out the blog.
They have cool APIs coming out and sponsoring cool APIs.
Stay in touch using their blog at blog.tropo.com or via Twitter at @Tropo