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

max disconnect count exceeded

Questions and answers about Plum iOn systems

Moderators: admin, support

Post Reply
jcooper
Posts: 45
Joined: Tue Jul 22, 2008 5:22 pm

max disconnect count exceeded

Post 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

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

IVR code needed to show infinite loop issue

Post 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
Last edited by support on Fri Feb 26, 2010 11:59 am, edited 2 times in total.

jcooper
Posts: 45
Joined: Tue Jul 22, 2008 5:22 pm

disconnect issue

Post 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

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

IVR code to fix "Max Disconnect Exceeded" error in

Post 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
Last edited by support on Fri Feb 26, 2010 12:00 pm, edited 2 times in total.

jcooper
Posts: 45
Joined: Tue Jul 22, 2008 5:22 pm

Post by jcooper »

That worked, thanks!!

Post Reply