Page 1 of 1

Odd issue with my form fields - what am I doing wrong here?

Posted: Thu Jul 06, 2006 1:36 pm
by mikechy
This worked fine when I had bargein set to false. As soon as I allowed the caller to barge in, what will happen is they will enter their response, the system will immediately tell them they did not understand their response and immediately play the prompt for the next field. I suspect the error message is not for the field they just entered but for the next field in the list.

Here's the code. I've removed the code for zip3 - 6 as it's just the same as 1 and 2:

<form id="docanada">

<field name="zip1" type="digits?maxlength=5">
<property name="interdigittimeout" value="4s" />

<prompt bargein="true" count="1">
<audio src="http://audio.plumgroup.com/root/4665518 ... 182_10.wav"/>
</prompt>
<noinput>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<reprompt/>
</noinput>
<nomatch>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<reprompt/>
</nomatch>
<filled>
<goto nextitem="zip2"/>
</filled>
</field>


<field name="zip2" type="digits?maxlength=2">
<property name="interdigittimeout" value="4s" />

<prompt bargein="true" count="1">
<break time="500ms"/><audio src="http://audio.plumgroup.com/root/4665518 ... 182_11.wav"/>
</prompt>
<noinput>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<reprompt/>
</noinput>
<nomatch>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<reprompt/>
</nomatch>
<filled>
<goto nextitem="zip3"/>
</filled>
</field>

</form>

As you can see I've even tried adding breaks and gotos thinking maybe the fields were running over each other.

The system still sucessfully recognizes the user entry and everything works. you just get the annoying error messages between the prompts.

Any idea?

update to issue

Posted: Thu Jul 06, 2006 10:52 pm
by mikechy
Update to issue.

It's specifically a <nomatch> error that is being thrown.

Oddly, if I set the bargein on my prompts to "false" it works like a charm every time.

Anyone have any idea with this?

Inputmodes in IVR system are set to both dtmf and voice

Posted: Fri Jul 07, 2006 11:24 am
by support
Hi,

By default, inputmodes are set to both dtmf and voice. When you specify a built-in IVR grammar like:

<field name="zip1" type="digits?maxlength=5">

