Hi Jannie,
We are also facing the same issue. We have implemented java code and made all necessary settings which you mentioned in the previous posts.
But when we hangup the call in middle of the application, call is not returned back to icm. And have also checked in Termination_Call_Variable table
and didn't find the hangup value populated in ECC field. Here are my activity and debug logs. I have set some dummy values for FromExtVXML0 to 3.
Activity logs:
10.20.89.108.1359638331899.134.Starwood_China,01/31/2013 07:19:06.852,Starwood_China_Form_SPGNumznhk,interaction,audio_group,initial_audio_group
10.20.89.108.1359638331899.134.Starwood_China,01/31/2013 07:19:14.539,Starwood_China_Form_SPGNumznhk,exit,
10.20.89.108.1359638331899.134.Starwood_China,01/31/2013 07:19:14.539,,custom,How Call Ended: ,hangup
Debug Logs:
<form>
<block>
<var name="caller_input" expr="'hangup'" />
<var name="FromExtVXML0" expr="'1234'" />
<var name="FromExtVXML1" expr="'1234'" />
<var name="FromExtVXML2" expr="'1234'" />
<var name="FromExtVXML3" expr="'1234'" />
<return namelist="caller_input FromExtVXML0 FromExtVXML1 FromExtVXML2 FromExtVXML3" />
</block>
</form>
</vxml>
Could you please help me how can we populate the value in that particular table?
Janine Graves:
Hi Ryan,
I didn't write that end class java from scratch, I got it from the post you mention. Can't remember who posted it, maybe Paul?
The End of Call java class executes no matter how the call ends. But, the java I posted checks if the ended with 'hangup', and only continues in that case. If the caller hangs up, the call flow does not execute the CVP Subdialog Return, so no worries about overwriting it. And conversely, if the call goes thru the CVP Subdialog Return, then the caller didn't hang up. So, no need to worry.
I know of no way to populate the PVs directly. When returning data from VxmlServer one can only populate caller_input, FromExtVXML[0],...[3]. It must be written into the IVR Service or ICM Service code on the Call Server. And, if the caller hangs up, the ICM script ends immediately, so the best you can do is return data that populates the CallTermination Variable table. One might be able to create a session variable in the End of Call java class, assign it the data, and have it show up in the Reporting Server. I haven't tested to see if variables created in End of Call java would make it to the reporting server, but I don't see why not. But, this doesn't address the PV problem.
Maybe Paul Tindall could file that as an enhancement request.