Cisco finesse : use of Queue Statistics gadget in Agent Role

Version 1
    This document was generated from CDN thread

    Created by: Gajanan Pande on 28-08-2012 11:36:04 PM
    We have tried to use a "queueStatistic" gadget in Cisco finesse 9.0 i.e. http://localhost/desktop/gadgets/QueueStatistics.jsp  . but it is throwing error as "Error retrieving the Queues"


    Can I use the QueueStatistics gadget in Agent Side Cisco finesse gadget 9.0 or is it not supported/meant for Agent login ?


    It is working fine if supervisor logs in to the Cisco finesse application. We have given IP Address ( instead of Localhost ) also, still it is not working.


    Screenshots attached.

    Thanks in advance.

    GP.

    Subject: RE: Cisco finesse : use of Queue Statistics gadget in Agent Role
    Replied by: David Lender on 30-08-2012 12:45:39 PM
    The QueueStatistics gadget is currently supported only for Supervisors.

    Subject: RE: Cisco finesse : use of Queue Statistics gadget in Agent Role
    Replied by: Karthik Bahiradhan on 31-08-2012 12:26:58 AM
    But infinesse API document 9.0(1) (page 52), they mentioned that it will support both supervisors and agents roles based on the skills assigned.
    Why is this Queue statistics feature support in Supervisors only?

    Subject: RE: Cisco finesse : use of Queue Statistics gadget in Agent Role
    Replied by: David Lender on 04-09-2012 09:04:38 AM
    First, this is a product support issue not an API issue.  Second, the document is incorrect.  The Queue statistics gadget has not been tested with and will not work in Agent Role.  Also, having all agents receive Queue statistics will put too large a load on the Finesse server.

    Subject: RE: Cisco finesse : use of Queue Statistics gadget in Agent Role
    Replied by: Taveewat Chantaraseno on 11-09-2012 01:57:41 AM
    Queue statistics for Agents are very important as well. We had some of this before with CTI OS and CAD and many customers expect to have the same on Finesse. :-)

    Padd

    Subject: RE: Cisco finesse : use of Queue Statistics gadget in Agent Role
    Replied by: Edward Umansky on 10-10-2012 06:53:11 PM
    Is Cisco intending to support the queue statistics gadget for agents at some point in the future? I have to echo what Taveewat said about this being a very important feature. This has always been available in CTIOS and most of our customers depend on it. In fact, the last two customer inquiries I've had on Finesse have been related to provided queue statistics to agents.

    Subject: RE: Cisco finesse : use of Queue Statistics gadget in Agent Role
    Replied by: Theodore Phipps on 11-10-2012 02:11:38 PM
    I understand and agree.  It is absolutely in our plan to provide real-time queue stats for agents as well as supervisors but we don't have a specific release commitment at this time.

    Subject: RE: Cisco finesse : use of Queue Statistics gadget in Agent Role
    Replied by: yogesh kumar on 15-08-2013 08:45:21 AM
    Hi,


    Is real queue stats are supported in 9.1 for agent? As in the doc Cisco Finesse Web Services Guide for Release 9.1(1) (page 83) it is still mentioned that it is possible.

    Subject: RE: New Message from yogesh kumar in Finesse - General Questions: RE: Cisco
    Replied by: David Lender on 15-08-2013 09:12:38 AM
    For queue statistics you should use a CUIC permalink gadget.

    Subject: RE: Cisco finesse : use of Queue Statistics gadget in Agent Role
    Replied by: yogesh kumar on 31-08-2013 02:20:47 PM
    Hi David ,
    We want current calls in queue – real time states but from CUIC we wont be able to get current calls in queue. At max we can get number of calls queued half hourly bases.

    Is there any way to get calls in queue – real time

    Subject: RE: New Message from yogesh kumar in Finesse - General Questions: RE: Cisco
    Replied by: David Lender on 03-09-2013 12:37:58 PM
    You cannot get calls in queue via CUIC, but you can create your own gadget for a User that gets that User’s Queues  User.getQueues() and then goes through the queues collection and gets the statistics for each Queue.
    While not shown in the 9.1.1 javadocs (javadoc will be fixed in 10.0) there is a Queue.getStatistics() method that allows you to get all the statistics for a specific queue.  You then access the specific statistic using Queue.getStatistics().callsInQueue

    Subject: RE: New Message from yogesh kumar in Finesse - General Questions: RE: Cisco
    Replied by: Padd Chantaraseno on 04-09-2013 10:27:43 AM
    Hi David,

    The Queue.getStatistics() that you mentioned would put too much load to Finesse server?
    We also can't user CUIC for all agents as we can only have 200 users per CUIC server. :-(

    Regards,
    Padd

    Subject: RE: New Message from yogesh kumar in Finesse - General Questions: RE: Cisco
    Replied by: yogesh kumar on 30-12-2013 07:57:00 AM
    David Lender:
    You cannot get calls in queue via CUIC, but you can create your own gadget for a User that gets that User’s Queues  User.getQueues() and then goes through the queues collection and gets the statistics for each Queue.
    While not shown in the 9.1.1 javadocs (javadoc will be fixed in 10.0) there is a Queue.getStatistics() method that allows you to get all the statistics for a specific queue.  You then access the specific statistic using Queue.getStatistics().callsInQueue


    Hi David,

    I tried to use User.getQueues()  method.
    For supervisor it retrived queue which i can use for statistics.
    However for agent onError call back invoked with error:
    1"<error xmlns=\"jabber:client\" code=\"404\" type=\"cancel\"><item-not-found xmlns=\"urn:ietf:params:xml:ns:xmpp-stanzas\"/></error
    I used webservices API and got the result for the same agent:

    <Queue>
      <name>Inbound</name>
      <statistics>
        <agentsNotReady>0</agentsNotReady>
        <agentsReady>0</agentsReady>
        <agentsTalkingInbound>0</agentsTalkingInbound>
        <agentsTalkingInternal>0</agentsTalkingInternal>
        <agentsTalkingOutbound>0</agentsTalkingOutbound>
        <agentsWrapUpNotReady>0</agentsWrapUpNotReady>
        <agentsWrapUpReady>0</agentsWrapUpReady>
        <callsInQueue>0</callsInQueue>
        <startTimeOfLongestCallInQueue></startTimeOfLongestCallInQueue>
      </statistics>
    <uri>/finesse/api/Queue/0</uri>
    </Queue>

    I am using Finesse 9.1 for development.

    Subject: RE: New Message from yogesh kumar in Finesse - General Questions: RE: Cisco
    Replied by: yogesh kumar on 13-01-2014 12:54:02 PM
    I have been scratching my head over this a lot. It will be great if someone could post example which shows how to get queue statistics from a gadget when user is an agent.
     
    PS: It seems it is the trending topic in Finesse forum with views crossing 1k mark.

    Subject: RE: New Message from yogesh kumar in Finesse - General Questions: RE: Cisco
    Replied by: yogesh kumar on 14-01-2014 12:00:12 AM
    Hi Lender,

    CUIC is not the alternate solution for us as CUIC gives full report which takes the full row.  We want specific data points which we can display in much more user friendly way.
    Shouldn’t it be a bug as agent should be able to receive queue notification? API doc does not mention anything that Queue notification is only for supervisor.

    Thanks

    PS: Shouldn’t I be getting bug bounty?

    Subject: RE: Cisco finesse : use of Queue Statistics gadget in Agent Role
    Replied by: David Lender on 14-01-2014 08:47:53 AM
    Subscribing to Queues is not supported.  You notice there is no Queue Gadget for Agents right?  That is why...  The reason is that Queue Stats puts an extra load on the system, so we weren't able (in the past) to do the feature.  We are, however, doing this for 10.5.  

    Another caveat though is that this is not supported on CCX at all (even for Supervisors).
    We don't tend to document what we don't support.  
     
    The real future would be replacement of all of this with LiveData API and feeds.  We are looking at the API for future release.

    Subject: RE: Cisco finesse : use of Queue Statistics gadget in Agent Role
    Replied by: Joseph Horvath on 14-01-2014 11:29:17 AM
    Finesse does permit an Agent to subscribe to their own Queues (using the URI /finesse/api/User/<user-id>/Queues), however, the JavaScript library seems to have issues with this. Note that the REST API allows for any user, regardless of the Supervisor role, to subscribe to their own Queues.

    Using the JavaScript library, I have been successful in subscribing to my Queues directly (using the URI /finesse/api/Queue/<queue-id>), however, doing this requires knowing the Queue IDs up front, and a small patch to the JavaScript library. Unfortunately, you cannot use the JavaScript library to get the list of Queues that you belong to, however, it is possible to get this list using the REST API. Once you have the list of Queues that you belong to, simply instantiate a Queue object just as you would instantiate a User object; the subscription to the Queue will be implicit.
     1var handleQueueError = function (arg) {
     2    console.error ("handleQueueError: " + arg);
     3};
     4var handleQueueLoad = function (arg) {
     5    console.log ("handleQueueLoad: " + arg._data.name + ", NR: " + arg._data.statistics.agentsNotReady + ", R: " + arg._data.statistics.agentsReady);
     6};
     7var handleQueueChange = function (arg) {
     8    console.log ("handleQueueChange: " + arg._data.name + ", NR: " + arg._data.statistics.agentsNotReady + ", R: " + arg._data.statistics.agentsReady);
     9};
    10
    11// ...and somewhere in your code (assuming Queue ID "1003")...
    12     queue = new finesse.restservices.Queue (
    13         {
    14           id: "1003",
    15           onError : handleQueueError,
    16           onLoad : handleQueueLoad,
    17           onChange : handleQueueChange
    18         });
    The Finesse 9.1 JavaScript library needs a patch in order to do this. At the beginning of the definition of finesse.restservices.Queue, change the init() function as follows:
    1    init: function (options) {
    2        this._super(options);
    3    },