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

connection.disconnect.hangup fired off when it shouldn't

Questions and answers about IVR programming for Plum DEV

Moderators: admin, support

Post Reply
metroscript
Posts: 78
Joined: Mon Sep 25, 2006 6:52 am
Contact:

connection.disconnect.hangup fired off when it shouldn't

Post by metroscript »

Good morning,

When trying to attempt a long recording(i.e. 12+ minutes), the connection.disconnect.hangup event is being thrown even though I am not hanging up and am not exceeding the maxtime="3600s" finalsilence="3600s" variables. I ran my networking monitoring tool on my server and didn't receive any errors in the log. I attached the vxml code and the PLUM log for you to review. Any assistance would be appreciated. This is my last known issue before starting to use your service.

Thanks,

Mike C.

Code: Select all

<!--#include file="clsXMLConstants.asp"-->
<!--#include file="clsXMLDatabase.asp"-->
<!--#include file="clsXMLSessionManager.asp"-->
<!--#include file="clsXMLUtilities.asp"-->
<!--#include file="clsXMLVariables.asp"-->

<%
Server.ScriptTimeout = 3600
GetSessionValues

strFileCount = cint(strFileCount) + 1

SaveSessionValues
%>

<?xml version="1.0"?>
<vxml version="2.1">
<form id="record">
	<grammar>1|2|3|4|5|6|7|8|9|0|"*"|"#"</grammar>
	<record name="phone_file_1vox" beep="true" dtmfterm="true" maxtime="3600s" finalsilence="3600s" type="audio/basic">
		<prompt bargein="false">
		<% if ( cint(strFileCount) <= 1 ) then 
				'Log the dictation
				'stored procedure: sp_insert_phone_in_log_record
				'tables: phone_log
				set conDatabase = Server.CreateObject("ADODB.Connection")
				conDatabase.Open strConnection
				objXMLUtilities.SetDictationStarted2 "L", strUserID, strFolderNumber, strCallID, 0
				conDatabase.Close

		%>
			<voice>Reecord at the beep.</voice>
		<% else %>
			<voice>Continue at the beep.</voice>
		<% end if %>
		</prompt>
		<filled>
		        <assign name="nextkey" expr="phone_file_1vox$.termchar"/>
			<assign name="myphone_file_1vox" expr="phone_file_1vox"/>
			<if cond="nextkey=='1'">
				<goto next="#instantsaveandrecordnormal"/>
			<elseif cond="nextkey=='2'"/>
				<goto next="#instantsaveandrecordstat"/>
			<elseif cond="nextkey=='3'"/>
				<prompt>Please select either the rewind or fast forward functionality before using the reecord from here function</prompt>
				<goto next="#pauserecording"/>
			<elseif cond="nextkey=='4'"/>
				<goto next="#rewindrecording"/>
			<elseif cond="nextkey=='5'"/>
				<goto next="#pauserecording"/>
			<elseif cond="nextkey=='6'"/>
				<goto next="#forwardrecording"/>
			<elseif cond="nextkey=='7'"/>
				<goto next="#rewindbeginning"/>
			<elseif cond="nextkey=='8'"/>
				<goto next="#cancelrecording"/>
			<elseif cond="nextkey=='9'"/>
				<goto next="#ninemenu"/>
			<elseif cond="nextkey=='*'"/>
				<goto next="#saveandhangup"/>
			<elseif cond="nextkey=='0'"/>
				<goto next="#helpmenu"/>
			<elseif cond="nextkey=='#'"/>
				<goto next="#saveandreprompt"/>
			</if>
		</filled>

		<catch event="nomatch noinput">
			<assign name="myphone_file_1vox" expr="phone_file_1vox"/>
			<submit next="https://stage.metroscript.com/voicexml/process_record_savevox.xml?next=hangup" method="post" namelist="myphone_file_1vox" enctype="multipart/form-data"/>
		</catch>

		<catch event="connection.disconnect">
			<assign name="myphone_file_1vox" expr="phone_file_1vox"/>
			<submit next="https://stage.metroscript.com/voicexml/process_record_savevox.xml?next=hangup" method="post" namelist="myphone_file_1vox" enctype="multipart/form-data"/>
		</catch>

	</record>
</form>

