Where Did the Call State Go?

In the spirit of Freakonomics, I’ve been able to find a key differentiator between voice mashups and voice applications : call state.

Let me take a minute to catch our non-technical audience up on call state (this is for you, Mom.) When writing a voice application, you often have to worry about what the phone is doing : is it ringing, is it off the hook, is in on the hook, etc. If you are trying to patch two phones together, you have to worry about the call state of each of the two phones. And in general, when one phone does something, it means you have to make the other phone do something. For instance, if the first phone hangs up, you typically hang the second phone up too.

All this has major implications to the engineer:

  • Call state is unique to every phone, and therefore if your application crashes, you loose the call state of the phone, and the call goes down. Bad for both reliability and scalability.
  • Call state happens in real time, so you absolutely need to have fast performance to handle call state applications.
  • Call state requires a working knowledge of phones and phone protocols, a rare and difficult to reproduce skill.

If your application is deeply concerned with call state, it is probably a voice application. If the application really don’t care what the call state is, it is probably a voice mashup. The degree of call state involvement is the degree to which voice is the star in your application. Voice applications, such as unified messaging, call centers, PBX productivity enhancements and prepaid services are loaded with call state. Voice mashups, like applications that use voice for data collection, notification and process visibility often have no involvement in call state.

In turn, the fact that voice mashups have limited exposure to call state has the following implications:

  • Since call state is not involved, voice mashups are more reliable and scalable.
  • Since call state is not handled in real time, voice mashups can be written with less stringent real time requirements. (This means you can use the most modern CASE and 4GL tools like Ruby and Cordys)
  • Since no working knowledge of phones and protocols is required, more and less skilled people can write them.

To be clear, there’s a vibrant market for voice applications. Near as I can count, there are about ten to twenty important applications, and they aren’t going away anytime soon. Lots of money there, too. But, as we’ve talked about countless times before, there are tens of thousands of applications that can extended using voice mashup techniques, and fortunately for everyone, are call state light.

One Comment

  1. Posted November 19, 2007 at 1:31 pm | Permalink

    Blessings and Peace:

    Thank you for a concise and informative piece on call state.

    My mind has been turning of late, about a mashup for the venerable GrandCentral.Com. I would love to have readers call in a comment, and then mash their call right into the comment area (via Word Press).

    I haven’t heard much, at all, about a Grand Central API, or developers forum. With all the Open Social talk, you’d think that GC would be right in the midst of it all.

    ——–

    Also, a list of your 10-20 ‘important’ voice applications would be great to see.

    In Service of THE ONENESS,
    The Digital Doctor

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*