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

Reconnect Api in finesse

azizshaik
Level 1
Level 1

Hi,

Does finesse have an api that reconnects a call/dialog? some thing similar to the reconnect call in the .net Cil.

Thanks

Aziz.

1 Accepted Solution

Accepted Solutions

thats the direction i am taking, will keep you posted once its done.

thanks for your help

View solution in original post

7 Replies 7

dekwan
Cisco Employee
Cisco Employee

Hi,

Do you mean a scenario like this?

1. Agent A is talking to customer1

2. For some reason, the call gets dropped

3. Agent A uses a reconnect API to reconnect the call

If so, no, Finesse does not have an API like that.

Thanx,

Denise

thanks for the response, just to let you know that we are developing a client using the finesse api and not using the out of box client from finesse, and the scenario you mentioned is not the one i am looking for,

the scenario that i am talking about is as follows,

1. Agent gets a call from a customer.

2. Agent wants to consult his/her coach for some reason.

3 Agent makes a consult call to his/her coach, doing so places the customers line on hold and is talking to the coach.

4. Agent now wants to reconnect with the customer

     a. he can do this by clicking on the retrieve button in the out of box finesse client.

     b. in our case we dont have a call row that displays the list of calls the agent is on, and i was trying to see if there is an api that allows the agent to reconnect with the customer line and dropping the coachs line. this is very similar to the api provided in the CTIOS based CIL clients.

please let me know if you need any further details.

Hi,

Thank you for clarifying the scenario.

For step 4, what you would need to do is to do two (or three) actions.

1. Drop the coaches line by using the Take Action on Participant API with the requested action of <requestedAction>DROP</requestedAction> & callId of the coaches call

2. Get the callId of the customer line either by storing it in memory before making the consult call at step 3, or using the Get List of Dialogs API

3. Using the callId from #2, use the Take Action on Participant API with the requested action of <requestedAction>RETRIEVE</requestedAction>


So, there is not one API to reconnect to the customer, but it can be done in a few steps. Just FYI, in the out of the box Finesse desktop, if the agent hangs up on the consult call, the original call (with the customer) will remain on hold and the agent has to explicitly click retrieve.


I hope this answers your question.


Thanx,

Denise

dekwan
Cisco Employee
Cisco Employee

Hi,

I was just checking in to see if my above suggestion works for you.

Thanx,

Denise

thats the direction i am taking, will keep you posted once its done.

thanks for your help

Hi,

It works, below is the code snippet. thanks

_handleReconnectClick = function () {

        var

            heldDialog,           

            activeDialog,           

            _currentActiveDialog,

            _currentHeldDialog;

           

        heldDialog = $.grep(_callDialogs, function (e) { return e.state === "HELD" });

        activeDialog = $.grep(_callDialogs, function (e) { return e.state === "ACTIVE" });

        if (heldDialog.length > 0)

        {

            _currentHeldDialog = _user.getDialogs().getCollection()[heldDialog[0].dialogId];

        }

        if (activeDialog.length > 0)

        {

            _currentActiveDialog = _user.getDialogs().getCollection()[activeDialog[0].dialogId];

        }

        _currentActiveDialog.requestAction(_user.getExtension(), _participantActions.DROP, {

            error: _createActionErrHandler(_currentActiveDialog, _errorStates.FAILEDOP),

            success: function () {

                _currentHeldDialog.requestAction(_user.getExtension(), _participantActions.RETRIEVE, {

                    success: function () { },

                    error: _createActionErrHandler(_currentHeldDialog, _errorStates.FAILEDOP)

                });

            }

        });

    };

Awesome. Good to hear that it works!