<menu id="ninemenu">
	<property name="inputmodes" value="dtmf"/>
	<prompt>
		<voice>
			Enter
			<enumerate><value expr="_dtmf"/> <value expr="_prompt"/>, <break size="small"/></enumerate>
		</voice>
	</prompt>
	<choice dtmf="1" next="#instandsaveandrecordnormal">to save your normal dictation and record another instantly</choice>
	<choice dtmf="2" next="#instantsaveandrecordstat">to save your stat dictation and record another instantly</choice>
	<choice dtmf="#" next="#saveandreprompt">to save your dictation and go to the main menu</choice>
	<choice dtmf="*" next="#saveandhangup">to save and end the call</choice>
	<choice dtmf="0" next="#helpmenu">for help</choice>

	<noinput count="1">
		Sorry, I did not hear you. Please try again.
		<reprompt/>
	</noinput>

	<nomatch count="1">
		Sorry, that is not one of the selections. Please try again.
		<reprompt/>
	</nomatch>

	<noinput count="2">
		Sorry, I still did not hear you. Please try again.
		<reprompt/>
	</noinput>

	<catch event="nomatch noinput" count="3">
		<goto next="#saveandhangup"/>
	</catch>
		
	<catch event="connection.disconnect">
		<goto next="#saveandhangup"/>
	</catch>

</menu>

<menu id="helpmenu">
	<property name="inputmodes" value="dtmf"/>
	<prompt>
		<voice>
			You have entered the help menu. Please enter
			<enumerate><value expr="_dtmf"/> <value expr="_prompt"/>, <break size="small"/></enumerate>
		</voice>
	</prompt>
	<choice dtmf="1" next="#instantsaveandrecordnormal">to save your normal dictation and reecord another instantly</choice>
	<choice dtmf="2" next="#instantsaveandrecordstat">to save your stat dictation and reecord another instantly</choice>
	<choice dtmf="4" next="#rewindrecording">to rewind 10 seconds and review your dictation</choice>
	<choice dtmf="5" next="#pauserecording">to pause your dictation in which you will be able to unpause and continue recording</choice>
	<choice dtmf="6" next="#forwardrecording">to forward 10 seconds and review your dictation</choice>
	<choice dtmf="7" next="#rewindbeginning">to rewind to the beginning and review your dictation</choice>
	<choice dtmf="8" next="#cancelrecording">to cancel your dictation</choice>
	<choice dtmf="#" next="#saveandreprompt">to save your dictation and go to the main menu</choice>
	<choice dtmf="*" next="#saveandhangup">to save and end the call</choice>
	<choice dtmf="0" event="helpagain">to listen to the help menu again</choice>

	<noinput count="1">
		Sorry, I did not hear you. Please try again.
		<reprompt/>
	</noinput>

	<nomatch count="1">
		Sorry, that is not one of the selections. Please try again.
		<reprompt/>
	</nomatch>

	<noinput count="2">
		Sorry, I still did not hear you. Please try again.
		<reprompt/>
	</noinput>

	<catch event="helpagain">
		<reprompt/>
	</catch>

	<catch event="nomatch noinput" count="3">
		<goto next="#saveandhangup"/>
	</catch>
		
	<catch event="connection.disconnect">
		<goto next="#saveandhangup"/>
	</catch>

</menu>

<form id="instantsaveandrecordnormal">
	<block>
		<submit next="https://stage.metroscript.com/voicexml/process_record_savevox.xml?next=saveandrecordnormal" method="post" namelist="myphone_file_1vox" enctype="multipart/form-data"/>
	</block>
</form>

<form id="instantsaveandrecordstat">
	<block>
		<submit next="https://stage.metroscript.com/voicexml/process_record_savevox.xml?next=saveandrecordstat" method="post" namelist="myphone_file_1vox" enctype="multipart/form-data"/>
	</block>
</form>

<form id="rewindrecording">
	<block>
		<submit next="https://stage.metroscript.com/voicexml/process_record_savevox.xml?next=reviewrewind" method="post" namelist="myphone_file_1vox" enctype="multipart/form-data"/>
	</block>
</form>

<form id="pauserecording">
	<block>
		<submit next="https://stage.metroscript.com/voicexml/process_record_savevox.xml?next=pause" method="post" namelist="myphone_file_1vox" enctype="multipart/form-data"/>
	</block>
</form>

<form id="forwardrecording">
	<block>
		<submit next="https://stage.metroscript.com/voicexml/process_record_savevox.xml?next=reviewforward" method="post" namelist="myphone_file_1vox" enctype="multipart/form-data"/>
	</block>
</form>

