VXML Gateway to Web Databases

I was engaged in conversation last year with some members of the SOAP team about using a VXML gateway to interface with their web databases. Just a warning, the following gets a bit technical.

With information from pre-competition scouting being stored in a database, the usual method of retrieval is through a website. In locations where web access is not easily available, you’re left with nothing.

An alternative I discussed was using a VXML gateway. VXML stands for Voice Extensible Markup Language. VXML was just starting to gain notice when I was discussing these plans at the 2001 Nationals. VXML support has picked up since then.

However, the premise remains the same. VXML is just a language. A VXML web page is stored on a web server just like any other web page, including the one you are looking at right now. A VXML web page can be updated, changed, and deleted. It is simply a file.

The interesting part is the VXML browser. Whereas you view web pages on a browser that is run on a computer, VXML pages are viewed through voice browsers that are run through a telephone. By calling VXML gateways, they can process VXML pages and deliver the results to you using a regular telephone (or cellular phone).

Because VXML pages are regular files, they can be dynamically updated too. An example of a dynamically updated file is the page you are looking at right now. ChiefDelphi forums run on software called vBulletin. It is coded in PHP. I’ve been working on a system that uses PHP to produce VXML pages.

By interfacing a PHP page to a database (perhaps via SQL) and producing VXML as output, you could effectively create a voice scouting database. I developed a proof-of-concept prior to going to nationals. Unfortunately, I have not touched it since. However, it is still interesting to use is as an example to explore further possibilities for this medium.

Here’s how you can try it out. Pick up your phone and call

1-800-555-8355

When you hear the speaker being listing the main menu options, press 134778.

(For those of you that like letters, that’s 1-800-555-TELL and extension 1-FIRST.)

It is a very rudimentary system that I developed. I have not interfaced it to a database, so the results being delivered are static. However, the capability exists to pull in information from an external database to update these pages (robot abilities, which competitons they attended, regional awards, current ranking, team location, etc).

Here is an example dialog that you can use: (I have only included information on three teams. Like I said, it is a very simple prototype.)

Get, Team, 596.
Yes.
Get, Team, 190.
Yes.
Get, Team, 800. (Debug example.)
No.

Just speak out the words when prompted.

I’d be interested in hearing what you think. Let me know if you have any ideas or would like to help out.

Wow! That’s incredible voice recognition technology. When I called it seemed to understand everything I said and didn’t screw up once. BTW (dare I ask) how much did it cost for them to host your VXML?

Also, I did a quick google search and found this. VXML sounds really cool and that site has some tutorials on how to use it.

Oh yeah, and if you need access to a mySQL database, I know a friend at school who owns a web server and he also has a mySQL server running. I use it and haven’t had any problems, I bet I could convince him to allow you to use it if you need it (for free of course.) He also allows php, perl, etc, and you can get him to add access to anything else you need (I was actually the one who got him to add php access.) He can give you web space, a mySQL server, or both; whatever you need.
If you are interested, email me at [email protected]

[edit]
btw, mySQL Server Uptime: 191 days, 6 hours, 14 min, 3 sec

“Wow! That’s incredible voice recognition technology. When I called it seemed to understand everything I said and didn’t screw up once.”

Good observation. It’s not regular speech recognition technology. What I have done is specify what responses to expect from a caller and the voice browser will compare what you say against what I tell it to expect. So, it’s best to make your options as vocally different as possible (e.g. team, competition). I’ve also allowed for variations (“competition”, “competition match”, “a competition match”).

“BTW (dare I ask) how much did it cost for them to host your VXML?”

Sure. It was free.

“Oh yeah, and if you need access to a mySQL database, I know a friend at school who owns a web server and he also has a mySQL server running. I use it and haven’t had any problems, I bet I could convince him to allow you to use it if you need it (for free of course.) He also allows php, perl, etc, and you can get him to add access to anything else you need (I was actually the one who got him to add php access.) He can give you web space, a mySQL server, or both; whatever you need.”

Yes, that would be good.

Adrian,

It’s been awhile, but we haven’t forgotten about you or the Voice XML project. We hope to have either an Oracle or MS-SQL database up in the next month with several events worth of data from 2001. Actually it is up and running inside Motorola, we’re just waiting on final approval to put the server outside the company firewall. When we do, we’ll add a developer login of some sort so you can grab data via SQL. This will give you a ton of match data and WASH scouting data.

Later,
KA - 108 - SOAP Team

Thanks for the reply. It’s great to know that work is proceeding on this front.

Since Motorola is one of the Sponsors and Founding Members of the VoiceXML Forum, do you think they have any servers running voice gateways similar to TellMe Studios? It’d be nice if we could bypass the advertisements.

Besides, it could similar to a pilot program to test out how the voice gateway would handle under some moderate traffic (during regionals and nationals). :slight_smile:

[Addition: Is the SQL database relational? I’ve been trying to learn more about and create relational databases, and I’m curious if you’ve including this for your match data. (Match -> Team, Match -> Competition, etc.) Some interesting applications.]

The VXML class I had signed up for was cancelled. :frowning: I’m not even sure who to contact to ask. I’ll try to dig up info…

MSSQL and Oracle fully support relational db’s. The SOAP database has tables with some common fields which can be used to join tables. For instance there are 4 matchscores for every 1 matchdetail (since each team gets a score, but some things are in common like the # of small ball), and records from these two tables can be joined on fields (1)competition id, (2)match #, and (3) stage.

KA - 108

Details down to the stage? Wow, that’s excellent.

I look forward to hearing from you. If you don’t manage to get the VXML class, there are a few tutorials online, and I am learning too. :slight_smile:

I lost your email address (recently reinstalled operating system). You can contact me at [email protected], however. Thanks for keeping me updated.

Wow…VXML is an amazing technology. It can do so much cool stuff. I really enjoyed the tutorials at voicexml.com I would really encourage everyone to read that tutorial, even though you do not have any experience it is still fun.
Cya:cool:

Is there any software or compiler we have to use in order to run the Vxml program(rather a script)?

You can get free hosting for your VXML stuff at http://studio.tellme.com/ . Just sign up and use thier server. When you call you have to sit through some advertisements, but its all free and they give you some sample programs you can use to get started.

Just to clarify from before, this is how the VXML infrastructure works:

[Removed: ASCII formatting didn’t turn out. See attached file for diagram.]

You host your VXML pages on any Internet webserver (e.g. chiefdelphi.com, yahoo.com, geocities.com, &c.). Then, you find a VoiceXML Gateway that has something called a VoiceXML Browser. Gateways include: TellMe Studios, VoiceGenie, &c. Finally, you get a phone number (or an extension) that you can call to reach your VXML page via the VoiceXML Gateway.

All the speech recognition and synthesis is handled by the VoiceXML browser. The webserver serves up the VXML file to the browser, which in turn, reads it to you on a telephone. :slight_smile:

Like you said, really cool stuff. grin It was just starting to gain steam last year, and it’s becoming more and more popular. Soon, there may be a large influx of VXML developers, and free VoiceXML gateways will pop up like the GeoCities of today.

By the way, anyone interested in helping out, we need some voice talent. Someone to read off an introduction and give various canned lines. If you’re interested, email me: [email protected].

diagram.txt (415 Bytes)


diagram.txt (415 Bytes)

Things are starting up again on this front.

Any one experienced in the field of VXML, XML, or even XSL transformations, please contact me at [email protected].

I’m also looking for a voice model. :slight_smile: Yes, someone to be the voice of this database. Preferably, someone that sounds better than me. If you’re interested (all you have to do is record a few lines and words), contact me.