<bevocal:register>

Extension. Register a voice print that can be used to verify caller identity.

Syntax

 <bevocal:register
     name="string"
     type="boolean"|"date"|"digits"|"currency"|
           "number"|"phone"|"time"
     keyExpr="js_expression"
     mode="adapt"|"delete"|"skip">
   Child Elements
 </bevocal:register>

Description

Input item that prompts for a value matching a particular grammar and then registers the user's response as a voice print for the specified key.

Any utterances that match a universal grammar or a grammar in document or application scope are recognized as they would be in a <field> element. However, only those utterances that match the grammar of the <bevocal:register> element itself are used to create or adapt a voice print.

Note: Unlike other input items, a <bevocal:register> element is not a possible go-back destination for the go-back facility. That is, the user cannot say "go back" to return to a <bevocal:register> element, retracting earlier input to that element. See the Chapter  7, Go-Back Facility for a description of the go-back facility, a BeVocal VoiceXML extension.

Any DTMF input is rejected and results in a nomatch event.

<bevocal:register> implements a shadow variable with the same properties as the shadow variable for the <field> tag.

Attribute Description
name

Name of the input variable that will hold the recognition result. The variable name may not be a JavaScript reserved keyword.

The input variable has dialog (form) scope.

type

Specifies an internal grammar. Optional (as alternative to a child <grammar> element).

 •  boolean - Grammar for recognizing positive and negative responses. Returns true for yes and false for no.
 •  date - Grammar for recognizing dates. Returns string with format yyyymmdd; ???? is used for an unknown year and ?? is used for an unknown month or day.
 •  digits - Limited grammar for recognizing a sequence of digits. Returns a string of digits.
 •  currency - Grammar for recognizing amounts of money, in dollars (Not Implemented: International currency designation). Returns a string with format mm.nn.
 •  number - More general grammar for recognizing numbers. Returns a string that could include digits, a decimal point, or positive or negative sign.
 •  phone - Grammar for recognizing a telephone number adhering to the North American Dialing Plan (with no extension). Returns a sequence of digits.
 •  time - Grammar for recognizing a time. Returns a string with format hhmmx where and x is one of: a for AM, p for AM, h for 24 hour notation, or ? for an ambiguous time (could be AM or PM).
keyExpr

Javascript expression whose value is the key identifying this user's voice print.

mode

Action to take if a voice print exists for the key specified by the keyExpr attribute. Optional (default is adapt).

 •  delete - Delete the existing voice print and start creating a new voice print.
 •  adapt - Refine the existing voice print with the user's response.
 •  skip - Skip execution of the <bevocal:register> tag.

Usage

Parents Children
<form>
<audio>
<catch>
<error>
<filled>
<grammar>
<help>
<noinput>
<nomatch>
<prompt>
<property>
<value>

See Also

 •  Related tag: <bevocal:verify>
 •  Speaker Verification

Examples

 <?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">
   <form id="register_user">
     <field name="account" type="digits">
       <prompt>What is your account number.</prompt>
       <filled>
         You will now be registered as the only authorized
         caller for this account.
       </filled>
     </field>
     <!-- *********************************************************** -->
     <!-- * Use the account number as the speaker's key. Create a   * -->
     <!-- * new voice print for that key, deleting any  voice print * -->
     <!-- * that already exists for the key.                        * -->
     <!-- *********************************************************** -->
     <bevocal:register name="phone1" type="phone" keyExpr="account" mode="delete">
       <prompt>Please say your telephone number.</prompt>
     </bevocal:register>
     <bevocal:register name="phone2" type="phone" keyExpr="account">
       <prompt>Please repeat your telephone number.</prompt>
       <filled>
         <if cond="phone1 != phone2">
           <prompt>
             You did not say the same phone number both times.
             Let's try again.
           </prompt>
           <clear namelist="phone1 phone2"/>
         </if>
       </filled>
     </bevocal:register>
     <bevocal:register name="numbers" type="digits" keyExpr="account">
       <prompt>
         Please say one two three four five, 
         one two three four five
       </prompt>
     </bevocal:register>
     <bevocal:register name="color" keyExpr="account">
       <grammar> [red blue yellow green] </grammar>
       <prompt>
         Please say one of the the colors red, blue, yellow, or green.
       </prompt>
     </bevocal:register>
   </form>
 </vxml>
 

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