" /> CCPulse Reporting on NotReady Reason Codes - Genesys CTI User Forum

Author Topic: CCPulse Reporting on NotReady Reason Codes  (Read 15180 times)

Offline amarceau

  • Newbie
  • *
  • Posts: 44
  • Karma: 0
CCPulse Reporting on NotReady Reason Codes
« on: January 19, 2011, 05:20:29 PM »
Advertisement
Has anyone successully implemented any CCPulse reporting stats on the NotReady Reason Codes.  I have been trying this every way according to the documentation and nothing is working.  Here's what I have right now:

Stat

[CurrAgentInNotReadyTime]
Category=CurrentTime
MainMask=NotReadyForNextCall
Objects=Agent, Place
Subject=AgentStatus


Filters

Reason_1=ExtensionReasonCode = "1"
Reason_2=ExtensionReasonCode = "2"
Reason_3=ExtensionReasonCode = "3"
Reason_4=ExtensionReasonCode = "4"
Reason_5=ExtensionReasonCode = "5"
Reason_6=ExtensionReasonCode = "6"
Reason_7=ExtensionReasonCode = "7"
Reason_8=ExtensionReasonCode = "8"

I've added a statistic in my CCPulse View for CCurrentAgentInNotReadyTime with one of the above filters - and the time always shows as zero - regardless of what not ready reason I go into...

Any ideas?


Offline cavagnaro

  • Administrator
  • Hero Member
  • *****
  • Posts: 7641
  • Karma: 56330
Re: CCPulse Reporting on NotReady Reason Codes
« Reply #1 on: January 19, 2011, 05:27:13 PM »
Please search in the forum, this question has been answered several times before.

Offline mduran22

  • Full Member
  • ***
  • Posts: 108
  • Karma: 5
Re: CCPulse Reporting on NotReady Reason Codes
« Reply #2 on: January 19, 2011, 05:32:27 PM »
Your statistic looks correct

Try the following for your filter

GetMin("ReasonCode")=1 for your value.


Offline smile

  • Sr. Member
  • ****
  • Posts: 286
  • Karma: 6
Re: CCPulse Reporting on NotReady Reason Codes
« Reply #3 on: January 20, 2011, 07:19:42 AM »
How you defined the reason codes (fileds name and code)? I've used filters based on 'pairexist' function and it works well. as cavagnaro said, it's very popular question, try so search solution on forum.

Offline Tambo

  • Sr. Member
  • ****
  • Posts: 456
  • Karma: 5
Re: CCPulse Reporting on NotReady Reason Codes
« Reply #4 on: January 24, 2011, 08:05:23 AM »
Hi All,

I have been reporting on Not Ready reason codes through pulse for a while now, but I still cant get the Agent Status timer to reset when changing not ready codes it just keeps counting without resetting when the reason code is changed.

I've searched for a thread for this but cant find an answer, anyone got any ideas???

cheers

Tambo

Offline smile

  • Sr. Member
  • ****
  • Posts: 286
  • Karma: 6
Re: CCPulse Reporting on NotReady Reason Codes
« Reply #5 on: January 24, 2011, 09:05:41 AM »
Tambo, what did you try to do?
If you want to exclude reason code statistic from main not ready statistic, please use filter exception - '~' for general not ready state.
If you want to reset counters every time when agent change his state - use other statistic type. The default type (this only one type which can be used with historical reporting) is 'growing'. You can choose another one, e.g. Selection type. Keep it mind that it can be used only for real-time reporting, not for historical. Refer to Stat Server User's guide for details.

Offline mark

  • Sr. Member
  • ****
  • Posts: 415
  • Karma: 2
Re: CCPulse Reporting on NotReady Reason Codes
« Reply #6 on: January 24, 2011, 10:36:01 AM »
Do the agents actually change state between changing reason codes? If not, then the state in the main Agent Status window would not reset, as the state is still NotReady.
I'm sure this is the case, but could be wrong!

One way around this would be to have your softphone perform a quick change from notready, ready, notready.

Mark

Offline amarceau

  • Newbie
  • *
  • Posts: 44
  • Karma: 0
