Archive for March, 2008

Voice Mashups – Using Phone Numbers as GeoTags to Get Directions

Friday, March 7th, 2008

What if you could use a phone number as a “geotag” to identify a location and get directions? What if you could call into a service, enter in a phone number of where you want to go and then your current phone number – and get directions?

In this video episode of Voxeo Talks, Moshe Yudkowsky discusses his “phone 2 directions” voice mashup that lets you call in, enter in a phone number and get directions spoken to you based on the location associated with that phone number. Here’s the video:

If you want to try it out, just call

+1-312-252-1758

enter in your phone number and you will receive driving directions from your location to the eComm 2008 conference next week in Silicon Valley (where this app will be discussed). And yes, it will give you directions from clear across the country.

Note that there is an obvious caveat with this service – if you use a phone number that’s with a cell phone, a VoIP service or in a different region through Local Number Portability, it probably won’t work.

More information about this voice mashup is available at:

www.phone2directions.com/

For those of you developing apps, Moshe has made the source code available for those who want to create your own mashups at:

p2dir.sourceforge.net

I’ve not yet looked at it myself but Moshe indicates that he’s showing folks how to connect to MapQuest and StrikeIron (source of reverse number address lookups) in his PHP code. Since the code is open source, I’ll be curious to see what else people do with it. Note that Moshe built it for ifbyphone using their developer API. (Ifbyphone is a partner of Voxeo who is providing very cool services to small and medium-size businesses.)

You can, of course, develop your own voice mashups for free using either our hosted Evolution platform or download our Prophecy premise platform at:

www.voxeo.com/free

Meanwhile, enjoy the video, call the demo (1-312-252-1758) and let us know what you think! (And if you are out at eComm you’ll be able to see this demo and talk to both us and folks from Ifbyphone.)

Technorati Tags: , , , , , , , , ,


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


Certified Tech Tip: Prophecy 8 CCXML 1.0 Call Recording

Thursday, March 6th, 2008

voicexmlcertifieddeveloper.gif

Last week’s tech tip delved into the world of SSML and CallXML. This week, we take a different route, and take a look at Call Recording in CCXML 1.0 — a highly sought-after feature. While it is relatively new, our Engineers are constantly working on ways to improve it. It should be noted that this will only work in Prophecy 8.

First, though, I’d like to introduce myself, as this is my first posting to the Voxeo Developers Corner blog. My name is Jeff Menkel, and I’ve been a Supporteon at Voxeo since December 2006. I attained my VoiceXML certification back in November 2007, with expertise on advanced CCXML concepts.

As it stands now, we can record VoiceXML dialogs, and interactions within. Now, you’re probably asking yourself, I’d like to test this out, how can I get started? Here’s the scoop. Call Recording in CCXML 1.0 starts with a simple variable declaration and assignation:

<var name=”filename” expr=”"/> … <assign name=”filename” expr=”event$.connection._RecordCall(100,’TestRecording’)”/>

Now, you may be wondering what exactly these parameters mean. Lets have a look at the basic “equation” if you will:
z = _RecordCall(x,y)
The ‘z’ variable is equal to the file name being used. In the above example, this is the “filename” variable.

The value of ‘x’ is equal to a number between 0 and 100. This is the probability that the call will be recorded. Setting this to 0 means call recording is turned off. Setting this to 100 means all calls are recorded. Setting this to 10 means 10 percent of calls will be recorded.

The ‘y’ value will be used to add any additional text to the file name. In this case, the additional text is “TestRecording”.

And now, for the sample code…

<?xml version="1.0" encoding="UTF-8"?>
<ccxml version="1.0" xmlns:voxeo="http://community.voxeo.com/xmlns/ccxml">
   <var name="state0" expr="'init'"/>
   <var name="connid"/>
   <var name="filename"/>

   <eventprocessor statevariable="state0">
      <transition event="connection.alerting">
         <accept/>
      </transition>

      <transition event="connection.connected">
         <assign name="state0" expr="'tts'"/>         <assign name="connid" expr="event$.connectionid"/>
         <assign name="filename" expr="event$.connection._RecordCall(100,'TestRecording')"/>
         <log expr="'Recording to filename '+filename"/>         <dialogstart src="'null://?text=Hello and welcome to Vox Ayo CCXML re cord call tutorial.'" <br>          type="'application/x-texttospeech'"/>
      </transition>

      <transition event="connection.disconnected">
      </transition>

      <transition event="dialog.exit" state="tts">
         <assign name="state0" expr="'vxml'"/>         <dialogstart src="'any_audio_file.wav'" type="'audio/wav'" connectionid="connid"/>
      </transition>

      <transition event="dialog.exit" state="vxml">
         <log expr="'***** SUCCESS *****'"/>
            <exit/>
      </transition>

      <transition event="dialog.exit">
         <log expr="'***** FAILED *****'"/>
      </transition>

      <transition event="error.*">
         <log expr="'Houston, we have a problem: (' + event$.reason + ')'"/>
            <exit/>
      </transition>
   </eventprocessor>
</ccxml>

In a nutshell, this records a TTS string launched via <dialogstart>, then transitions to the dialog.exit event, which in turn launches a second dialog, which is also recorded, and is a simple audio file in .wav format. But hey, don’t take my word for it, try it out for yourself, and be sure to check out next week’s certified tech tip by Jeremy McCall, who will be talking about how to automate phone calls.

Stay tuned, Jeff Menkel Voxeo Corporation


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.