<form id="rewindbeginning">
	<block>
		<submit next="https://stage.metroscript.com/voicexml/process_record_savevox.xml?next=reviewbeginning" method="post" namelist="myphone_file_1vox" enctype="multipart/form-data"/>
	</block>
</form>

<form id="cancelrecording">
	<block>
		<% if (cstr(strCancelFlag) = "1") then %>
			<submit next="https://stage.metroscript.com/voicexml/process_record_savevox.xml?next=cancel" method="post" namelist="myphone_file_1vox" enctype="multipart/form-data"/>
		<% else %>
			<submit next="https://stage.metroscript.com/voicexml/process_record_savevox.xml?next=badcancel" method="post" namelist="myphone_file_1vox" enctype="multipart/form-data"/>
		<% end if %>
	</block>
</form>

<form id="saveandreprompt">
	<block>
		<submit next="https://stage.metroscript.com/voicexml/process_record_savevox.xml?next=saveandreprompt" method="post" namelist="myphone_file_1vox" enctype="multipart/form-data"/>
	</block>
</form>

<form id="saveandhangup">
	<block>
		<submit next="https://stage.metroscript.com/voicexml/process_record_savevox.xml?next=hangup" method="post" namelist="myphone_file_1vox" enctype="multipart/form-data"/>
	</block>
</form>

<form id="silentpause">
	<block>
		<submit next="https://stage.metroscript.com/voicexml/process_record_savevox.xml?next=silentpause" method="post" namelist="myphone_file_1vox" enctype="multipart/form-data"/>
	</block>
</form>


