Love calls over the IP network

I usually suck at Velentine’s day presents. This year, however, I may have just killed several birds with one stone and impressed my wife too.

It all started a couple of months ago, when I noticed ever more frequent mentions of internet telephony becoming a very big thing. I have dutifully subscribe to a couple of blogs, had a quick read of leading websites and left it to stew in the background. The whole VOIP/VoiceXML/CallXML/IVR field looked like a fairly complex field with a steep learning curve.

And so it was until, on the 12th of February I had seen a Telephony Mashup Contest announcement with reasonable prizes, but only 2 weeks deadline. As part of the description somewhere, it was mentioned that free developer accounts were sufficient to get a mashup working.

Suddenly, the whole telephony did not look scary. With timelines so short, it could not be so difficult to get into it and free developer accounts turned out to be rather better than anything I could have imagined. Specifically, Voxeo’s hosted solution provided free access to all I needed to put together an application, including a real-time debugger/tracer. They even gave phone numbers to test the application.

I did not care about building a mashup, but using my technical skills to surprise my wife was another matter entirely.

So, I set out to build a Let me count how many ways I love you application with the code name Valentine. The basic idea is that I leave my wife a phone number to call, but the message at the other end of the phone line is with my voice counting the ways I love her. The interactive twist was her being able to choose the number of ways with DTFM (press 5 for 5 top reasons).

Since Voxeo’s developer accounts are self-provisioned, I was able to get one immediately. They have a good amount of documentation to start, and it took barely 20 minutes to implement and - more importantly - understand their Hello World application. I was hooked.

Voxeo provides both text-to-speech(TTS) and voice recognition as part of free services. I did not need voice recognition, but TTS came very useful during development phase. I used TTS as stubs for the messages until I had the flows ironed out and then replaced all the prompts with my own voice. All in all, it took a couple of hours, with voice recording and uploading probably taking more than the programming itself.

For those who are interested, an early version is available for download. It is in CallXML 2.0, which is Voxeo’s proprietary solution. I used it because that’s what Hello World was in and I did not even notice that CallXML 3.0 and/or VoiceXML was an option. If I had to do it again, I would use VoiceXML/CCXML or at least CallXML 3.0.

Since the Valentine day, I had been looking for other solutions like Voxeo’s. There is free hosting from Tellme, but it requires your own hosting setup and applications need human approval, so the service takes just that much longer to get into.

Either way, I am getting quite excited about telephony, so will see what other interesting things are possible around it.