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

nomatch not working for some reason?

Questions and answers about IVR programming for Plum DEV

Moderators: admin, support

Post Reply
brent.russell
Posts: 50
Joined: Wed Oct 04, 2006 1:34 pm
Location: SOCAL
Contact:

nomatch not working for some reason?

Post by brent.russell »

I have a grammar of:
<grammar type="application/x-jsgf">1|2</grammar>
When a user presses 3 it just disconnects and does not reprompt. It should follow what <nomatch> says if I am correct

Here is my form:

<form id="confirmCallerID">
<field name="confirmNumberChoice" type="digits">
<grammar type="application/x-jsgf">1|2</grammar>
<property name="interdigittimeout" value="4s" />
<prompt timeout="6s">If this phone number is correct, press one, if not press two.</prompt>
<filled>
<if cond="confirmNumberChoice==1">
<goto next="#mainMenu"/>
<elseif cond="confirmNumberChoice==2"/>
<goto next="#getNumber"/>
</if>
</filled>
<noinput>
<reprompt/>
</noinput>
<nomatch>
Sorry, that was not one of the choices.
<reprompt/>
</nomatch>
</field>
</form>

Any help is greatly appriciated
-Brent

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

IVR code error due to enabling two grammars

Post by support »

Hello,

The problem with your IVR code is that you are actually enabling two IVR grammars. The first <grammar> is the built-in digits IVR grammar specified by setting the field type="digits". This indicates that the IVR system should look for any number of digits as a match case. The second is the custom grammar "1|2" you are defining. Removing the type="digits" from your <field> should resolve your IVR issue:

Code: Select all

<?xml version="1.0"?>
<vxml version="2.1">

<form id="confirmCallerID">
	<field name="confirmNumberChoice">
		<grammar type="application/x-jsgf">1|2</grammar>
		<property name="interdigittimeout" value="4s" />
		<prompt timeout="6s">If this phone number is correct, press one, if not press two.</prompt>
		<filled>
			<if cond="confirmNumberChoice==1">
				<goto next="#mainMenu"/>
			<elseif cond="confirmNumberChoice==2"/>
				<goto next="#getNumber"/>
			</if>
		</filled>
		<noinput>
			<reprompt/>
		</noinput>
		<nomatch>
			Sorry, that was not one of the choices.
			<reprompt/>
		</nomatch>
	</field>
</form>

</vxml>
Regards,
Plum Support

Post Reply