10-24-2014 01:32 PM
Hi there,
I'm fairly new to CVP Call Studio and I've been reading Cisco CVP documentation and it seems that in order to pass data (parameters) between the ICM script and the Call Studio application the CVP_Subdialog_Start and CVP_Subdialog_End elements have to be used when a Cisco CVP voice application is invoked as a subdialog. And here is the question: If I want to pass parameters between the ICM script and a CVP voice application, do I have to invoke the voice application as a sub-dialog? The following is the extract from the 'Element Specifications for Cisco Unified CVP VXML Server and Cisco Unified Call Studio Release 9.0(1)' page 43 CVP Dialog Return:
For a Cisco Unified CVP Voice application invoked as a subdialog, the CVP Subdialog Return element
must be used to return data back to the calling application. The element should be used in place of Hang
Up elements throughout the call flow. Like a Hang Up element, the element has no exit states.
Note: There is one exception to the above description. If the voice application will only ever be called
by a Subdialog Invoke element (that is, never by Unified ICM), then the Subdialog Start and
Subdialog Return elements may be used instead. Refer to Subdialog Invoke, Subdialog Return
and Subdialog Start for details.
The settings for this element are used to define what data to pass back to the calling application. The Caller
Input setting must be assigned a value in order for the application to validate, since it is required to have
a value. Each element setting corresponds to an ICM ECC external variable name, and therefore the
configuration values must conform to requirements associated with ICM ECC variables. Refer to the Unified
CVP documentation for further details.
The problem of using CVP_Sub-dialogs is that the Call Studio Simulator doesn't work.
Thanks,
Carlos A Trivino
10-24-2014 09:54 PM
The Cisco system automatically invokes the VXML Server app as a
subdialog - that's what the GS,Server,V microapp does.
You just configure ICM by assigning into the ToExtVXML array
"application=appname" as well as any other variables you'd like to pass,
as semi-colon separated name=value pairs.
On the Studio side, you don't have to do anything to receive those
variables. They're just automatically stored as Session Data variables.
For example: if ToExtVXML[1] contains "Open=true;Ewt=15"
Then your Studio/VxmlServer app will have session variables named 'Open'
with value true
and 'Ewt' with value 15.
If you want to test your Studio app in the Studio Debugger, you can
simulate the data from ICM by right-clicking the Studio app in the
Navigator pane and selecting *Debug As>Debug... *and entering the
Name/Value pairs as URL parameters.
You won't be able to see the data you're returning to ICM in the
Debugger though.
10-28-2014 07:28 PM
Thanks very much for your response Janine, truy appreciate it.
I have one more question though, how can I return data back to the ICM script: this is the situation: when the caller needs to talk to an agent, the caller should press zero. Depending on which point in the IVR the caller presses zero, I set an id e.g. 1E. This is the value I want to return back to the ICM script to the transfer the call to a route point, Do I have to add a hang-up node? I don't think so as I think that that node would disconnect the call (terminate the call). Also, is there a way to capture when a caller hangs up on CVP studio?
Many thanks again.
Regards,
Carlos A Trivino
10-29-2014 06:27 AM
To return data from VXML Server to ICM, use the CVP_Subdialog_Return
element (in the Elements pane, in the folder named Subdialog
Elements/Cisco/CVP_Subdialog_Return
The Caller Input setting returns data into ICM's Call variable named
user.microapp.caller_input
The Ext VXML 0 setting returns data into ICM's Call variable named
user.microapp.FromExtVXML[0]
The Ext VXML 1 setting returns data into ICM's Call variable named
user.microapp.FromExtVXML[1]
The Ext VXML 2 setting returns data into ICM's Call variable named
user.microapp.FromExtVXML[2]
The Ext VXML 3 setting returns data into ICM's Call variable named
user.microapp.FromExtVXML[3]
All entries go back to ICM as strings. The ICM script can evaluate the
returned values and use them as necessary.
For screen pop, ICM will assign data into its Call variables named
PeripheralVariable1, PeripheralVariable2, ..., 10 (each is size 40 chars)
10-29-2014 06:56 PM
Thanks Janine, I got it. I have a further question. How can I assign a variable under the 'Value' field of the CVP_Subdialog_Return element? I was thinking about using Java to do so but the CVP_Subdialog_Return element does not offer the Java API capability.
Thanks again Janine.
Carlos.
10-30-2014 03:36 AM
You can select a variable by pressing the button marked { }
Then select either the Element or Session tab, and select the variable
you'd like to return to ICM.
Some variable names will not display and must be manually typed into the
field.
Then press ADD TAG.
Then press OK.
10-31-2014 07:57 PM
Hi Janine,
A few more questions I hope you can help me with:
I'm trying to write some java code and I need to access the CVP 9.0(1) javadoc. I've been trying to access the following URL http://developer.cisco.com/web/cvp/documentation but the URL doesn't seem to work, could you please point me to the right direction?
Also, do you happen to know how I can get access to some JAVA API code samples related to CVP studio?
Last but no least, how can I assign a value to a variable after a switch element in CVP studio?
Thanks again for all your help, it is appreciated.
Carlos A Trivino
10-31-2014 08:43 PM
The javadocs are on the Vxmlserver in the directory C:/Cisco/CVP/VXMLServer/docs/javadocs - do you have access to that directory?
10-31-2014 08:56 PM
I have some java samples but I don't see how to upload them here. You can email me by going to TrainingTheExperts (dot) com and selecting Contact Us.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide