VXML Server: Session Ending within an Element Error
Session Ending within an Element Error
|Problem Summary||This error is displayed when during the process of producing a response to a browser request, the session is invalidated. This is slightly different than the previous situations. In those situations, the session was already invalidated when the browser makes the request. Here, the session is invalidated while VXML Server is in the process of handling a request. This occurs within a call, precipitating an error message to be played to the caller.|
|Error Message||SERVER ERROR: An error occurred because the HttpSession has been invalidated. This could have been caused by an action element whose execution time exceeded the VoiceXML gateway's time limit for VoiceXML page requests.|
|Possible Cause||There is one specific situation where this can occur under standard load. An element that takes a long time to complete, more time than the H.323 Service’s fetch timeout property (typically around 30 seconds) would hold up the response while it worked. The browser would time out the request, causing a new request to be made to end the session with an error. When the element finally completes, any subsequent work done by the VXML Server would encounter a null session and log this error.
Under correct conditions, elements should execute very quickly. Likely causes for delays would be when the element is accessing external resources such as databases or, less likely, the element is performing a very complex calculation. While the error message references an action element (which is usually the preferred element to make calculations or access databases), this can occur within any kind of element, both standard and configurable.
Another situation where this could occur would be if the system is under very high call volume. In this case, the operations of the system may cause normally rapid operations to slow down to non-trivial lengths of time. This, coupled with an element that performs a slow operation, could cause this error to occur.
Severity: The severity of this error is high since the caller would encounter an error message during the call and could be an indication that the system is overloaded.
|Recommended Action||When designing an element that has the potential for taking a long time, the developer may wish to implement mechanisms for handling a slowdown such as implementing internal timeouts, or using backup systems if the primary systems fail. If the application designer knows that an element can take a long time to run, they can consider increasing the fetch timeout VoiceXML property just for that element, write the element to run in a separate thread so the call can continue without delay, or provide audio to play while the caller is waiting.
The administrator may also wish to analyze the system to see if there is excessive load on it and take measures to reduce the load if so.
|Associated CDETS #||None.|