After some tweaking with the inline grammar we have come up with a way for a 90%-100% success rate on matching the letter o vs the number 0. Below is the code that is working for us.
We have successfully recited multiple times through testing the following:
BCD120
ODE120
O0O0OO
WAO20
Code: Select all
<?xml version="1.0"?>
<vxml version="2.1">
<form id="test">
<property name="grammarmaxage" value="60s"/>
<property name="grammarmaxstale" value="25s"/>
<property name="sensitivity" value="0.5"/>
<property name="confidencelevel" value="0.2"/>
<property name="interdigittimeout" value="5s"/>
<property name="speedvsaccuracy" value="0.9"/>
<field name="acct">
<prompt>Please say your account number.</prompt>
<grammar type="application/srgs+xml" mode="voice" root="ROOT">
<rule id="ROOT" scope="public">
<one-of>
<item repeat="1-7">
<ruleref uri="#chars"/>
</item>
</one-of>
</rule>
<rule id="chars" scope="public">
<one-of>
<item>a</item>
<item>b</item>
<item>c</item>
<item>d</item>
<item>e</item>
<item>f</item>
<item>g</item>
<item>h</item>
<item>i</item>
<item>j</item>
<item>k</item>
<item>l</item>
<item>m</item>
<item>n</item>
<item>o</item>
<item>oh</item>
<item>p</item>
<item>q</item>
<item>r</item>
<item>s</item>
<item>t</item>
<item>u</item>
<item>v</item>
<item>w</item>
<item>x</item>
<item>y</item>
<item>z</item>
<item>zero</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
</one-of>
</rule>
</grammar>
<filled>
<prompt bargein="false">
I think you said <value expr="acct"/>
</prompt>
</filled>
<nomatch>
I'm sorry, I didn't catch that.
<reprompt/>
</nomatch>
</field>
</form>
</vxml>
Regards,
Plum Support