Page 1 of 1

max disconnect count exceeded

Posted: Mon Nov 03, 2008 11:13 am
by jcooper
What does the following error in the error log mean? How do I prevent this?
Thanks.

000004;080;1225510019 Max Disconnect Count Exceeded

IVR code needed to show infinite loop issue

Posted: Mon Nov 03, 2008 12:06 pm
by support
Hi,

This means that your disconnect handler/event is probably causing some sort of infinite loop by throwing another disconnect event, or transitioning to a page or dialog that throws a disconnect event. E.g. (contrived):

Code: Select all

<catch event="connection.disconnect">
<!-- do some stuff -->
<disconnect />
</catch>
Could you please provide a small snippet of your IVR code where this is happening? We can take a better look at this IVR issue with more IVR context.

Regards,
Plum Support

disconnect issue

Posted: Mon Nov 03, 2008 5:15 pm
by jcooper
I catch a disconnect here:

Code: Select all

		...
<catch event="connection.disconnect">
			<submit next="Process.aspx?p=Disconnect"
					namelist="session.id"
					method="post"
					/>
		</catch>
	</form>
My process.aspx?Disconnect page returns this code:

Code: Select all

<!DOCTYPE vxml PUBLIC "-//W3C//DTD VOICEXML 2.0//EN" "http://www.w3.org/TR/voicexml20/vxml.dtd">
<vxml version="2.0" application="mainmenu.xml">
<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="documentmaxage" value="0s"/>
<property name="scriptmaxage" value="0s"/>
<form scope="dialog">
<property name="sensitivity" value="0.0"/>
<block>
<return/>
</block>
</form>
</vxml>
And when i look at the session log i see the following:
Mon 03 Nov 2008 05:02:42 PM EST:
received event: connection.disconnect.hangup:
DocumentParser::FetchDocument(Process.aspx?p=Disconnect)
Posted form data is URL encoded
Attempting to fetch http://ivr.domain.com /Dev/Process.aspx?p=Disconnect
Click here to view saved VoiceXML script
DocumentParser::FetchDocument(mainmenu.xml)
Cache Miss: http://ivr.domain.com /Dev/mainmenu.xml
Attempting to fetch http://ivr.domain.com /Dev/mainmenu.xml

Mon 03 Nov 2008 05:02:43 PM EST:
Click here to view saved VoiceXML script
GrammarManager::CreateGrammarFromString(application/srgs+xml):
---------
<?xml version='1.0'?>
<grammar version="1.0" root="SetLanguage" xml:lang="en-us" mode="dtmf">
<rule id="SetLanguage" scope="private"><one-of><item>1</item><item>2</item></one-of></rule>
</grammar>
---------
Loading Builtin grammar: builtin:dtmf/digits?length=5
Loading Builtin grammar: builtin:dtmf/digits?length=5
Loading Builtin grammar: builtin:dtmf/digits?minlength=2;maxlength=10
Loading Builtin grammar: builtin:dtmf/digits?minlength=2;maxlength=10
GrammarManager::CreateGrammarFromString(application/x-jsgf):
---------
<?xml version='1.0'?>
<grammar xml:lang="en-us" mode="dtmf">
1 | 2
</grammar>
---------
GrammarManager::CreateGrammarFromString(application/x-jsgf):
---------
<?xml version='1.0'?>
<grammar xml:lang="en-us" mode="dtmf">
1 | 2
</grammar>
---------
GrammarManager::CreateGrammarFromString(application/x-jsgf):
---------
<?xml version='1.0'?>
<grammar xml:lang="en-us" mode="dtmf">
1 | 2
</grammar>
---------
GrammarManager::CreateGrammarFromString(application/x-jsgf):
---------
<?xml version='1.0'?>
<grammar xml:lang="en-us" mode="dtmf">
1 | 2
</grammar>
---------
GrammarManager::CreateGrammarFromString(application/x-jsgf):
---------
<?xml version='1.0'?>
<grammar xml:lang="en-us" mode="dtmf">
1 | 2
</grammar>
---------
GrammarManager::CreateGrammarFromString(application/x-jsgf):
---------
<?xml version='1.0'?>
<grammar xml:lang="en-us" mode="dtmf">
1 | 2
</grammar>
---------
GrammarManager::CreateGrammarFromString(application/x-jsgf):
---------
<?xml version='1.0'?>
<grammar xml:lang="en-us" mode="dtmf">
1 | 2
</grammar>
---------
GrammarManager::CreateGrammarFromString(application/x-jsgf):
---------
<?xml version='1.0'?>
<grammar xml:lang="en-us" mode="dtmf">
1 | 2
</grammar>
---------
GrammarManager::CreateGrammarFromString(application/x-jsgf):
---------
<?xml version='1.0'?>
<grammar xml:lang="en-us" mode="dtmf">
1 | 2
</grammar>
---------
GrammarManager::CreateGrammarFromString(application/x-jsgf):
---------
<?xml version='1.0'?>
<grammar xml:lang="en-us" mode="dtmf">
1 | 2
</grammar>
---------
VXI::var_element(name="firstname" expr = "")
VXI::var_element(name="lastname" expr = "")
VXI::var_element(name="lang" expr = "")
received event: error.semantic:
Can not queue audio -- line disconnected
received event: connection.disconnect.hangup:
Max Disconnect Count Exceeded
Call End Event
Ending session
Ending Session On Channel 0

IVR code to fix "Max Disconnect Exceeded" error in

Posted: Tue Nov 04, 2008 10:20 am
by support
Hi,

Looking at your IVR call log, the reason why you are getting the error.semantic is because you have a <return/> within your <block>, which returns nothing. Instead of using a <return/> tag there, you should use an <exit/> tag instead.

So, your updated IVR code should look like this:

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="10ms"/>
<property name="documentmaxage" value="0s"/>
<property name="scriptmaxage" value="0s"/>
<form scope="dialog">
<property name="sensitivity" value="0.0"/>
<block>
<exit/>
</block>
</form>
</vxml>
Once you have updated this, you should no longer get a "Max Disconnect Exceeded" in your IVR error logs because of this.

Regards,
Plum Support

Posted: Tue Nov 04, 2008 4:04 pm
by jcooper
That worked, thanks!!