CodeJOAT: Thirty years of being an IT dogsbody

Want your web app to talk on the phone? Try Tropo!


Wednesday, June 09, 2010

I recently started a project to collect sales data from a couple hundred stores where the only technology assumption I could make was that the store owner would have a phone. A while back, one of the smart guys in my local Ruby user group talked about Asterisk (a software-based PBX) and Adhearsion (a lovely Ruby framework that takes a lot of the grunt work out of Asterisk setup). I asked him for advice and he suggested Tropo , a hosted telephony service.

If you want to have any kind of telephone-based interaction with your app, Tropo is the way to go. You can write IVR scripts to collect data or set up phone trees, as well as adding IM and SMS connectivity to your app. Developer accounts are free and have all the features of production accounts. Tropo wants you to develop apps, and makes it as easy as possible. Production usage is charged by the minute or by the message.

I found that Tropo’s developer support is excellent: Support Engineers answer forum questions quickly and hang out on IRC at all hours of the day or night.

My initial project is pretty simple, an IVR script hosted at Tropo which then posts results to a REST web-service hosted at Heroku. I’m spending more time on the REST service code than I am on the IVR portion. This is a kind of ‘push’ app, where all the serious interaction with the caller takes place in the Tropo script, then the final results are pushed to my REST service.

Tropo also has a web-api that allows Tropo to send your web app the initial connection event which occurs when a caller calls the telephone number assigned to your Tropo account, then allows your app to create the IVR interactions on the fly, based on information the caller enters during the course of the call.

Sign up for a developer account and try out the samples, you will be glad you did.

Until next time,

Tom Porter

tomporter@codejoat.com