ASR not working properly
Posted: Thu Sep 28, 2006 5:20 am
We are having some difficulties in getting the ASR feature properly
working on the plum system. Before deploying this to our customer
system, we have created a simple script to test our requirement.
This script was deployed on your test server (dialing 1 617-712-3156).
Even on your test server we were not able to get good results.
following is the scripts that we used
<?xml version="1.0"?>
<vxml version="2.0">
<property name="inputmodes" value="dtmf"/>
<var name="logincount" expr="1"/>
<form id="welcome">
<block>
<prompt>
This is a sample voice XML to test the server.
</prompt>
<goto next="#login"/>
</block>
</form>
<form id="login">
<field name="userid" type="digits">
<grammar type="application/x-jsgf">"*"</grammar>
<prompt bargein="false">
Now, Please enter your user number.
</prompt>
<noinput>
Sorry! I did't hear you.
</noinput>
<noinput count="3">
You didn't respond. You'll be disconnected.
Good bye!
<disconnect/>
</noinput>
<nomatch>
Sorry, I did't understand.
<reprompt/>
</nomatch>
</field>
<field name="pwd" type="digits">
<grammar type="application/x-jsgf">"*"
</grammar>
<prompt bargein="false">
Please enter your password.
</prompt>
<noinput>
Sorry! I did't hear you.
</noinput>
<noinput count="3">
You didn't respond. You'll be disconnected.
Good bye!
<disconnect/>
</noinput>
<nomatch>
Sorry, I did't understand.
<reprompt/>
</nomatch>
</field>
<filled>
<prompt >
Please wait! your login details are being sent for validation.
you entered <value expr="userid"/> for the user number and <value expr="pwd"/> for password..
</prompt>
<goto next="#loginsuccess"/>
</filled>
</form>
<form id="loginsuccess">
<field name="res" type="boolean">
<property name="interdigittimeout" value="2s" />
<grammar type="application/x-jsgf">1|2</grammar>
<prompt >
If you want to update your ticket number, please press 1,
Otherwise To exit press2
</prompt>
<noinput count="3">
You didn't enter any value. You'll be disconnected.
Good bye!
<disconnect/>
</noinput>
<nomatch>
Sorry, I didn't understand.
<reprompt/>
</nomatch>
</field>
<filled>
<if cond="res==true">
<goto next="#frmTicket" />
<else />
<prompt >
Thank you for using voice Portals,
Good Bye!
</prompt>
<disconnect/>
</if>
</filled>
</form>
<form id="frmTicket">
<field name="tckno" type="digits">
<property name="interdigittimeout" value="2s" />
<prompt >
Please enter your Ticket number
</prompt>
<filled>
<assign name="ticketnumber" expr="tckno"/>
<prompt >
You entered, <value expr="tckno.replace(/(.)/g, '$1 ')"/> for the ticket number
</prompt>
</filled>
<noinput count="3">
You didn't enter any value. You'll be disconnected.
Good bye!
<disconnect/>
</noinput>
<nomatch>
Sorry, I didn't understand.
<reprompt/>
</nomatch>
</field>
<filled>
<goto next="#sendconfirm" />
</filled>
</form>
<form id="sendconfirm">
<field name="res" type="digits">
<property name="interdigittimeout" value="2s" />
<grammar type="application/x-jsgf">1|2|3</grammar>
<prompt >
if the data you entered is correct, to proceed, press 1,
or, to cancel and enter data again, press 2,
Otherwise to exit press 3 .
</prompt>
<noinput count="3">
You didn't enter any value. You'll be disconnected.
Good bye!
<disconnect/>
</noinput>
<nomatch>
Sorry, I didn't understand.
<reprompt/>
</nomatch>
</field>
<filled>
<if cond="res==1">
<goto next="#sendupdate"/>
<elseif cond="res==2"/>
<clear namelist="ticketnumber"/>
<goto next="#frmTicket"/>
<elseif cond="res==3"/>
<prompt >
Thank you for using voice Portals,
Good Bye
</prompt>
<disconnect/>
<else />
<prompt >
You should enter 1, 2 or 3.
</prompt>
<goto next="#sendconfirm"/>
</if>
</filled>
</form>
<form id="sendupdate">
<field name="res" type="boolean">
<property name="interdigittimeout" value="2s" />
<grammar type="application/x-jsgf">1|2</grammar>
<prompt >
If you want to update your ticket number, please press 1,
Otherwise to decline the ticket number and exit press 2.
</prompt>
<noinput count="3">
You didn't enter any value. You'll be disconnected.
Good bye!
<disconnect/>
</noinput>
<nomatch>
Sorry, I didn't understand.
<reprompt/>
</nomatch>
</field>
<filled>
<if cond="res==true">
<prompt >
Please wait! your ticket number is being updated
</prompt>
<disconnect/>
<else />
<prompt >
Please wait! your ticket number is being declined.
</prompt>
<disconnect/>
</if>
</filled>
</form>
</vxml>
The things we require from this script is to
1. User should be able to voice in the user name and password (
this can be something like a 4-6 digit number)
2. User should be able to voice in a ticket number ( this can be
something like a 4-5 digit number)
ASR feature fails most of the time when we try about 2 or more digits
inputs. We have tried this with changing the inter digit time to 1-2
seconds. But it ends up with the same results.
working on the plum system. Before deploying this to our customer
system, we have created a simple script to test our requirement.
This script was deployed on your test server (dialing 1 617-712-3156).
Even on your test server we were not able to get good results.
following is the scripts that we used
<?xml version="1.0"?>
<vxml version="2.0">
<property name="inputmodes" value="dtmf"/>
<var name="logincount" expr="1"/>
<form id="welcome">
<block>
<prompt>
This is a sample voice XML to test the server.
</prompt>
<goto next="#login"/>
</block>
</form>
<form id="login">
<field name="userid" type="digits">
<grammar type="application/x-jsgf">"*"</grammar>
<prompt bargein="false">
Now, Please enter your user number.
</prompt>
<noinput>
Sorry! I did't hear you.
</noinput>
<noinput count="3">
You didn't respond. You'll be disconnected.
Good bye!
<disconnect/>
</noinput>
<nomatch>
Sorry, I did't understand.
<reprompt/>
</nomatch>
</field>
<field name="pwd" type="digits">
<grammar type="application/x-jsgf">"*"
</grammar>
<prompt bargein="false">
Please enter your password.
</prompt>
<noinput>
Sorry! I did't hear you.
</noinput>
<noinput count="3">
You didn't respond. You'll be disconnected.
Good bye!
<disconnect/>
</noinput>
<nomatch>
Sorry, I did't understand.
<reprompt/>
</nomatch>
</field>
<filled>
<prompt >
Please wait! your login details are being sent for validation.
you entered <value expr="userid"/> for the user number and <value expr="pwd"/> for password..
</prompt>
<goto next="#loginsuccess"/>
</filled>
</form>
<form id="loginsuccess">
<field name="res" type="boolean">
<property name="interdigittimeout" value="2s" />
<grammar type="application/x-jsgf">1|2</grammar>
<prompt >
If you want to update your ticket number, please press 1,
Otherwise To exit press2
</prompt>
<noinput count="3">
You didn't enter any value. You'll be disconnected.
Good bye!
<disconnect/>
</noinput>
<nomatch>
Sorry, I didn't understand.
<reprompt/>
</nomatch>
</field>
<filled>
<if cond="res==true">
<goto next="#frmTicket" />
<else />
<prompt >
Thank you for using voice Portals,
Good Bye!
</prompt>
<disconnect/>
</if>
</filled>
</form>
<form id="frmTicket">
<field name="tckno" type="digits">
<property name="interdigittimeout" value="2s" />
<prompt >
Please enter your Ticket number
</prompt>
<filled>
<assign name="ticketnumber" expr="tckno"/>
<prompt >
You entered, <value expr="tckno.replace(/(.)/g, '$1 ')"/> for the ticket number
</prompt>
</filled>
<noinput count="3">
You didn't enter any value. You'll be disconnected.
Good bye!
<disconnect/>
</noinput>
<nomatch>
Sorry, I didn't understand.
<reprompt/>
</nomatch>
</field>
<filled>
<goto next="#sendconfirm" />
</filled>
</form>
<form id="sendconfirm">
<field name="res" type="digits">
<property name="interdigittimeout" value="2s" />
<grammar type="application/x-jsgf">1|2|3</grammar>
<prompt >
if the data you entered is correct, to proceed, press 1,
or, to cancel and enter data again, press 2,
Otherwise to exit press 3 .
</prompt>
<noinput count="3">
You didn't enter any value. You'll be disconnected.
Good bye!
<disconnect/>
</noinput>
<nomatch>
Sorry, I didn't understand.
<reprompt/>
</nomatch>
</field>
<filled>
<if cond="res==1">
<goto next="#sendupdate"/>
<elseif cond="res==2"/>
<clear namelist="ticketnumber"/>
<goto next="#frmTicket"/>
<elseif cond="res==3"/>
<prompt >
Thank you for using voice Portals,
Good Bye
</prompt>
<disconnect/>
<else />
<prompt >
You should enter 1, 2 or 3.
</prompt>
<goto next="#sendconfirm"/>
</if>
</filled>
</form>
<form id="sendupdate">
<field name="res" type="boolean">
<property name="interdigittimeout" value="2s" />
<grammar type="application/x-jsgf">1|2</grammar>
<prompt >
If you want to update your ticket number, please press 1,
Otherwise to decline the ticket number and exit press 2.
</prompt>
<noinput count="3">
You didn't enter any value. You'll be disconnected.
Good bye!
<disconnect/>
</noinput>
<nomatch>
Sorry, I didn't understand.
<reprompt/>
</nomatch>
</field>
<filled>
<if cond="res==true">
<prompt >
Please wait! your ticket number is being updated
</prompt>
<disconnect/>
<else />
<prompt >
Please wait! your ticket number is being declined.
</prompt>
<disconnect/>
</if>
</filled>
</form>
</vxml>
The things we require from this script is to
1. User should be able to voice in the user name and password (
this can be something like a 4-6 digit number)
2. User should be able to voice in a ticket number ( this can be
something like a 4-5 digit number)
ASR feature fails most of the time when we try about 2 or more digits
inputs. We have tried this with changing the inter digit time to 1-2
seconds. But it ends up with the same results.