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

Reduced wait time?

Questions and answers about IVR programming for Plum DEV

Moderators: admin, support

Post Reply
jallard
Posts: 21
Joined: Mon Oct 03, 2011 7:20 am

Reduced wait time?

Post by jallard »

I was wondering if there is a way to trim the delay after a user finishes a DTMF input and an input repeat prompt is played. Currently in my setup there is a 5 second delay after a user completes DTMF input to when the next prompt is played that repeats the users input. I know 5 seconds isn't much, but over the course of the call I can save significant time if this is reduced to 1 or 2 seconds. Following is an example in my code (I have removed the url audio source):

Code: Select all

<form id="check">
		<property name="termmaxdigits" value="true"/>
		<property name="inputmodes" value="dtmf"/>
		<field name="chkseq" type="digits?minlength=8;maxlength=9">
			<property name="interdigittimeout" value="5s"/>
			<property name="timeout" value="20s"/>
                        <prompt>
				<audio src="">
					<voice name="mike">
						Please enter the check sequence number located on the check. Please include the leading zeroes.
					</voice>
				</audio>
			</prompt>
			<filled>
				<assign name="seq" expr="chkseq"/>
				<prompt>
					<prosody rate="-25%">
						<voice name="mike">
							You entered
							<say-as type="acronym">
								<value expr="chkseq"/>
							</say-as>
						</voice>
					</prosody>
				</prompt>
				<goto nextitem="chkseq2"/>
			</filled>
Thanks,

jallard
Posts: 21
Joined: Mon Oct 03, 2011 7:20 am

Re: Reduced wait time?

Post by jallard »

I believe I figured this out myself. I think since the digits minlength is 8 and maxlength is 9, and the interdigittimeout is 5 seconds, once the user enters 8 digits there is a 5 second delay for the optional 9th digit.

jallard
Posts: 21
Joined: Mon Oct 03, 2011 7:20 am

Re: Reduced wait time?

Post by jallard »

After researching further, it appears the termmaxdigits property would solve my issue.

jallard
Posts: 21
Joined: Mon Oct 03, 2011 7:20 am

Re: Reduced wait time?

Post by jallard »

Nevermind..............I already have that in my code, so that doesn't help. I have numerous other spots in my code where minlength and maxlength are not defined, and this still occurs. Any help would be appreciated.

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

Re: Reduced wait time?

Post by support »

Hi,

The way the termmaxdigits property works is that if the 'length' or 'maxlength' properties for the built-in digits grammar are matched then the input window will immediately end and the script will continue. However, since you accept variable length input, the input will not terminate when the minlength digits are entered.

There are a few ways we would suggest handling this case.

Firstly, we have found that an interdigittimeout of around 3s is sufficient for mostly all users, even if they are reading a number off of a credit card or something along those lines. This value is also a reasonable wait time after entering digits without becoming too long to be confusing to the caller.

Additionally, you can use the 'termchar' value to immediately terminate input at any input field. The termchar is a special character (the '#' key by default) that will immediately end the input window for an input field. You could use this termchar as a manual way for your callers to end input once they have finished entering digits. This is usually done in the prompt played to the user, either at a specific prompt or as a note at the beginning of the call. For instance, you could change the prompt to "Please enter the check sequence number located on the check. Please include the leading zeroes. You can press the pound key when you are finished entering your sequence number."

You can specify your own value for the termchar by setting the termchar property in your code:
http://www.plumvoice.com/docs/dev/voice ... s:termchar

One thing we would like to note, as you mentioned you have numerous spots in your code where minlength and maxlength are not defined and you are still experiencing these delays. Although we would suggest using the termchar and reducing the interdigittimeout as we have mentioned above, we thought it would be helpful to note that you can globally define properties in a root document file and then include this document in any file in which you would like these properties to be set.

An example of a root.vxml document that you could use to define these global properties would be:

Code: Select all

<?xml version="1.0"?>
<vxml version="2.0">
    <property name="inputmodes" value="dtmf"/>
    <property name="interdigittimeout" value="3s"/>
    <property name="termmaxdigits" value="true"/>
</vxml>
You could then include this file in any document in which you wish to use these properties by defining the application attribute in your <vxml> tag definition as such:

Code: Select all

<vxml version="2.0" application="root.vxml">
This way, you don't have to worry about duplicating the properties within each script you write.

Hopefully that helps you with your desired result, but feel free to ask any additional questions.

Regards,
Plum Support

Post Reply