cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
4736
Views
0
Helpful
17
Replies

Finesse with Workforce Optimization Quality Management

vladpetra
Level 1
Level 1

Greetings,

We are upgrading our client from UCCX version 9 to version 11.6. The system includes a QM server for recording.

In version 9, Agents are updating metadata and tagging the recordings through CAD, by clicking a task button.

I am trying to make something similar on Finesse. I am working with Chrome as the Agent browser.

I've created a button which executes javascript AJAX post command with metadata to QM.

Unfortunately, I am receiving an error:

Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Can anyone advise if they had to work with Finesse and QM and sending metadata?

Thanks in advance,

Vladislav

1 Accepted Solution

Accepted Solutions

Hi,

I'm glad that you were able to make some progress. Hopefully this will help you with the headers. Take a look at the makeRequest function of the ExternalRestApiSampleGadget for more details.

params = {};

params[gadgets.io.RequestParameters.HEADERS] = {};

params[gadgets.io.RequestParameters.HEADERS]["Content-Type"] = gadgets.io.ContentType.JSON;

Thanx,

Denise

View solution in original post

17 Replies 17

dekwan
Cisco Employee
Cisco Employee

Hi Vladislav,

Is the Finesse and QM on a different domain? That error you are getting is typically due to cross domain communication. Take a look at information about CORS. https://www.html5rocks.com/en/tutorials/cors/

Thanx,

Denise

Hello Denise,

Finesse and QM are in the same domain.

I am still reading the information on the website with hope to find something that can assist.

Hi,

Hm. I only have seen that error in a different domain.

As far as you getting a 401, it is probably because that RecordingControlsGadget is for 10.0 and you are on 11.6. The 10.0 gadget is not compatible with 11.6 so you are probably having issues with the authentication, hence the 401. You will need a gadget version that is 11.0 or above.

Thanx,

Denise

Oh, this is one of the answers that I was afraid of.

The current version of the Gadget that QM 11.5 includes is 10. Do you know if 11.X is available somewhere or can suggest how to adopt the version 10 to work with Finesse 11.6?

Regards,

I tried searching for a later version for you before I sent my previous reply hoping I could have just pointed you to a later version but couldn't find anything quickly.

So I had written a blog on converting gadgets from 10.5 -> 11.0/11.5/11.6 which you can find here: How to convert your existing 10.5.1 custom gadget to work with 10.6.1, 11.0.1/11.5.1/11.6.1

I can't remember off the top of my head if there were changed from 10.0->10.5. It has been a while. What I would recommend is to download a sample gadget from here: GitHub - CiscoDevNet/finesse-sample-code: Sample Gadgets and code for use with Finesse for both 10.0 and 10.5 version and do a diff on the files to see if there are any changes. Then after, follow the blog I have above.

If you get it working, it would be awesome if you can post the newer working version for others in this community.

Thanx,

Denise

Thank you very much...

Will try my best, and will let you know.

401 is an 'unauthorized' error.  That's not stemming from a version compatibility, something else is going on.  Did you go through the process of copying files from QM server up to UCCX 3rdparty gadget folder (after updating to point to your QM server)?  Page 37 of the PDF at the link I posted describes that step.  There are multiple steps involved, including setting a password for the 3rdpartygadget account on UCCX, then connecting with that account to upload the files.

QM by default uses a self signed certificate for the Jetty web process, which Finesse clients will likely NOT trust.  Thus my reference to replacing the QM Jetty certificate with one that clients will trust.

I copied the RecordingControlsGadgetFinesse-10.0.1 directory to 3rdpartygadget folder on UCCX. Finesse loads the gadget and I can see the buttons (play, record etc.) but when clicking the "Select metadata", I receive 401.

Hello,

I have good news and bad news.

After converting the gadget to version 11, there is no 401 error anymore. But still have issues.

Firefox able to pull information about metadata from Calabrio QM but can't send it. Receive error 400.

Chrome can't pull the metadata at all. Receive error "net::ERR_INSECURE_RESPONSE"

Will be thankful for any suggestions.

I have an open case with Calabrio with hope that they will provide me the location of logs on the server. It is hard to work blindly without knowing what Calabrio server receives 

Hi,

I'm glad that you were able to convert the gadget to version 11 and get rid of the 401. Unfortunately I have no experience with the Calabrio QM so your case with Calabrio would probably be the best.

Thanx,

Denise

I was able to make some progress with my own script and able to send requests to QM server, but the requests are failing.

I checked the packets with wireshark and found out that the "headers" is empty even though I am setting params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON

Do you know if there is another way to set headers with gadgets.io.RequestParameters?


Regards,

Vlad

Hi,

I'm glad that you were able to make some progress. Hopefully this will help you with the headers. Take a look at the makeRequest function of the ExternalRestApiSampleGadget for more details.

params = {};

params[gadgets.io.RequestParameters.HEADERS] = {};

params[gadgets.io.RequestParameters.HEADERS]["Content-Type"] = gadgets.io.ContentType.JSON;

Thanx,

Denise

Hello Denise,

I was able to make my script working with all the instructions...

Thank you very much for the assistance.

Hi,

Awesome! Glad to hear that you got it working!

Thanx,

Denise

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: