22 + 10 = 32 seconds later, PG sends cancel message to VRU to terminate VRU leg as per the registry setting (DelayedScriptResponseTimeout). This registry key comes in the picture because there was no run script result from CVP after VRU leg was disconnected.
Step 2. Based on this analysis, issue appeared to be between VXML Application and VXML Gateway or VXML
gateway and CVP/IVR
Here is the deviation which is caused by VXML Gateway not Sent GET/POST req. with SCRIPT_RESULT.
CVP has two dialogs with ICM, DLG#1 is for SIP leg and DLG#2 is for IVR-leg
Caller disconnects, SIP leg gets disconnected and a CALL_STATE_EVENT with eventId=DISCONNECT is set to ICM forDLG#1
CVP sends SIP BYE to VXMLGW for the IVR (remote disconnect).
VXMLGW doesn’t send SCRIPT_RESULT and hence ICM times out after 10s and sends ICM_RELEASE to CVP which is received by CVP-IVR.
At this stage, CVP-IVR will start timer (mentioned below) and continues to wait for response from VXMLGW.
As no SCRIPT_RESULT is received, the timer fires in CVP and IVR will start cleanup the client session that VXMLGW had created for this call.
After timer is expired, CVP sends CALL_STATE_EVENT with eventId=DISCONNECT is set to ICM forDLG#2 (i.e. IVR leg).
Timer is IVR.TimerTaskInterval. This is in ivr.properties.
Compared working 'HelloWorld' and 'CustomHelloWorld' application logs and found that Subdialog returns to main dialog after receives telephone.hangup event.
Logs in working HelloWorld.
VXML Gateway sends call result after subdialog return.
Jun 22 00:29:02.670: //1122350//HTTPC:/httpc_send_ev: event sent to HTTP Client:
Jun 22 00:29:02.670: method (GET), url (http://10.66.75.179:8000/cvp/VBServlet?MSG_TYPE=CALL_RESULT&CALL_ID=98A53E04561811E7A43AB167D81A2367&CALL_SEQ_NUM=2&ERROR_CODE=1)
Logs in Non-Working CustomHelloWorld.
Not return here - state is exit.
In order to return to the main dialog, application needs to be configured with Subdialog = true.
Open application in CallStudio, right click and select properties. Modify your application to set the subdialog to ‘true’ and redeploy the application.
You can also verify whether subdialog is set to true or false from settings.xml file. This file can be found under the path - C:\Cisco\CVP\VXMLServer\applications\<your application>\data\application