One big difference between the Web world and the telecom world are standards. I don’t mean that they use different standards (although they do), they have a different approach the standards entirely. Other than the two worlds of standards represented by the Telco and Web world, there’s a third sort of standard - an implementation standard. A “this is how we tend to do this sort of stuff” standard. For instance, there’s really no one PSTN standard - it’s just how we have put together many other standards to make something that works. We need to establish a standard for Telco Mashups; a set of conventions as to how we tend to write these applications. Since I’ve been at this, I’ve noticed a standard pattern I’ll call the Web Integrated Telco Architecture - WITA. From where I sit, the an application written to the WITA standard is more scalable, more reliable and easier to write than anything else I have seen put forward for telephony enabled services. As I put together my telco mashup applications, and see companies like Gaboogie and Twitter do the same, I see that we all use approximately the same approach. If we can standardize it, give it a name, we can build the community quicker.
- Voice XML: WITA uses VXML to handle inbound interactions with human beings, and most outbound voice messaging applications use VoiceXML to make those messages rich an interesting. The VXML scripts are delivered by a web services application, and post the inputs the collect to a web services application.
- Ruby on Rails : WITA uses Ruby on Rails to implement the web services application. It’s responsible for putting the logic on top of the database, and for rendering views to the user in the form of VxML scripts, Web Services APIs and graphically intensive web pages.
- Telco Web Services : WITA uses telco web services to deliver telephony features such as outbound messaging, conference calling, click to dial and SMS messaging. These web services are called from the Ruby on Rails frame work, and provide the scaling and reliability components of the architecture.