cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
4780
Views
2
Helpful
9
Replies

Finesse Screen popup for only inbound calls

dipmehta33
Level 1
Level 1

Hi,

I would like to understand if we could restrict Finesse screen popups for only inbound calls.  We have created a workflow in Finesse Administration set at => When to perform Actions = When a call is answered.  However, this setting applies to both inbound and outbound calls. Is there a way to restrict this to only inbound calls ?  I tried changing the setting When to perform Actions = When a call arrives. It does resticts the popups to inbound but our requirement is to popup for inbound call when a call is answered.

To sum it up, here is our requirement

Screen popup only when a  call is answered for Inbound calls.

Any help would be highly appreciated.

1 Accepted Solution

Accepted Solutions

dekwan
Cisco Employee
Cisco Employee

Hi,

Unfortunately, with the current version of Finesse, you cannot restrict the workflow popup to be for when a call is answered for inbound calls only.

A workaround for this issue can be creating a custom gadget (use the Screenpop Sample Gadget as the base) where you check both conditions (call is inbound & call is answered) before popping the screen.

Thanx,

Denise

View solution in original post

9 Replies 9

dekwan
Cisco Employee
Cisco Employee

Hi,

Unfortunately, with the current version of Finesse, you cannot restrict the workflow popup to be for when a call is answered for inbound calls only.

A workaround for this issue can be creating a custom gadget (use the Screenpop Sample Gadget as the base) where you check both conditions (call is inbound & call is answered) before popping the screen.

Thanx,

Denise

Thank you Denise !

Hi Denise,

I am also facing the same issue that multiple screen pop up windows open when agent makes outbound call.

Could you please let me know how do I check the conditions (call is inbound and call is answered) as suggested above.  I am  very new to this, so cant figure out the code completely.

I am using PCCE 9.1 and have downloaded respective gadget for this version.

Regards,

Piyush Aghera

Hi Piyush,

I would like to understand your requirements better. Is it the same as Dipkumar where you want it to pop for inbound calls only? Or is it that you want it for when an agent makes an outbound call only?

Using this screen pop gadget, you do not need to set a workflow as the gadget will do it for you.

Thanx,

Denise

Thanks Denise for looking into it.

I want screen pop up only for inbound calls.  However currently with default screenpop.js (i changed only URL in this file), multiple browser windows are opening for an outbound call.  So I want to stop screen pop up for outbound calls and keep only for inbound calls.

Also as I am using PCCE 9.1, so I just have to upload the gadget files to Finesse using 3rdpartygadget tool and change desktop layout.  i do not have any option to set workflow.

Regards,

Piyush Aghera

Hi Piyush,

The Screenpop sample gadget pops whenever the number of calls is 1 so it doesn't differentiate whether it is an outbound or inbound call. There are several ways you can check the condition for incoming calls. A very simple (but might not cover ALL scenarios like incoming "outbound calls") would be to do the following:

     - Put most of the code in the handleNewDialog method. This method gets triggered when the user has a new call (incoming and outbound). In that method, you have the dialog object so you can do some checks. Logically thinking, for an outbound call, the fromAddress will be the agent's extension, so if incoming calls will be new calls that are not from the agent: if (dialog.getFromAddress() != user.getExtension()) {

     - If you only want to do a screen pop when the call arrives (versus the different call state changes), you probably want to put the rendering logic in the if statement above.

I haven't tested this in a 9.1 system, but it seems to work on a 11.0 system for agent to agent incoming calls and incoming routed calls. It does not trigger a pop up for an outbound call. I didn't test this out with an incoming outbound call, but not sure if that is relevant for your situation.

There are more detailed searches by going off of a combination of the callType and agent's participant state, but its a bit messier.

I hope this helps.

Thanx,

Denise

Thank you Denise.

I tried above code and observed that for outbound call, dialog.getFromAddress() returns NULL value whereas for inbound call, it is providing correct value. So even in case of outbound call (with value NULL), above condition is satisfied as it is satisfied for inbound call.

So can you please let me know if there is any other function / parameter which can be used here.  It would be more helpful if you can point me a document which explains above functions / parameters, i.e. dialog.getFromAddress(), user.getExtension() and others.

EDIT:

As i was getting null value, i tried below condition to check inbound call which looks fine for now.  But I have to test with different scenarios:

if (dialog.getFromAddress() != null && dialog.getFromAddress() != user.getExtension())

{  render URL   }

Could you please advise if above is a correct way to achieve screen pop up only for inbound calls or is there any other better method available.

It will also be helpful if you could guide me to a document which explains various methods / functions as used in above IF condition.

Regards,

Piyush Aghera

Hi,

 

Hm. It might have been where the fromAddress wasn't fully used until after 9.1. You can find the JavaScript Library doc in the FinesseJavaScriptLibrary zip for 9.1 in the Previous Documentation (PDFs) page: https://developer.cisco.com/docs/finesse/#!previous-documentation-pdfs 

 

I think your IF statement looks good. Like you said, you will have to test with different scenarios.

 

I had mentioned in my previous post that there is a more complex way that will probably cover all scenarios. It will be a if statement checking the callType and the agent's participant state. The only thing is that there is more than one callType that still represents an incoming call, so your if statement will be a list of them. I don't know the correct list for incoming calls myself. You would need to go through all the scenarios and test it out. For the participant state, it should be ALERTING since that means the phone is ringing. In the Finesse Developer guide, it lists the possible callType to be: ACD_IN, PREROUTE_ACD_IN, PREROUTE_DIRECT_AGENT,TRANSFER,OTHER_IN, OUT, AGENT_INSIDE, CONSULT, CONFERENCE, SUPERVISOR_MONITOR, OUTBOUND, and OUTBOUND_PREVIEW. You would have to figure out which one needs to be in the list.

 

Thanx,

Denise

Maybe it is too late to write here. Hope it will help someone else; 

I got a hint from the reply by @dekwan and followed the Finesse Java Script Library documentation. I am able to get the callType, callState and callVariable value in handleNewDialog. It should work in other handlers like handleUserLoad. This is how the lines looks like; 

 

var callvars = new Array();  // the callvars array of callvariables  	
callvars = dialog.getMediaProperties();

var callType = callvars.callType;
clientLogs.log('handleNewDialog(): callType=' + callType);
		
var callState = dialog.getState();
clientLogs.log('handleNewDialog(): callState=' + callState);
		
var callVariable = callvars["callVariable9"];		
clientLogs.log("handleNewDialog(): callVariable9="+callvars["callVariable9"]);

 

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: