cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
451
Views
4
Helpful
3
Replies

Finesse desktop client & API request coexistance

kzharkov
Level 1
Level 1

We are planning to implement some application which will be communicate with UCCX via Finesse API.

Can one to use simultaneously Finesse desktop client and that application which would operates call control action from the same user?

UCCX version is 11.5SU1.

3 Replies 3

dekwan
Cisco Employee
Cisco Employee

Hi,

Yes and no. This is why...

Finesse supports one connection to the Finesse notification service and the Finesse desktop client counts as a connection. So, unfortunately that means that your application cannot make another connection (it will work, but it may result in lost events).

This doesn't stop your application from making the call control actions via the REST API. But, since there won't be a connection to the Finesse notification service, you will not be able to get the response of these actions via notification to see if it was successful or not.

Thanx,

Denise

Hi Denise,

Thanx for response.

Could you please clarify your point regarding notification service.

And what do you think about next scheme?

UserX - Any user with Agent role. It is regular agent handling calls within Finesse Desktop.

UserListener - Single user with Admin and Agent roles. Used to listen events via XMPP in our app.

While UserX handling calls within Finesse Desktop, our app that is hosted on another web server operates as follow:

0. On application start, it connects to Notification Service via XMPP and keeps connection permanently.

On user requests, it performs next actions:

1. UserListener subscribes to XMPP node /finesse/api/User/UserX/Dialogs

2. Requests call-control actions via PUT /http://<FQDN>/finesse/api/Dialog/<dialogId> with UserX credentials (meanwhile UserX is still logged in Finesse Desktop)

3. Awaits result via XMPP

...

4. UserListener unsubscribes from XMPP node /finesse/api/User/UserX/Dialogs

------------------------------------------------------------------------------------------------------------------------------------------------

We developed a prototype that operates like this, but we has some concerns:

1. Will Finesse Desktop properly handle events that were triggered from our app e.g. Consult Call initiation?

2. Does frequent (5-10 per minute) subscribe/unsubscribe action make a significant impact on Notification Service performance?

3. Is there any ways to make UserListener available to connect to Notification Service and subscribe to another users' events without assigning Agent role to it?

With regards,

Kirill Zharkov.

Hi Kirill,

Sure, if that scheme works for you then you can do it that way. It is definitely a workaround to the situation and I have heard other developers doing the same. Do note that UserListener will count as a user in terms of the load on the system.

1. Will Finesse Desktop properly handle events that were triggered from our app e.g. Consult Call initiation?

From a theoretical/technical standpoint, I don't see why not. I would definitely load test the system to be 100% though.

2. Does frequent (5-10 per minute) subscribe/unsubscribe action make a significant impact on Notification Service performance?

That is a lot of subscribes/unsubscribes, but again, I would load test it. It really depends on how many agents are logged in at the same time which would change the performance on the system.

3. Is there any ways to make UserListener available to connect to Notification Service and subscribe to another users' events without assigning Agent role to it?

I don't think so because the user won't be created in the notification service if it is not an agent, but I have never done this before so I don't have any proof to back up my statement.

Thanx,

Denise