Page 1 of 1

System speed

Posted: Tue Sep 23, 2008 12:06 pm
by jcooper
I'm not sure if this is a development issue or a platform issue. I am looking for a way to speed up the transition from one field to the next. Below is a sample of my code. The transition between the access code confirmation and the password field takes from 1 to 2 seconds. This seems to be the case with other field -> confirmation -> field transitions. Is there anything I can do to speed these up?
Thanks!
JC

<field name="AccessCode" type="digits?length=5">
<prompt>
Please enter your I.D. code followed by the pound sign.
</prompt>
<filled>
<goto nextitem="confirmID"/>
</filled>
<catch event="noinput nomatch" count="3">
<prompt bargein="false">
Please confirm your I.D. and try your call later.
</prompt>
<disconnect />
</catch>
<catch event="noinput nomatch">
<reprompt/>
</catch>
</field>
<subdialog name="confirmID" src="#confirm" cond="false">
<param name="user_input" expr="AccessCode"/>
<filled>
<if cond="confirmID.result==false">
<clear namelist="AccessCode"/>

</if>
</filled>
</subdialog>
<field name="Password" type="digits?minlength=2;maxlength=10">
<prompt bargein="true">
Please enter your password followed by the pound sign.
</prompt>
<filled>
<goto nextitem="login"/>
</filled>
<catch event="noinput nomatch" count="3">
Your entry was invalid. Goodbye.
<disconnect />
</catch>
</field>
...
</form>

<!-- Confirmations -->
<form id="confirm">
<property name="voicename" value="Jennifer"/>
<property name="inputmodes" value="dtmf"/>
<property name="termchar" value="#"/>
<property name="timeout" value="3s"/>
<property name="interdigittimeout" value="2s"/>
<property name="scriptmaxage" value="0s"/>
<property name="documentmaxage" value="0s"/>
<property name="sensitivity" value="0.0"/>

<var name="user_input"/>
<field name="yn" modal="true">
<grammar type="application/x-jsgf" mode="dtmf">
1 | 2
</grammar>
<prompt bargein="true" timeout="2s">
You entered:
<prosody volume="200.0" rate="-25%">
<say-as type="number:digits">
<value expr="user_input"/>
</say-as>
</prosody>.
<prosody volume="100.0" rate="default">
Press 1 to confirm.
Press 2 to re enter.
</prosody>
</prompt>
<filled>
<var name="result" expr="true"/>
<if cond="yn==2">
<assign name="result" expr="false"/>
</if>
<return namelist="result"/>
</filled>
</field>

<catch event="connection.disconnect">
<submit next="Process.aspx?p=Disconnect"
namelist="session.id"
method="post"
/>
</catch>
</form>

IVR script change needed for delays

Posted: Tue Sep 23, 2008 1:10 pm
by support
Hi,

Do you have a global property such as interdigittimeout in your IVR script?

i.e.

Code: Select all

<property name="interdigittimeout" value="2s"/>
This might be the reason why you are experiencing a 2s delay between the confirmation and password field.

To avoid this, you could try setting your IVR properties within local scopes.

Regards,
Plum Support

interdigittimeout

Posted: Tue Sep 23, 2008 1:24 pm
by jcooper
My understanding of interdigittimeout was the time it waited for another digit to proceed on to the <filled> section. These are my properties:
<property name="voicename" value="Jennifer"/>
<property name="inputmodes" value="dtmf"/>
<property name="termchar" value="#"/>
<property name="timeout" value="3s"/>
<property name="interdigittimeout" value="2s"/>
<property name="scriptmaxage" value="0s"/>
<property name="documentmaxage" value="0s"/>
<property name="sensitivity" value="0.0"/>

If I set a locally scoped property for interdigittimeout to 0 seconds would this take precedence over the root document's interdigittimeout?
Thanks!

IVR application and interdigittimeout

Posted: Tue Sep 23, 2008 1:35 pm
by support
Here's a link that further describes the IVR attribute of how the timing for interdigittimeout works: http://www.w3.org/TR/voicexml20/#dmlATiming

And yes, if you set a locally scoped property for interdigittimeout to a small value such as 10ms or 0s, it would take precedence over the root document's interdigittimeout.

Regards,
Plum Support

speed

Posted: Tue Sep 23, 2008 2:10 pm
by jcooper
I tried your suggestion and set the confirmation forms interdigittimeout to 0s. It seems like it might be a little faster now, but there is still a little delay switching back from a confirmation to the main form. Anything we can do about that?

IVR code and interdigittimeout

Posted: Tue Sep 23, 2008 2:30 pm
by support
Hi,

We've found that using an interdigittimeout value of 10ms works pretty well. There is almost no delay between the confirmation and main form after entering a DTMF-2 key. The following IVR code example:

Code: Select all

<?xml version="1.0"?>
<vxml version="2.0">
<property name="voicename" value="Samantha"/>
<property name="inputmodes" value="dtmf"/>
<property name="termchar" value="#"/>
<property name="timeout" value="3s"/>
<property name="interdigittimeout" value="2s"/>
<property name="scriptmaxage" value="0s"/>
<property name="documentmaxage" value="0s"/>

<form id="login">

<block>
<prompt>Welcome to the Nutro Demo Check In System.</prompt>
</block>

<field name="AccessCode" type="digits?length=5">
<prompt>
Please enter your I.D. code followed by the pound sign.
</prompt>
<filled>
<goto nextitem="confirmID"/>
</filled>
</field>

<subdialog name="confirmID" src="#confirm" cond="false">
<param name="user_input" expr="AccessCode"/>
<filled>
<if cond="confirmID.result==false">
<clear namelist="AccessCode"/>
</if>
</filled>
</subdialog>

<field name="Password" type="digits?minlength=2;maxlength=10">
<prompt bargein="true">
Please enter your password followed by the pound sign.
</prompt>
<filled>
<goto nextitem="login"/>
</filled>
<catch event="noinput nomatch" count="3">
Your entry was invalid. Goodbye.
<disconnect/>
</catch>
</field>

</form>

<!-- Generic confirmations -->
<form id="confirm">
<property name="voicename" value="Samantha"/>
<property name="inputmodes" value="dtmf"/>
<property name="termchar" value="#"/>
<property name="timeout" value="3s"/>
<property name="interdigittimeout" value="10ms"/>
<property name="scriptmaxage" value="0s"/>
<property name="documentmaxage" value="0s"/>
<var name="user_input"/>

<field name="yn" modal="true">
<grammar type="application/x-jsgf" mode="dtmf">
1 | 2
</grammar>
<prompt bargein="true" timeout="2s">
You entered:

<prosody volume="200.0" rate="-25%">
<say-as type="number:digits">
<value expr="user_input"/>
</say-as>
</prosody>.

<prosody volume="100.0" rate="default">
Press 1 to confirm.
Press 2 to re enter.
</prosody>
</prompt>
<filled>
<var name="result" expr="true"/>
<if cond="yn==2">
<assign name="result" expr="false"/>
</if>
<return namelist="result"/>
</filled>
</field>

</form>

</vxml>
Regards,
Plum Support