Home > Articles > Web Services > XML

This chapter is from the book

This chapter is from the book

1.4 Getting Started

It's "Hello World" time! There are two routes you can take to get up and running with VoiceXML. The first is to set up an account with one of the online VoiceXML development services and then set up a directory that can be accessed from the Internet where you will keep your VoiceXML files. The second is to download a VoiceXML interpreter, an ASR engine, and a TTS engine, and install these on your desktop PC.

Depending on which route you take you should look at either 1.4.1, "Setting up a remote hosted environment," on page 18 or 1.4.2, "Setting up an IDE environment," on page 20 to get your environment up and running.

1.4.1 Setting up a remote hosted environment

Using a remote hosted environment is probably the easiest way to get up and running quickly. It does, however, require both Internet and telephone access during the testing process.

Setting up this environment consists of two steps. First you need to find server space where you can put VoiceXML documents on the Internet. The best solution is to have access to a Web server that can be accessed by domain name or IP address from the Internet. The next best solution is to use a free Web-hosting service. It is important to find one that doesn't litter your pages with advertisements, as their HTML code will cause the VoiceXML interpreter to freak out.

Let's go ahead and assume you don't have a Web server of your own and would like to develop on one of the free hosting services and VoiceXML development platforms. The following example will use GeoCities as our free Web server and VoiceGenie as our VoiceXML development platform.

We'll start by setting up an account on GeoCities. To do this you'll need to follow the "Sign up for a free website" link on their hope page at http://www.geocities.com. This will take you through the registration process. Once you have completed this and are fully logged in, you'll want to go to the File Manager application. You can do this by going to http://geocities.yahoo.com/filemanager. Here you will see a Web-based file manager. You'll want to click on "New (Create a new HTML file)". This will open up a Web-based text editor with some skeleton HTML markup. Delete all of this text and enter instead the contents of Example 1–1.

There should be a text field labeled "Filename:". Enter hello.xml. Now press the button labeled "Save". Note that we used the .xml extension instead of the more typical .vxml extension. This is because many of the free sites insist that you use a common Web extension and don't recognize .vxml. VoiceXML interpreters rarely care what the file is called and .xml certainly is as accurate as .vxml, if not as specific.

You have now published your first VoiceXML document to the Web. To verify this visit your new VoiceXML website by typing

Example 1–1. hello.xml

<vxml version="2.0">
  <form>
   <field name="hello" type="boolean">
     <prompt>Isn't this exciting?</prompt>
     <filled>
      <prompt>
        You said <value expr="hello"/>
      </prompt>
     </filled>
   </field>
  </form>
</vxml>

http://www.geocities.com/yourname/hello.xml into the address field of your browser, replacing yourname with whatever account name you gave yourself when creating your GeoCities account. You should see more or less what you typed in. Depending on your browser settings you may see only:

Isn't this exciting? You said 

For example, in Internet Explorer, you can see the entire source by selecting the menu View and then the menu item Source.

The next step is testing your application using one of the free VoiceXML development platforms. Let's use the VoiceGenie platform as it is relatively easy to use. This is a VoiceXML interpreter running on a computer with telephony hardware. You can call in to this machine over the telephone and interact with your VoiceXML application.

In order to test your application you will need to create an account on VoiceGenie's development server. You can do this by visiting http://developer.voicegenie.com and clicking on the "Register" link. This will guide you through the account creation process.

Next, you will need to assign an "extension" to your application. An extension is just a five digit number that you need to dial after dialing in to the VoiceGenie server. To assign a new extension click on the tab labeled "Tools". You will then see a link labeled "Extension Manager". Click on this link.

The table showing all of your extensions will be empty. At the bottom of this list will be a text field labeled "Add:"; type into this text field the same URL you used in your browser to look at hello.xml, namely http://www.geocities.com/yourname/hello.xml. Click the Add button. You should now see a five digit number followed by the aforementioned URL.

Now you will need to pick up the phone and dial the telephone number for one of their development boxes. They have two boxes configured using different TTS and ASR technologies. For this application, either one should work. When you are connected you will hear a welcome message and then you will be asked for your extension. When you say the five digit extension shown in the table you will be transferred to a VoiceXML interpreter running your application. Your dialog with the interpreter might be similar to the one in Example 1–2.

Example 1–2. Interaction with hello.xml

Interpreter : Isn't this exciting?
You     : Yes.
Interpreter : You said yes. 

You now have a hosted VoiceXML environment suitable for developing static VoiceXML applications. As we go on to the examples that require dynamic document generation technologies like ASP, JSP, etc. you will need to find a more sophisticated server environment.

In addition, you can try different VoiceXML hosts for your hello.xml file now that it is on the Web. The process for creating developer accounts and assigning extensions is pretty much the same for all of voice-hosting service providers.

1.4.2 Setting up an IDE environment

If you want to test right on your desktop PC, you'll need to download a VoiceXML IDE (Interactive Development Environment) system. This will need to include ASR, TTS, a VoiceXML interpreter, and optionally some sort of development tools. The two most mature candidates in this arena are IBM's WebSphere Voice Toolkit and Nuance's V-Builder.

There are a few caveats with this approach. First, the downloads are enormous! (On the order of hundreds of megabytes for all of the ASR and TTS data.) Second, they require considerable CPU power and RAM to run properly. A third issue is the tedium of installation. None of the packages has a "one-button" installer, but instead they require you to find the right packages and install them in the proper order. This can be time consuming and frustrating.

The advantage to this approach is the fact that your development environment is completely self-contained. You don't need Internet connectivity, nor do you need to continuously call into a VoiceXML interpreter to test your application — which, over the long haul, might prove to be more frustrating. These IDE products provide a telephone simulation-mode, where you do not have to use a telephone, though you will need a headset and microphone connected to your PC.

To install IBM's IDE, Voice Toolkit, you will also need to download their Voice Server SDK.

You can start by going to http://www-3.ibm.com/pvc/products/voice/voice_technologies.shtml and scrolling down the page for information about both products. You must also download at least one language package along with the main installation package. After you have downloaded the Voice Server SDK product, you can remove the download package(s) and the extracted installation program files.

To launch the IBM WebSphere Voice Server SDK 2.0 Installation Wizard, run the setup.exe file, which is located in the directory where you unpacked the installation package. Follow the instructions in the Installation Wizard to install the SDK.

Repeat the procedure for downloading Voice Toolkit. Run the setup.exe file to begin the Installation Wizard and follow the instructions.

You are now ready to develop VoiceXML applications on your PC without requiring telephone connectivity using telephone simulation.

The Voice Toolkit IDE provides the following:

  • VoiceXML editor,
  • VoiceXML debugger,
  • grammar editor,
  • grammar test tool,
  • pronunciation builder,
  • built-in audio recorder,
  • VoiceXML reusable dialog components,
  • speech recognition engine,
  • Text-To-Speech engine.

1.4.3 Conclusions

We've now gotten our first VoiceXML application to work. In a mere nine lines of code we've demonstrated TTS, ASR, and a trivial call flow. The next chapter will pick up where this one left off, starting with simple forms and going on to cover all of the major language features of VoiceXML.

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020