the IVR system is listening for both speech ("one two three four five") and keypad input ("12345"). Any background noise will barge into the prompt, be processed by the SDU (speech detection unit) and throw a <nomatch> (since the background noise probably won't sound like spoken digits).

If you're not planning to use any voice IVR grammars or speech recognition in your IVR application, you can easily fix the problem by adding the inputmodes property at the topmost scope of your IVR script/application:

<property name="inputmodes" value="dtmf" />

Hope this helps.

Regards,

Plum Support

Another solution?

Posted: Fri Jul 07, 2006 11:57 am
by mikechy
We use mixed dtmf and voice and can't turn it off globally.

I've tried this as the latest, without success. Setting a grammar for each field that restricts the input to dtmf. Still doesn't work.

Is there something else I can try?

We were supposed to launch this project 7/1.

Thanks



field name="zip1" type="digits?maxlength=5">


<grammar type="application/x-jsgf" mode="dtmf">
( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 )+
</grammar>



<prompt bargein="true" count="1">
<audio src="http://audio.plumgroup.com/root/4665518 ... 182_10.wav"/>
</prompt>
<noinput>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<clear namelist="zip1"/>
<goto next="#zip1"/>
</noinput>
<nomatch>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<clear namelist="zip1"/>
<goto next="#zip1"/>
</nomatch>
</field>

Another comment

Posted: Fri Jul 07, 2006 11:58 am
by mikechy
Also.

I figured it was background noise so I've tested it with the mute button on. Same problem.

So background noise wouldn't seem to be the issue.

IVR script post

Posted: Fri Jul 07, 2006 12:01 pm
by support
Hi,

Please post your entire IVR script or a link thereto. Specifying inputmodes="dtmf" on a per-field basis should work.


Plum Support

Thanks!

Posted: Fri Jul 07, 2006 12:08 pm
by mikechy
<?xml version="1.0"?>
<vxml version="2.0">

<meta name="author" content="Mike Chytracek"/>
<meta name="maintainer" content="mike@ignitesolutions.com"/>

<property name="audiomaxage" value="120"/>
<property name="timeout" value="30"/>
<property name="sensitivity" value="0.0"/>
<property name="interdigittimeout" value="4s" />


<menu id="welcome">
<prompt bargein="true">
<audio src="http://audio.plumgroup.com/root/46655182/46655182_3.wav"/>
</prompt>

<choice next="#us">
<grammar type="application/srgs+xml" root="r_us" version="1.0">
<rule id="r_us" scope="public">
<item>U S</item>
</rule>
</grammar>
</choice>

<choice dtmf="1" next="#us"/>

<choice next="#canada">
<grammar type="application/srgs+xml" root="r_canada" version="1.0">
<rule id="r_canada" scope="public">
<item>canada</item>
</rule>
</grammar>
</choice>

<choice dtmf="2" next="#canada"/>

<nomatch>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<reprompt/>
</nomatch>

<noinput>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<reprompt/>
</noinput>

</menu>


<menu id="us">
<prompt bargein="true">
<audio src="http://audio.plumgroup.com/root/46655182/46655182_5.wav"/>
</prompt>
<choice next="#dous">
<grammar type="application/srgs+xml" root="confirm_us_yes" version="1.0">
<rule id="confirm_us_yes" scope="public">
<item>YES</item>
</rule>
</grammar>
</choice>

<choice dtmf="1" next="#dous"/>

<choice next="#welcome">
<grammar type="application/srgs+xml" root="confirm_us_no" version="1.0">
<rule id="confirm_us_no" scope="public">
<item>NO</item>
</rule>
</grammar>
</choice>

<choice dtmf="2" next="#welcome"/>

<noinput>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<reprompt/>
</noinput>
<nomatch>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<reprompt/>
</nomatch>

</menu>



<form id="dous">
<field name="zipcode" type="digits?maxlength=6">
<prompt bargein="true">
<audio src="http://audio.plumgroup.com/root/46655182/46655182_6.wav"/>
</prompt>
<noinput>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<reprompt/>
</noinput>
<nomatch>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<reprompt/>
</nomatch>
</field>
<filled>
<submit next="http://www.******.com/vxml/getclassesv2.cfm"/>
</filled>
</form>


<menu id="canada">
<prompt bargein="true">
<audio src="http://audio.plumgroup.com/root/46655182/46655182_9.wav"/>
</prompt>

<choice next="#docanada">
<grammar type="application/srgs+xml" root="confirm_ca_yes" version="1.0">
<rule id="confirm_ca_yes" scope="public">
<item>YES</item>
</rule>
</grammar>
</choice>

<choice dtmf="1" next="#docanada"/>

<choice next="#welcome">
<grammar type="application/srgs+xml" root="confirm_ca_no" version="1.0">
<rule id="confirm_ca_no" scope="public">
<item>NO</item>
</rule>
</grammar>
</choice>

<choice dtmf="2" next="#welcome"/>

<noinput>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<reprompt/>
</noinput>
<nomatch>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<reprompt/>
</nomatch>
</menu>


<form id="docanada">
<field name="zip1" type="digits?maxlength=5">


<grammar type="application/x-jsgf" mode="dtmf">
( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 )+
</grammar>



<prompt bargein="true" count="1">
<audio src="http://audio.plumgroup.com/root/4665518 ... 182_10.wav"/>
</prompt>
<noinput>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<clear namelist="zip1"/>
<goto next="#zip1"/>
</noinput>
<nomatch>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<clear namelist="zip1"/>
<goto next="#zip1"/>
</nomatch>
</field>


<field name="zip2" type="digits?maxlength=2">
<grammar type="application/x-jsgf" mode="dtmf">
( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 )+
</grammar>


<prompt bargein="true" count="1">
<break time="500ms"/><audio src="http://audio.plumgroup.com/root/4665518 ... 182_11.wav"/>
</prompt>
<noinput>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<clear namelist="zip2"/>
<reprompt/>
</noinput>
<nomatch>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<clear namelist="zip2"/>
<reprompt/>
</nomatch>
</field>

<field name="zip3" type="digits?maxlength=5">
<grammar type="application/x-jsgf" mode="dtmf">
( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 )+
</grammar>


<prompt bargein="true" count="1">
<break time="500ms"/><audio src="http://audio.plumgroup.com/root/4665518 ... 182_16.wav"/>
</prompt>
<noinput>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<clear namelist="zip3"/>
<reprompt/>
</noinput>
<nomatch>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<clear namelist="zip3"/>
<reprompt/>
</nomatch>
</field>

<field name="zip4" type="digits?maxlength=2">
<grammar type="application/x-jsgf" mode="dtmf">
( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 )+
</grammar>


<prompt bargein="true" count="1">
<break time="500ms"/><audio src="http://audio.plumgroup.com/root/4665518 ... 182_19.wav"/>
</prompt>
<noinput>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<clear namelist="zip4"/>
<reprompt/>
</noinput>
<nomatch>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<clear namelist="zip4"/>
<reprompt/>
</nomatch>
</field>

<field name="zip5" type="digits?maxlength=5">
<grammar type="application/x-jsgf" mode="dtmf">
( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 )+
</grammar>


<prompt bargein="true" count="1">
<break time="500ms"/><audio src="http://audio.plumgroup.com/root/4665518 ... 182_17.wav"/>
</prompt>
<noinput>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<clear namelist="zip5"/>
<reprompt/>
</noinput>
<nomatch>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<clear namelist="zip5"/>
<reprompt/>
</nomatch>
</field>

<field name="zip6" type="digits?maxlength=2">
<grammar type="application/x-jsgf" mode="dtmf">
( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 )+
</grammar>


<prompt bargein="true" count="1">
<break time="500ms"/><audio src="http://audio.plumgroup.com/root/4665518 ... 182_18.wav"/>
</prompt>
<noinput>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<clear namelist="zip6"/>
<reprompt/>
</noinput>
<nomatch>
<audio src="http://audio.plumgroup.com/root/46655182/46655182_4.wav"/>
<clear namelist="zip6"/>
<reprompt/>
</nomatch>
<filled>
<submit next="http://www.******.com/vxml/getclassesv2.cfm"/>
</filled>
</field>


</form>


</vxml>

Altered a bit

Posted: Fri Jul 07, 2006 12:10 pm
by mikechy
I used to use the </reprompt> and replaced it with the brute force goto instead, fyi.

oops

Posted: Fri Jul 07, 2006 12:13 pm
by mikechy
can you do me a favor and remove what's between the <filled>? I should have removed that before posting. thanks

Seems to work

Posted: Fri Jul 07, 2006 1:07 pm
by mikechy
Thanks! I placed the
<property name="inputmodes" value="dtmf"/>
right after the <form> tag and it seems to have done it!

Thanks alot!