VXML Server: Ended Session Request Error
Ended Session Request Error
|Problem Summary||This error message appears when an HTTP request initiated by the root document is made by the browser for a session that the VXML Server has already ended. The way the VXML Server knows what session the request is asking for is by looking at the cookie included in the request for the session’s ID. A request from the root document indicates either a VXML error occurred or the caller hung up. In a typical call, all requests made for a call session come in series and so there is never a request that comes after the VXML Server believes the call has ended. This error message would appear if a request telling the VXML Server to end the session is followed by a new request initiated by the root document referencing the same cookie.|
|Error Message||SERVER ERROR: There has been an error with the http session: a request was made due to an event caught in the root document that refers to a session that has already ended.|
|Possible Cause||This is a very rare situation as normal operation would not cause any further requests to be made after the request that ended the session (it is expected that the session-ending request is the last one). Note that for this error to appear, the new request must come from the root document, in many cases indicating an error encountered by the H.323 Service. There could be several rare situations where this could occur. The first begins with the end of call event activated by the final request to VXML Server taking a long time to run. This would cause the browser to make a new request timing out the session. This next request would have to be made before the initial request returned, but after the end of call event completed, causing the VXML Server to end the session before the new request was received. In order for this situation to occur, the timing would have to be very precise.|
|Recommended Action||For the first situation, the developer must ensure that their end of call events do not have the possibility of taking longer to execute than the H.323 Service’s fetch timeout VoiceXML property. Another possible solution if the end of call event is a Java class would be to execute the class in a separately spawned thread. The problem with this would be that the spawned thread should not attempt to access content in the session due to the possibility that it could be invalidated while the thread was executing.|
|Associated CDETS #||None.|
|Possible Cause||Another situation that could cause this would be some network overhead or slowdown causing the final response for a call to fail to arrive at the browser, precipitating a time out to occur. Since VXML Server functioned without problem and ended the session, this new request would cause the error to occur. Note that some Call Servers and operating systems under high HTTP load can queue HTTP requests and potentially even lose requests if the queue is too large. The administrator should investigate this queue if their system is expected to support high load (for example, on Apache Tomcat, this is known as acceptcount).|
|Recommended Action||For the second situation, it may be an indication of excessive network, operating system, or Call Server load. For the network, perform diagnostics to ensure proper operation. For the operating system, check the CPU and memory utilization to ensure they are not maxed out. And for the Call Server, check the configuration to ensure the HTTP request queue is not too small (for example, on Apache Tomcat, the acceptcount setting can be configured in the conf/server.xml configuration file). Finally, the administrator may decide to direct less load on the system.
The administrator may also choose to ignore these issues if they occur rarely since there are no bad consequences for the call session that encounters this error.
Severity: Due to the fact that this error message appears only in very rare situations, as well as the fact that even if it does occur, the caller does not encounter any issues with their call, this error message is benign.
|Associated CDETS #||None.|