</vxml>
ERROR LOG:
  • Tue 03 Jul 2007 07:04:49 PM EDT:
    Call Start Event: ANII 6105849795 DNIS 3975 VURL http://hosting.plumgroup.com/plumvp/director.vxml
    DocumentParser::FetchDocument()
    DocumentParser::FetchDocument(http://hosting.plumgroup.com/plumvp/director.vxml)
    Cache Hit: http://hosting.plumgroup.com/plumvp/director.vxml
    VXI::var_element(name="dnis" expr = "session.telephone.dnis")
    DocumentParser::FetchDocument(director.php)
    Posted form data is URL encoded
    Attempting to fetch http://hosting.plumgroup.com/plumvp/director.php
    Click here to view saved VoiceXML script
    DocumentParser::FetchDocument(http://stage.metroscript.com/voicexml/default.xml)
    Cache Miss: http://stage.metroscript.com/voicexml/default.xml
    Attempting to fetch http://stage.metroscript.com/voicexml/default.xml
    Click here to view saved VoiceXML script
    Loading Builtin grammar: builtin:dtmf/digits?length=6
    VXI::var_element(name="StartDateTimeMonth" expr = "'7'")
    VXI::var_element(name="StartDateTimeDay" expr = "'3'")
    VXI::var_element(name="StartDateTimeYear" expr = "'2007'")
    VXI::var_element(name="StartDateTimeHour" expr = "'19'")
    VXI::var_element(name="StartDateTimeMinute" expr = "'4'")
    VXI::var_element(name="StartDateTimeSecond" expr = "'49'")
    VXI::queue_prompts()
    bargein set to true
    INPUTMODES set to "DTMF"
    Audio segment added to prompt queue from TTS application/synthesis+ssml for:
    ---------
    <?xml version='1.0'?><speak><voice><speak> Welcome to the Metro Script Staging Environment.
    Please enter your i d.
    </speak></voice></speak>
    ---------
    VXI::field_element - activating grammars for form = 'getuserid' formitem = 'username'
    VXI::do_recognition()
    PromptManager::Play()
    Newly queued prompts are now being played

    Tue 03 Jul 2007 07:04:59 PM EDT:
    dtmf input: 693764
    Found grammar match
    hypothesis #0: 693764 (0.9990)
    DocumentParser::FetchDocument(http://stage.metroscript.com/voicexml/check_user_id.xml)
    Posted form data is URL encoded
    Attempting to fetch http://stage.metroscript.com/voicexml/check_user_id.xml
    Click here to view saved VoiceXML script
    Loading Builtin grammar: builtin:dtmf/digits?length=4
    VXI::var_element(name="userid" expr = "617")
    VXI::var_element(name="username" expr = "693764")
    VXI::var_element(name="password" expr = "6935")
    VXI::var_element(name="fullname" expr = "'Doctor Doe'")
    VXI::var_element(name="userlevel" expr = "'6'")
    VXI::var_element(name="StartDateTimeMonth" expr = "'7'")
    VXI::var_element(name="StartDateTimeDay" expr = "'3'")
    VXI::var_element(name="StartDateTimeYear" expr = "'2007'")
    VXI::var_element(name="StartDateTimeHour" expr = "'19'")
    VXI::var_element(name="StartDateTimeMinute" expr = "'4'")
    VXI::var_element(name="StartDateTimeSecond" expr = "'49'")
    VXI::queue_prompts()
    bargein set to true
    INPUTMODES set to "DTMF"
    Audio segment added to prompt queue from TTS application/synthesis+ssml for:
    ---------
    <?xml version='1.0'?><speak><voice><speak> Please enter your password.</speak></voice></speak>
    ---------
    VXI::field_element - activating grammars for form = 'getpassword' formitem = 'newpassword'
    VXI::do_recognition()
    PromptManager::Play()
    Newly queued prompts are now being played

    Tue 03 Jul 2007 07:05:05 PM EDT:
    dtmf input: 6935
    Found grammar match
    hypothesis #0: 6935 (0.9990)
    DocumentParser::FetchDocument(http://stage.metroscript.com/voicexml/c ... ssword.xml)
    Posted form data is URL encoded
    Attempting to fetch http://stage.metroscript.com/voicexml/c ... ssword.xml
    Click here to view saved VoiceXML script
    VXI::var_element(name="userid" expr = "617")
    VXI::var_element(name="password" expr = "6935")
    VXI::var_element(name="username" expr = "693764")
    VXI::var_element(name="userlevel" expr = "6")
    VXI::var_element(name="confirmnum" expr = "1446")
    VXI::var_element(name="callid" expr = "1239")
    VXI::var_element(name="cancelflag" expr = "1")
    VXI::var_element(name="folderlist" expr = "'0'")
    bargein set to true
    INPUTMODES set to "DTMF VOICE"
    Audio segment added to prompt queue from TTS application/synthesis+ssml for:
    ---------
    <?xml version='1.0'?><speak><voice><speak> Welcome back Doctor Doe. Confirmation number <say-as type="acronym"> 1446</say-as> .</speak></voice></speak>
    ---------
    Newly queued prompts are now being played

    Tue 03 Jul 2007 07:05:08 PM EDT:
    DocumentParser::FetchDocument(http://stage.metroscript.com/voicexml/m ... _setup.xml)
    Posted form data is URL encoded
    Attempting to fetch http://stage.metroscript.com/voicexml/m ... _setup.xml
    Click here to view saved VoiceXML script
    DocumentParser::FetchDocument(http://stage.metroscript.com/voicexml/main_menu.xml)
    Cache Miss: http://stage.metroscript.com/voicexml/main_menu.xml
    Attempting to fetch http://stage.metroscript.com/voicexml/main_menu.xml
    Click here to view saved VoiceXML script
    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to begin normal recording)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (1)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to begin stat recording)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (2)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to end the call)
    </grammar>

    ---------


    Tue 03 Jul 2007 07:05:09 PM EDT:
    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    ("*")
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (for help)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (0)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to begin normal recording)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (1)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to begin stat recording)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (2)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to end the call)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    ("*")
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to listen to the help menu again)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (0)
    </grammar>

    ---------

    VXI::queue_prompts()
    bargein set to true
    INPUTMODES set to "DTMF"
    Audio segment added to prompt queue from TTS application/synthesis+ssml for:
    ---------
    <?xml version='1.0'?><speak><voice><speak>
    Enter
    1 to begin normal recording , <break size="small"/> 2 to begin stat recording , <break size="small"/> * to end the call , <break size="small"/> 0 for help , <break size="small"/></speak></voice></speak>
    ---------
    VXI::do_recognition()
    PromptManager::Play()
    Newly queued prompts are now being played

    Tue 03 Jul 2007 07:05:12 PM EDT:
    dtmf input: 1
    Found grammar match
    hypothesis #0: 1 (0.9990)
    VXI::var_element(name="statlevel" expr = "0")
    DocumentParser::FetchDocument(http://stage.metroscript.com/voicexml/p ... rd_new.xml)
    Posted form data is URL encoded
    Attempting to fetch http://stage.metroscript.com/voicexml/p ... rd_new.xml
    Click here to view saved VoiceXML script
    DocumentParser::FetchDocument(http://stage.metroscript.com/voicexml/p ... _start.xml)
    Cache Miss: http://stage.metroscript.com/voicexml/p ... _start.xml
    Attempting to fetch http://stage.metroscript.com/voicexml/p ... _start.xml
    Click here to view saved VoiceXML script
    GrammarManager::CreateGrammarFromString():
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="voice">
    1|2|3|4|5|6|7|8|9|0|"*"|"#"
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString():
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    1|2|3|4|5|6|7|8|9|0|"*"|"#"
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to save your normal dictation and record another instantly)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (1)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to save your stat dictation and record another instantly)
    </grammar>

    ---------


    Tue 03 Jul 2007 07:05:13 PM EDT:
    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (2)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to save your dictation and go to the main menu)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    ("#")
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to save and end the call)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    ("*")
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (for help)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (0)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to save your normal dictation and reecord another instantly)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (1)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to save your stat dictation and reecord another instantly)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (2)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to rewind 10 seconds and review your dictation)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (4)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to pause your dictation in which you will be able to unpause and continue recording)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (5)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to forward 10 seconds and review your dictation)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (6)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to rewind to the beginning and review your dictation)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (7)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to cancel your dictation)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (8)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to save your dictation and go to the main menu)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    ("#")
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to save and end the call)
    </grammar>

    ---------


    Tue 03 Jul 2007 07:05:14 PM EDT:
    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    ("*")
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (to listen to the help menu again)
    </grammar>

    ---------

    GrammarManager::CreateGrammarFromString(application/x-jsgf):
    ---------

    <?xml version='1.0'?>
    <grammar xml:lang="en-us" mode="dtmf">
    (0)
    </grammar>

    ---------

    VXI::queue_prompts()
    bargein set to false
    INPUTMODES set to "DTMF VOICE"
    Audio segment added to prompt queue from TTS application/synthesis+ssml for:
    ---------
    <?xml version='1.0'?><speak><voice><speak> Reecord at the beep.</speak></voice></speak>
    ---------
    Newly queued prompts are now being played
    bargein set to true
    Cache Miss: file:///usr/local/plumvp/resources/beep.ulaw
    Attempting to fetch file:///usr/local/plumvp/resources/beep.ulaw
    Audio segment from the URL resources/beep.ulaw added to prompt queue
    PromptManager::Play()

    Tue 03 Jul 2007 07:05:15 PM EDT:
    Newly queued prompts are now being played

    Tue 03 Jul 2007 07:20:16 PM EDT:
    VXI::assign_element(name="nextkey" expr = "phone_file_1vox$.termchar"
    VXI::assign_element(name="myphone_file_1vox" expr = "phone_file_1vox"
    received event: connection.disconnect.hangup
    Disconnect
    Disconnecting On Channel 21
    VXI::assign_element(name="myphone_file_1vox" expr = "phone_file_1vox"
    DocumentParser::FetchDocument(https://stage.metroscript.com/voicexml/ ... ext=hangup)
    Posting binary content "myphone_file_1vox" of size 7204096 and type "audio/basic"
    Posted form data is multipart encoded
    Attempting to fetch https://stage.metroscript.com/voicexml/ ... ext=hangup

    Tue 03 Jul 2007 07:20:27 PM EDT:
    Click here to view saved VoiceXML script
    DocumentParser::FetchDocument(https://stage.metroscript.com/voicexml/ ... ext=hangup)
    Cache Miss: https://stage.metroscript.com/voicexml/ ... ext=hangup
    Attempting to fetch https://stage.metroscript.com/voicexml/ ... ext=hangup

    Tue 03 Jul 2007 07:20:28 PM EDT:
    Click here to view saved VoiceXML script

    Tue 03 Jul 2007 07:20:29 PM EDT:
    DocumentParser::FetchDocument(https://stage.metroscript.com/voicexml/ ... hangup.xml)
    Cache Miss: https://stage.metroscript.com/voicexml/ ... hangup.xml
    Attempting to fetch https://stage.metroscript.com/voicexml/ ... hangup.xml
    Click here to view saved VoiceXML script
    Can not queue audio -- line disconnected
    received event: connection.disconnect.hangup
    Max Disconnect Count Exceeded
    Call End Event
    Ending session
    Ending Session On Channel 21

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

Updated IVR platform will support max 60m of record time

Post by support »

Hello,

The IVR platform currently has a maximum record time of 15 minutes and a maximum finalsilence of 5 minutes. The upcoming version of the IVR platform will support a maximum value of 60 minutes for both of these values. We do not yet have a release date for the IVR platform update, but currently this release is no more than 6 months out. In order to work around this limitation you should just break recordings up into 15 minute segments and increase the sensitivity of the recording to reduce the likelyhood that finalsilence will be reached. The sensitivity is controlled using the IVR sensitivity <property>:

Code: Select all

<property name="sensitivity" value="0.9"/>
Regards,
Plum Support
Last edited by support on Fri Feb 19, 2010 5:37 pm, edited 3 times in total.

metroscript
Posts: 78
Joined: Mon Sep 25, 2006 6:52 am
Contact:

Post by metroscript »

Thank you for the reply, but now I'm confused more than ever. The previous replies that I have received in the support forum have suggested that there is no maximum record time. Could you please clarify this, since long recordings(1 hour) are crucial to our applicaiton. Here are the responses that I have received in the past:


********************************************
This is a reply from Plum Support which states that
you can record for over an hour
********************************************
Hello,

1. If large file uploads only work under HTTPS the cause is something specific to your application server. There is absolutely nothing in our platform that would restrict file upload sizes, we have had customers uploading very long recordings (+1 hour) using both HTTP and HTTPS for several years without issue.

2. There are no HTTP vs HTTPS restrictions in our platform. If you experienced some issue where our platform was unable to access an HTTPS start url it is likely because something in your application was causing it to fail. One thing to keep in mind is that the web interface is not the same thing as the VoiceXML platform. It is simply a developer front end to configure the platform. As such the web interface is not guaranteed to have the same certificate list as the VoiceXML platform. This can create problems where you can not validate a URL in the web interface, but it works fine in the VoiceXML platform.

3. This is also related to the VoiceXML platform having a different list of certificates compared to the web interface that controls it. If you are able to call into applications that use HTTPS then your certificate is fine. Starfield is in our current VoiceXML platform certificate authority list so you should not have any issues using that certificate with our platform. If at some point you decide to change certificate authorities and you find that it does not work with our platform we can add new certificates to the next VoiceXML platform revision. Just post a message on this forum indicating the certificate authority you are having problems with, or if you have a support contract with us send an email to support@plumgroup.com with your customer number in the subject line.

Regards,
Plum Support

********************************************
This is a reply from Plum Support which states that there
are no restrictions on recording size
********************************************
Hello,

No, there are no restrictions related to recording size or uploads with the demo accounts. Demo accounts are fully functioning hosting accounts with limited minutes and life. They allow you to fully exercise all of the supported VoiceXML features of our production hosting accounts without restrictions.

Regards,
Plum Support


********************************************
This is in the general information forum from Plum support
********************************************
PostPosted: Tue Jun 03, 2003 12:17 am Post subject: How long can I record using the <record> tag? Reply with quote
The VoiceXML Platform software does not set a limit on record time. At some point you are likely to run into problems, most likely because the script or the application server receiving the binary data times out. We've tested <record> with audio of over 30 minutes.

The Programmer's Reference Guide lists the DEFAULT maxtime attribute as "60s" (60 seconds). However, that does not limit what you can set for the maxtime explicitly. To record longer audio segments, set the maxtime attribute.

For more information, see <record> in the Programmer's Reference Guide.

metroscript
Posts: 78
Joined: Mon Sep 25, 2006 6:52 am
Contact:

Post by metroscript »

One additional item, is there any maximum recording time between the development and production platforms?

Thanks,

Mike

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

IVR systems support call recording

Post by support »

Hello,

Unfortunately those previous posts are not entirely accurate. Our IVR systems support call recording which can create very large recordings of all audio in and out of the IVR system. The large file upload comments were made with those recordings in mind. They are different from the <record> tag which currently has a limit of 15 minutes. As stated in the previous post we are going to be increasing the maximum value in the upcoming release of our IVR platform.

The following statement from a previous post is correct:
Demo accounts are fully functioning IVR hosting accounts with limited minutes and life. They allow you to fully exercise all of the supported VoiceXML features of our production hosting accounts without restrictions.
There is no difference between our demo vs production. We provide full featured demo accounts so customers can build applications that are able to fully utilize all of the features of the IVR hosting environment.

Regards,
Plum Supports
Last edited by support on Fri Feb 19, 2010 5:38 pm, edited 3 times in total.

metroscript
Posts: 78
Joined: Mon Sep 25, 2006 6:52 am
Contact:

Post by metroscript »

Even though very disappointing, thank you for the clarification.

Post Reply