Re: CCPulse Reporting on NotReady Reason Codes
« Reply #7 on: January 25, 2011, 06:37:50 PM »
We now have a solution for this which was provided by Genesys Techs.  We now have CCPulse showing realtime the NotReady Reason Code and the time in the State.  It does reset and starts counting when the NotReady Reason is changed.....

Here's what we had to do....

CCPulseStatServer Options/Filters Section
Setup Filters for your Available Reason Codes...  We have 8 - so ours are as follows:

Reason_1=ExtensionReasonCode=1
Reason_2=ExtensionReasonCode=2
Reason_3=ExtensionReasonCode=3
Reason_4=ExtensionReasonCode=4
Reason_5=ExtensionReasonCode=5
Reason_6=ExtensionReasonCode=6
Reason_7=ExtensionReasonCode=7
Reason_8=ExtensionReasonCode=8

CCPulse Template - Section Called NotReadyTimes
with the following
CurrentNotReadyTime1 with filter applied the NotReadyReason (Filters)
should have 8 stats created when done one with each filter for the reason code.

Create Formula with the following:


result.Text = CalculateReason();



function CalculateReason()

{

if (ccpulse.group("NotReadyTimes").statistic("CurrentNotReadyTime 1")>0)
  {
  var d = ccpulse.group("NotReadyTimes").statistic("CurrentNotReadyTime 1");
  var h = Math.floor(d / 3600);
  var m = Math.floor(d % 3600 / 60);
  var s = Math.floor(d % 3600 % 60);
  var f = ((h > 0 ? h + ":" : "") + (m > 0 ? (h > 0 && m < 10 ? "0" : "") + m + ":" : "0:") + (s < 10 ? "0" : "") + s);
  return "Training (" + f + ")";
  }

if (ccpulse.group("NotReadyTimes").statistic("CurrentNotReadyTime 2")>0)
  {
  var d = ccpulse.group("NotReadyTimes").statistic("CurrentNotReadyTime 2")
  var h = Math.floor(d / 3600);
  var m = Math.floor(d % 3600 / 60);
  var s = Math.floor(d % 3600 % 60);
  var f = ((h > 0 ? h + ":" : "") + (m > 0 ? (h > 0 && m < 10 ? "0" : "") + m + ":" : "0:") + (s < 10 ? "0" : "") + s);
  return "Meeting (" + f + ")";
  }
 

if (ccpulse.group("NotReadyTimes").statistic("CurrentNotReadyTime 3")>0)
  {
  var d = ccpulse.group("NotReadyTimes").statistic("CurrentNotReadyTime 3")
  var h = Math.floor(d / 3600);
  var m = Math.floor(d % 3600 / 60);
  var s = Math.floor(d % 3600 % 60);
  var f = ((h > 0 ? h + ":" : "") + (m > 0 ? (h > 0 && m < 10 ? "0" : "") + m + ":" : "0:") + (s < 10 ? "0" : "") + s);
  return "Coaching (" + f + ")";
  }

if (ccpulse.group("NotReadyTimes").statistic("CurrentNotReadyTime 4")>0)
  {
  var d = ccpulse.group("NotReadyTimes").statistic("CurrentNotReadyTime 4")
  var h = Math.floor(d / 3600);
  var m = Math.floor(d % 3600 / 60);
  var s = Math.floor(d % 3600 % 60);
  var f = ((h > 0 ? h + ":" : "") + (m > 0 ? (h > 0 && m < 10 ? "0" : "") + m + ":" : "0:") + (s < 10 ? "0" : "") + s);
  return "Lunch (" + f + ")";
  }

if (ccpulse.group("NotReadyTimes").statistic("CurrentNotReadyTime 5")>0)
  {
  var d = ccpulse.group("NotReadyTimes").statistic("CurrentNotReadyTime 5")
  var h = Math.floor(d / 3600);
  var m = Math.floor(d % 3600 / 60);
  var s = Math.floor(d % 3600 % 60);
  var f = ((h > 0 ? h + ":" : "") + (m > 0 ? (h > 0 && m < 10 ? "0" : "") + m + ":" : "0:") + (s < 10 ? "0" : "") + s);
  return "Break (" + f + ")";
  }

if (ccpulse.group("NotReadyTimes").statistic("CurrentNotReadyTime 6")>0)
  {
  var d = ccpulse.group("NotReadyTimes").statistic("CurrentNotReadyTime 6")
  var h = Math.floor(d / 3600);
  var m = Math.floor(d % 3600 / 60);
  var s = Math.floor(d % 3600 % 60);
  var f = ((h > 0 ? h + ":" : "") + (m > 0 ? (h > 0 && m < 10 ? "0" : "") + m + ":" : "0:") + (s < 10 ? "0" : "") + s);
  return "Down Time (" + f + ")";
  }

if (ccpulse.group("NotReadyTimes").statistic("CurrentNotReadyTime 7")>0)
  {
  var d = ccpulse.group("NotReadyTimes").statistic("CurrentNotReadyTime 7")
  var h = Math.floor(d / 3600);
  var m = Math.floor(d % 3600 / 60);
  var s = Math.floor(d % 3600 % 60);
  var f = ((h > 0 ? h + ":" : "") + (m > 0 ? (h > 0 && m < 10 ? "0" : "") + m + ":" : "0:") + (s < 10 ? "0" : "") + s);
  return "Manual Work (" + f + ")";
  }

if (ccpulse.group("NotReadyTimes").statistic("CurrentNotReadyTime 8")>0)
  {
  var d = ccpulse.group("NotReadyTimes").statistic("CurrentNotReadyTime 8")
  var h = Math.floor(d / 3600);
  var m = Math.floor(d % 3600 / 60);
  var s = Math.floor(d % 3600 % 60);
  var f = ((h > 0 ? h + ":" : "") + (m > 0 ? (h > 0 && m < 10 ? "0" : "") + m + ":" : "0:") + (s < 10 ? "0" : "") + s);
  return "Special (" + f + ")";
  }

return "N/A";

}

