- Joined
- Dec 21, 2011
- Messages
- 208
- Reaction score
- 0
Hi
I am using a user input component with min and max digits set to 1 and all the timers set to 1 second as a way to empty the buffer before real input starts.
So I have a prompt playback "After the tone, please dial in your reference number replacing any letters with a star, then press hash". I then have the above user input, then the actual user input process whose initial prompt is a beep/tone wav. This works and looks like a viable workaround, I was wondering if it was possible to make the timeouts very short to prevent any unnecessary delay.
The VAD prevents me from inputting anything less than 1 second for each of the timeouts, I was wondering if I can edit the vxml to force a shorter timeout. The vxml is:
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0" application="Root_FletchersFeb13.vxml">
<catch event="error.semantic">
<assign name="project$_CurrentErrorName$" expr="_event" />
<assign name="project$_CurrentErrorDescription$" expr="(_message == undefined ? '' : _message)" />
<goto next="selfserve_ErrorHandler.vxml" />
</catch>
<error>
<assign name="project$_CurrentErrorName$" expr="_event" />
<goto next="selfserve_ErrorHandler.vxml" />
</error>
<catch event="connection.disconnect telephone.disconnect">
<goto next="selfserve_DisconnectHandler.vxml" />
</catch>
<var name="application.selfserve_userInputComponent1_Result" expr="''" />
<var name="application.selfserve_userInputComponent1_Buffer" expr="''" />
<form id="userinput">
<property name="bargein" value="true" />
<property name="timeout" value="1s" />
<property name="interdigittimeout" value="1s" />
<property name="termtimeout" value="1s" />
<property name="termchar" value="#" />
<field name="userinput">
<grammar>[0|1|2|3|4|5|6|7|8|9]{1-1}</grammar>
<catch event="nomatch noinput" count="1">
<assign name="selfserve_userInputComponent1_Result" expr="(_event == 'noinput' ? UserInputResult_Timeout : UserInputResult_InvalidDigits)" />
<assign name="selfserve_userInputComponent1_Buffer" expr="(application.lastresult$ == undefined ? '' : application.lastresult$.utterance)" />
<goto next="selfserve_MF_userInputComponent1_Invalid_Input.vxml" />
</catch>
<filled>
<assign name="selfserve_userInputComponent1_Result" expr="UserInputResult_ValidDigits" />
<assign name="selfserve_userInputComponent1_Buffer" expr="(application.lastresult$ == undefined ? '' : application.lastresult$.utterance)" />
<goto next="selfserve_MF_userInputComponent1_Valid_Input.vxml" />
</filled>
</field>
</form>
</vxml>
Can I amend the xml for example to say
<property name="timeout" value="0.2s" />
or maybe
<property name="timeout" value="200ms" />
I know this would have to be reapplied every time the project is deployed but I can live with that since it does not have to be changed during testing...
Thanks,
Millsey
I am using a user input component with min and max digits set to 1 and all the timers set to 1 second as a way to empty the buffer before real input starts.
So I have a prompt playback "After the tone, please dial in your reference number replacing any letters with a star, then press hash". I then have the above user input, then the actual user input process whose initial prompt is a beep/tone wav. This works and looks like a viable workaround, I was wondering if it was possible to make the timeouts very short to prevent any unnecessary delay.
The VAD prevents me from inputting anything less than 1 second for each of the timeouts, I was wondering if I can edit the vxml to force a shorter timeout. The vxml is:
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0" application="Root_FletchersFeb13.vxml">
<catch event="error.semantic">
<assign name="project$_CurrentErrorName$" expr="_event" />
<assign name="project$_CurrentErrorDescription$" expr="(_message == undefined ? '' : _message)" />
<goto next="selfserve_ErrorHandler.vxml" />
</catch>
<error>
<assign name="project$_CurrentErrorName$" expr="_event" />
<goto next="selfserve_ErrorHandler.vxml" />
</error>
<catch event="connection.disconnect telephone.disconnect">
<goto next="selfserve_DisconnectHandler.vxml" />
</catch>
<var name="application.selfserve_userInputComponent1_Result" expr="''" />
<var name="application.selfserve_userInputComponent1_Buffer" expr="''" />
<form id="userinput">
<property name="bargein" value="true" />
<property name="timeout" value="1s" />
<property name="interdigittimeout" value="1s" />
<property name="termtimeout" value="1s" />
<property name="termchar" value="#" />
<field name="userinput">
<grammar>[0|1|2|3|4|5|6|7|8|9]{1-1}</grammar>
<catch event="nomatch noinput" count="1">
<assign name="selfserve_userInputComponent1_Result" expr="(_event == 'noinput' ? UserInputResult_Timeout : UserInputResult_InvalidDigits)" />
<assign name="selfserve_userInputComponent1_Buffer" expr="(application.lastresult$ == undefined ? '' : application.lastresult$.utterance)" />
<goto next="selfserve_MF_userInputComponent1_Invalid_Input.vxml" />
</catch>
<filled>
<assign name="selfserve_userInputComponent1_Result" expr="UserInputResult_ValidDigits" />
<assign name="selfserve_userInputComponent1_Buffer" expr="(application.lastresult$ == undefined ? '' : application.lastresult$.utterance)" />
<goto next="selfserve_MF_userInputComponent1_Valid_Input.vxml" />
</filled>
</field>
</form>
</vxml>
Can I amend the xml for example to say
<property name="timeout" value="0.2s" />
or maybe
<property name="timeout" value="200ms" />
I know this would have to be reapplied every time the project is deployed but I can live with that since it does not have to be changed during testing...
Thanks,
Millsey