6   Vocal Scripter

Vocal Scripter provides a text channel or "chat mode" channel to test the application flow of your VoiceXML code.

Vocal Scripter decouples application flow testing from voice recognition testing. This tool dramatically speeds application testing by providing you with the ability to run VoiceXML applications using a text-based interaction.

Note: To use the BeVocal tools, you must have the Java Runtime Environment (JRE) 1.5.7 installed on your computer.

Click Vocal Scripter on the Tools & File Management menu to bring up the Vocal Scripter window. This window initially appears as follows:

Vocal Scripter has two modes--interactive mode and batch mode. Vocal Scripter allows running one application in both interactive mode and batch mode.

You can change between interactive and batch mode in a single Vocal Scripting session without terminating the session.

To provide digits or number input to Vocal Scripter, specify the input in text format. Type "one" instead of "1", "twenty" instead of "20", and so on. If you use the built-in digits grammar, give the input as "five two four zero" instead of 5240.

To provide DTMF input to Vocal Scripter, specify the DTMF input as dtmf-1, dtmf-2, dtmf-star instead of as the numbers 1, 2, *. Alternately , specify the DTMF input as digits separated by spaces. For example, you can enter "1 2 3" instead of the numbers 1, 2, 3. If you specify the input as 123, it is treated as the number "one hundred and twenty three".

Every connection expires after an hour. At that time, the connection is disconnected.

Interactive Mode

In interactive mode, the user types responses to VoiceXML text prompts in real time. To use Vocal Scripter in interactive mode, do the following:

 •  Click Tools & File Management.
 •  Select an active VoiceXML application using the File Management tool.
 •  Click Vocal Scripter on the left menu to open the Vocal Scripter window.
 •  Click Interactive Mode in the lower-left of Vocal Scripter.
 •  Click Clear Screen to clear the display of text.
 •  Click Dial to make a connection.
 •  When prompted, type the corresponding input in the User Input text box.
 •  If necessary, explicitly terminate the connection by clicking the Hang Up button.

Batch Mode

In batch mode, the user either provides a URL or uploads a text file containing inputs for running the VoiceXML application. Only input files with .txt extensions are accepted. To upload a file, users can use the File Management tool. Users can also open multiple Vocal Scripter windows to debug the VoiceXML application with different input files at the same time.

The input file contains a sequence of input lines corresponding to running the application. Each line represents an input per request prompt. The application will take the first line as its first input and then go to the next line.

To use Vocal Scripter in batch mode, do the following:

 •  Select an active VoiceXML application using the File Management tool.
 •  If applicable, upload an input file using the File Management tool.
 •  Click Batch Mode in the lower-left of Vocal Scripter.
 •  Type the URL of the input file in the Batch File URL text box.
 •  Click Dial to make a connection.
 •  The connection will be terminated once the running application is completed. Alternatively, click Hang Up to explicitly terminate the application.

For example, if you have the following simple VoiceXML application in the file calculator.vxml:

 <?xml version="1.0" ?>
 
 <!DOCTYPE vxml
   PUBLIC "-//BeVocal Inc//VoiceXML 2.0//EN" 
   "http://cafe.bevocal.com/libraries/dtd/vxml2-0-bevocal.dtd">
 
 <vxml version="2.0" 
   xmlns="http://www.w3.org/2001/vxml"
   xml:lang="en-US">
 
 <!-- 
   <meta name="maintainer" content="you@yourcompany.com"/> 
 -->
 
 <link next="http://yourcompany.com/this.vxml">
   <grammar type="application/x-nuance-gsl">
     [
       (bevocal reload)
       (dtmf-star dtmf-star dtmf-star)
     ]
   </grammar>
 </link>
 
 <noinput>
   I'm sorry.  I didn't hear anything.
   <reprompt/>
 </noinput>
 
 <nomatch>
   I didn't get that.
   <reprompt/>
 </nomatch>
 
 <property name="universals" value="all" />
 <help>
   I'm sorry. There's no help available here.
 </help>
 
 <form>
   <block>
     This is the BeVocal calculator.  
   </block>
 
   <field name="op">
     <prompt>
       Choose add, subtract, multiply, or divide.
     </prompt>
   <grammar type="application/x-nuance-gsl">
         [add subtract multiply divide]
     </grammar>
     <help>
       Please say what you want to do. <reprompt/>
     </help>
     <filled>
       <prompt>
         Okay, let's <value expr="op"/> two numbers.
       </prompt>
     </filled>
   </field>
 
   <field name="a" type="number">
     <prompt>
       Whats the first number?
     </prompt>
     <help>
       Please say a number.
       This number will be used as the first operand.
     </help>
     <filled>
       <prompt> <value expr="a"/> </prompt>
     </filled>
   </field>
 
   <var name="result"/>
 
   <field name="b" type="number">
     <prompt> And the second number? </prompt>
     <help>
       Please say a number. 
       This number will be used as the second operand.
     </help>
     <filled>
       <prompt> <value expr="b"/> Okay. </prompt>
 
       <if cond="op=='add'">
       <assign name="result" expr="Number(a) + Number(b)"/>
         <prompt>
           <value expr="a"/> plus <value expr="b"/>
           equals <value expr="result"/>
         </prompt>
       <elseif cond="op=='subtract'"/>
         <assign name="result" expr="a - b"/>
         <prompt>
           <value expr="a"/> minus <value expr="b"/> 
           equals <value expr="result"/>
         </prompt>
       <elseif cond="op=='multiply'"/>
         <assign name="result" expr="a * b"/>
         <prompt>
           <value expr="a"/> times <value expr="b"/>
           equals <value expr="result"/>
         </prompt>
       <else/>
         <assign name="result" expr="a / b"/>
         <prompt>
           <value expr="a"/> divided by <value expr="b"/> 
           equals <value expr="result"/>
         </prompt>
       </if>
 
       <clear/>
     </filled>
   </field>
 </form>
 </vxml>
 

You can use the following input file (calculator.txt) for batch operation of the calculator example:

 multiply
 five
 four
 add
 fifty
 forty
 subtract
 eight
 five
 divide
 nine
 three


[Show Frames]   [FIRST] [PREVIOUS] [NEXT]
BeVocal, Inc. Café Home | Developer Agreement | Privacy Policy | Site Map | Terms & Conditions
Part No. 520-0005-01 | © 1999-2007, BeVocal, Inc. All rights reserved | 1.877.33.VOCAL