Then just hide the colums in the view that have all the filters and you will be left with the final NotReadyReason.  Which will display the Reason & the time in that reason.

Hope this helps....

Offline cavagnaro

  • Administrator
  • Hero Member
  • *****
  • Posts: 7641
  • Karma: 56330
Re: CCPulse Reporting on NotReady Reason Codes
« Reply #8 on: January 26, 2011, 05:32:54 AM »
Thanks for sharing!

Offline Timur Karimov

  • Sr. Member
  • ****
  • Posts: 415
  • Karma: 2
Re: CCPulse Reporting on NotReady Reason Codes
« Reply #9 on: January 26, 2011, 08:37:52 PM »
Great job! Very usefull! Fanx for sharing the code!
WBR

Offline mark

  • Sr. Member
  • ****
  • Posts: 415
  • Karma: 2
Re: CCPulse Reporting on NotReady Reason Codes
« Reply #10 on: February 04, 2011, 02:28:55 PM »
Good one that! Thanks :)

Offline Tambo

  • Sr. Member
  • ****
  • Posts: 456
  • Karma: 5
Re: CCPulse Reporting on NotReady Reason Codes
« Reply #11 on: February 06, 2011, 06:08:49 PM »
Thanks for this, works an absolute treat  ;D

Tambo

Offline Christian_Vera

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
Re: CCPulse Reporting on NotReady Reason Codes
« Reply #12 on: December 15, 2011, 08:06:54 PM »
Great Job!!!!

Thanks ;D ;D

Offline Dorian-Grim

  • Newbie
  • *
  • Posts: 16
  • Karma: 1
Re: CCPulse Reporting on NotReady Reason Codes
« Reply #13 on: January 10, 2017, 02:47:05 PM »
I did the setup as mentioned. I also have 8 not ready status reason codes, but I get every statistic > 0. I don't get it why.
Somehow my filters won't apply? Agents are setting status reason from WDE and I'm using 8.1.100.17 for ccpulse

Anyone has any ideea?
« Last Edit: January 10, 2017, 02:50:25 PM by Dorian-Grim »

Offline Tambo

  • Sr. Member
  • ****
  • Posts: 456
  • Karma: 5
Re: CCPulse Reporting on NotReady Reason Codes
« Reply #14 on: January 10, 2017, 09:08:35 PM »
your filters must be wrong, check spelling