cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2435
Views
7
Helpful
7
Replies

UCCX - Passing metadata from Finesse to Calabrio call recording

Hi Experts,

We are trying to implement passing of metadata from UCCX-Finesse to Calabrio.

I have configured a workflow in Finesse that invokes an action when a call ends.

I have configured the workflow as per Calabrio integration guide: 

Name - metadata

Type - HTTP Request

Handled By - Finesse Desktop

Method - POST

Location - Other

Content type - text/json

URL - http://recording_server_ip/recordingcontrols/rest/metadata

Body - 

{

"peripheral_id":"1"

"SenderID":"loginId"

}

When I look into the browser console log of the Agent's Finesse desktop, I could see a 200 response from the Calabrio server:

Received return code of 200 from http://recording_server_ip/recordingcontrols/rest/metadata  for WorkflowAction.

But when I did a packet capture in Agent's PC , I am not able to see anything being sent from the PC itself to recording server. I assume UCCX is sending the HTTP request to calabrio whenever a workflow action like above is triggered. 

The actual problem : Calabrio support is saying that UCCX is not sending any HTTP request for it to process the metadata

Is there a way to verify that UCCX is actually sending a HTTP request other than Packet capture ? 

Something like a log that would show this information ? 

This issue is causing a big problem to customer's daily operations and I hope someone would help with this. 

Thanks,

Anand 

7 Replies 7

Joey Gore
Level 1
Level 1

Hi Anand,

I just finished implementing this on our 11.5 environment. It looks you aren't passing any metadata. There is a metadata tag that specifies what data you are sending. The peripheral ID and login ID I believe just ties it to the proper recording. Here is what mine looks like:

{"peripheral_id":"1","sender_id":"${loginId}",
"metadata": {"account" : "${callVariable1}" , "sessionid" : "${callVariable8}", "calltype" : "${callVariable2}", "call_segment": "1" , "csqID" : "${callVariable5}" }}

I also followed the steps outlined here:

http://www.cisco.com/c/en/us/support/docs/customer-collaboration/unified-workforce-optimization/118831-technote-uccx-00.html

Jason_Brockman
Level 1
Level 1

This is pretty old, and I'm guessing you found a solution already.  I figured I would share some of what I just found out when I was having the exact same issue.  I'm pretty sure my whole problem was using the display name of the metadata fields, and not the key names.  All of my key names are suffixed with "_cdf".  Once I updated them to that, I was able to update metadata values.  The body of my POST request is below.  I hope this helps someone in the future, because I spent a few hours on it today.

 

{
	"peripheral_id" : "1",
	"sender_id" : "${loginId}",
	"metadata":
		{
		"called_store_cdf" : "${callVariable6}",
		"handled_csq_cdf" : "${callVariable4}", 
		"call_segment": "1"
		}
}

The first time I did this a few years ago, I struggled quite a bit too. There is confusing and conflicting documentation out there, so thanks for sharing a verified working example.

Hi,

 

Will this work with the cloud version of Calabrio One?


Regards,

 

Ricardo

smmillerd
Level 1
Level 1

Hi,

I know this is an old thread, but I just did a UCCX integration with the cloud version of Calabrio One and the field names and syntax changed slightly from the code above. Here is the body of my working POST:

{
	"acdServerid" : "4",
	"acdId" : "${loginId}",
	"metadata": [
		{
		"name" : "csq-key",
		"value" : "${callVariable2}"
}
{ "name" : "crm-account-key"
"value" : "${callVariable3}" }
] }

 

+1 for sharing the knowledge!

david

mparra.fusionet
Level 1
Level 1

Little Heads up in relation to this MetaData Tagging:

One of our clients has  several 15+ UCCX 12.5 and CUCM 14 Clusters integrated to the same CalabrioOne / Webex WFO tenant, Call/Screen recording works great, when trying to do the metadata tagging this approach documented here doesn't work.

According to Calabrio TAC, It seems that for this API request format to work you need to have your Calabrio Servers doing ACD Sync (to push all the users from CUCM to the Calabrio Cloud), this populates automatically the the Calabrio User page, the ACD ID and ACD ID server.

If it is not done like that this (CUCM ACD Sync from CUCM to the CalabrioOne CLoud) the API will return a 400 message all the time, Calabrio TAC ended up explaining this is a limitation for our setup, because all of our CUCMs have the same AD users (its a big Corp) and that is what CalabrioOne doesn't like, you are golden if your CUCMs have different users because in that way you can sync all the CUCM AD users.

They also explained that manually populating in the calabrio GUI the ACD ID and ACD Server ID won't work.

I have always worked in a single UCCX and CUCM cluster integrated to the CalabrioOne cloud tenant, never multiple UCCX and CUCM clusters, so it was unfortunate to see that the CalabrioOne set up had this limitation. We are going to work with Calabrio API Services to see if this metadata tagging can be done, in our setup.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: