05-24-2016 09:06 AM
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.
Solved! Go to Solution.
05-24-2016 02:57 PM
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
05-24-2016 02:57 PM
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
05-24-2016 04:19 PM
Thank you Denise !
08-08-2016 06:13 AM
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
08-08-2016 11:54 AM
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
08-08-2016 09:55 PM
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
08-09-2016 03:05 PM
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
08-10-2016 01:22 AM
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
08-10-2016 10:10 AM - edited 03-05-2021 09:48 AM
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
12-17-2019 03:55 AM - edited 12-17-2019 03:56 AM
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"]);
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide