voice xml ivr service
      Database Systems Corp. BBB Business Review
   IVR AND VOICE BROADCASTING SERVICES AND SYSTEMS Home  |   Contact Us  |   About Us  |   Sign Up  |   FAQ

ivr software applications


Virtual ACD Software
IVR Zip Code Locator
IVR Vendors
Answering Systems
IVR Solutions
IVR Service
IVR Systems
IVR Development Systems
IVR Programming
IVR Customer Satisfaction Surveys
Toll Free Services
Telephone Answering Service
800 Number Services
Voice Messaging Systems

ivr software applications

Website Information

IVR Software
Hosted IVR
IVR Hosting

IVR systems interactive voice response

Custom IVR Applications

This section of our technical library presents information and documentation relating to IVR Development and custom IVR software and products. Business phone systems and toll free answering systems (generally 800 numbers and their equivalent) are very popular for service and sales organizations, allowing customers and prospects to call your organization anywhere in the country. The PACER and WIZARD IVR System is just one of many DSC call center phone system features..

What Is IVR?. An Interactive Voice Response (IVR) processes inbound phone calls, plays recorded messages including information extracted from databases and the internet, and potentially routes calls to either inhouse service agents or transfers the caller to an outside extension.

Contact DSC today. to learn more about our IVR services and IVR application development software.

The New IVR: Talking to You
Page 5

By Robert Richardson, Computer Telephony

IVR is moving off the premise and into the network. And its front and back-ends are changing - to embrace wireless, the web, and Net development models.

I don't want a student caller to have to say "one-four" when they mean "fourteen," so I need a grammar that understands all the natural numbers, along with their keypress equivalents. I don't have to build the grammar myself (although voiceXML allows me to) because the studio provides several natural number grammars (zero to nine, zero to ninety-nine, and so on). There are prebuilt grammars for decimal values, currency names, various expressions for U.S. currency ("twenty bucks"), months, days, hours, minutes, and so on. So to prompt the user to tell me an assignment number, I just invoke the right grammar and create my prompt:


Say the number of
the assignment you want to

Once the prompt is answered and processed, the value that the system believes it heard is stored in a variable, which I can then use for playback to verify with the user that what the system thinks it heard is really what the caller said:

i heard you


So if the caller says "fourteen" and the system hears it, then the friendly computer voice will say "I heard you say fourteen."

Given a specific assignment number, the trick is to pull that assignment text from a database to deliver to the inquiring student. There are two options here for presenting the assignment. The easiest way is to store the assignment as text and let the system give its best shot at TTS. The problem is that, unless I take care to word the assignment very carefully, it may be fairly hard to understand, given that it may include "hard to pronounce" sections of program code and the like. For better presentation (and preservation of my signature dry wit) I may want to record the assignments as .WAV files and store those binary audio segments separately. The database can provide the essentials like due dates and assignment titles, a text description for presentation on the web page, and a pointer to the .WAV file.

Although it initially seems a little weird, accessing a database from VoiceXML works exactly like accessing a database from HTML. You make a call to some kind of "back-end" script - either using the CGI gateway or an inline scripting mechanism like active server pages (ASP) - and the script returns its output inside the appropriate markup tags (in our case, voiceXML tags).

There is one minor conceptual difference, which is that the Tellme service acts like a browser on the user's behalf. It doesn't, in other words, act like a server. This has at least one practical implication: The browser can "remember" the page it processed before the call to a CGI script, so that the returned CGI page can set a variable that then "returns" to the calling page. This is the equivalent of having a "gosub" procedure call (and the tag to make it happen is in fact a tag). To keep things simple, though, I'm not using that capability in this example.

Tellme's developer site, at studio.tellme.com, provides examples of numerous small applications, including one that calls a CGI script written in Perl to examine a small database of drink recipes. Because Tellme acts as a browser and only sees the results of any server-side scripts your web server might employ, you can use any development environment you like to create your pages dynamically at your own server.

Since my student website already employed ASP, I opted to try my hand at database access using ASP pages that employ VBScript. To make this work, I needed my ASP scripts to create pages that looked like plain-old voiceXML pages.

ASP Scripts That Output VoiceXML Pages

If you're not familiar with ASP development, the essential thing to know for our purposes is that anything sandwiched between the special tag characters "" is treated as program code that is processed by the web server and not sent out over the web to the browser that requested the page. Anything that the code within the tags writes to the "response" page is sent to the browser, along with anything that isn't located within the tags. So the page:


Sends a page to the browser that contains only the word "Hello."

And the page:


Sends the page "Just wanted to say hello" to the browser.

To get a page that delves into my Access database, I have to include appropriate VBScript code. I also have to take care of some one-time webmaster chores, including creating and uploading the database to the server, then creating a system-wide Data Source Name (DSN) for the database.

The DSN is referenced by the VBScript when an ODBC connection to the database is established, as in this top section of a page, which opens the database (called "SOTECH"), selects all of the rows in the syllabus table (which contains the assignment records), and then sets the current record to be the first record in the table:

For those of you who want to try this at home, a couple of minor points. First, Tellme's browser gets upset if the

The ASP scripting on the page we've been looking at is processed before the page is sent to the Tellme browser. The database file is open and queried and the first record is selected. The only task remaining is to poke the information from that record into the text that the friendly voice at Tellme uses for TTS. To do that, I just insert a tiny island of ASP into the middle of the voiceXML:

Page [1]  [2]  [3]  [4]  [5]  [6]  [7Next Page 

Contact DSC today. to learn more about our IVR services and IVR application development software.