We've Moved! Please visit our new and improved forum over at our new portal: https://portal.plumvoice.com/hc/en-us/community/topics

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

Questions and answers about IVR programming for Plum DEV

Moderators: admin, support

Post Reply
mikechy
Posts: 10
Joined: Thu Jun 08, 2006 4:42 pm

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

Post 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?

mikechy
Posts: 10
Joined: Thu Jun 08, 2006 4:42 pm

update to issue

Post 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?

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

Inputmodes in IVR system are set to both dtmf and voice

Post 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
Last edited by support on Mon Feb 22, 2010 1:39 pm, edited 3 times in total.

mikechy
Posts: 10
Joined: Thu Jun 08, 2006 4:42 pm

Another solution?

Post 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>

mikechy
Posts: 10
Joined: Thu Jun 08, 2006 4:42 pm

Another comment

Post 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.

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

IVR script post

Post 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
Last edited by support on Thu Jan 14, 2010 2:21 pm, edited 1 time in total.

mikechy
Posts: 10
Joined: Thu Jun 08, 2006 4:42 pm

Thanks!

Post 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>

mikechy
Posts: 10
Joined: Thu Jun 08, 2006 4:42 pm

Altered a bit

Post by mikechy »

I used to use the </reprompt> and replaced it with the brute force goto instead, fyi.

mikechy
Posts: 10
Joined: Thu Jun 08, 2006 4:42 pm

oops

Post by mikechy »

can you do me a favor and remove what's between the <filled>? I should have removed that before posting. thanks

mikechy
Posts: 10
Joined: Thu Jun 08, 2006 4:42 pm

Seems to work

Post 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!

Post Reply