Genesys CTI User Forum

Genesys CTI User Forum => Genesys CTI Technical Discussion => Topic started by: quaktus on August 15, 2014, 11:47:30 PM

Title: CCpulse: Statistics by type of DN
Post by: quaktus on August 15, 2014, 11:47:30 PM
Hi!

The agent of our call center use 2 DNs:
  - DN1: ACD position;
  - DN2: Extension;

How to display in CCPulse statistics for each of the DNs. For example:
  - The "CurrentContinuousTime - Talk" on the DN1;
  - The "CurrentContinuousTime - Talk" on the DN2;

Is it possible to "filter" a statistic on the type of the DN? (Extension / ACD Postion)

In the log of the stat server CCPulse it is clear that the difference between the two DNs!
(A filter to 'thisDN' or "Action: Extension" would be so useful!!!!)


2014-08-13 9:46:26> Server: Switch 'Switch_Quebec' -> 'EventEstablished'
                [b]ThisDN '5186460279'[/b]
                Connid 009c024d5a249830 (43912627614947376)
                Call Type 'Internal'
                CustomerID 'Resources'
                Media Type 'voice'

2014-08-13 9:46:26> [b]Action: Extension '@ 5186460279 Switch_Q'[/b] (CallInternal)
                [2014-08-01 5:13:22 p.m.] Monitored
                [2014-08-01 5:13:22 p.m.] WaitForNextCall
                [2014-08-13 9:46:26] OffHook
                [2014-08-13 9:46:26] CallInternal (connid 43912627614947376)
                [2014-08-13 9:46:26] CallInternalReceived (connid 43912627614947376)


We tried with a userdata (attached by the softphone) but the statistics are wrong when a agent tranfert call to another agent. (DN1 -> DN2 or DN2 --> DN1)

We also try the "object in predefined formuas --> State for AgentSate Object" unsuccessfully. Because, an alternative would have been to display the" current state "of each DN with a timer. But we are unable to display the timer. For example:

                  CurrentAgentSateDN1                  CurrentAgentStateDN2
Agent#1    WaitForNextCall [b](0:04:48)[/b]            CallOnHold [b](0:01:30)[/b]


(Yes, there is the option 'Current Status Extended Monitor' in CCPule .... but we want to display these information in a view. And so see all agents)


Thanks
Quaktus
Title: Re: CCpulse: Statistics by type of DN
Post by: cavagnaro on August 16, 2014, 03:13:27 PM
Ermm....monitor the DN...
Title: Re: CCpulse: Statistics by type of DN
Post by: quaktus on February 27, 2015, 07:52:26 PM
Thanks for your big help but the answer is: use the DNs Object.
(I want the "CurrentAgentSateDN1" and the "CurrentAgentStateDN2" in the same view!)


In order to work for this, you must:

1. In the CCPulse Application of CME, in Options, Set CustomStatistic, ExtendedCurrentStatus = true.
2. Define a stat on the stat server:
                      [CurrentAgentStateDNAction]
                      Category=CurrentState
                      MainMask=*
                      Objects=Agent
                      Subject=DNAction

3. On a ccp template this stat must be included (later you can hide it, if you don't need)
4. create a formula on this template
5. Don’t use in the same CCP template a stat current state ‘Agent Status’


[size=18pt]Formulas #1 [/size]

result.Text = GetAgentState();

var dernierEtat;

function GetAgentState()
{
if(state.type != "AgentState")
return "n/a";

var etat;

for(var e = new Enumerator(state.DNs); !e.atEnd(); e.moveNext())
{
    if ([b]e.item().DNType == "Position")[/b]
{
etat = (e.item().Status);

if (etat=="WaitForNextCall")
{

if (isEmpty(dernierEtat) == true)
{
dernierEtat = [];
}

dernierEtat[state.LoginId] = "WaitForNextCall";
var start_date  = new Date((e.item().StartTime));
etat="En attente " + DateToTime(start_date);
}

[size=14pt]....[/size]

function DateToTime(start_date)
{

var current_date = new Date().getTime();
var seconds_left = (current_date - start_date);

var ms = seconds_left % 1000;
  seconds_left = (seconds_left - ms) / 1000;
  var secs = seconds_left % 60;
  seconds_left = (seconds_left - secs) / 60;
  var mins = seconds_left % 60;
  var hrs = (seconds_left - mins) / 60;

  return '(' + addZ(hrs) + ':' + addZ(mins) + ':' + addZ(secs) + ')';
}


function addZ(n)
{
    return (n<10? '0':'') + n;
}




[size=18pt]Formulas #2 [/size]

result.Text = GetAgentState();

var dernierEtatDN2;

function GetAgentState()
{
if(state.type != "AgentState")
return "n/a";

var etat;

for(var e = new Enumerator(state.DNs); !e.atEnd(); e.moveNext())
{
    if ([b]e.item().DNType == "Extension")[/b]
{
etat = (e.item().Status);

if (etat=="WaitForNextCall")
{

Title: Re: CCpulse: Statistics by type of DN
Post by: cavagnaro on February 27, 2015, 08:05:02 PM
As your initial question, monitor each DN works.
As your completed question later:

[quote]
(I want the "CurrentAgentSateDN1" and the "CurrentAgentStateDN2" in the same view!)
[/quote]

Well, there is no bad answer but bad question. When did you mentioned this requiment? ;)

Monitoring each DN type on a View can work too, create a template for both types.
When you say "view" I think you wanna say "row"...

As you can see, bad terminology can make your question seen one way and answered like that when actually you were trying to ask another thing :)
Title: Re: CCpulse: Statistics by type of DN
Post by: quaktus on March 14, 2015, 09:32:52 PM
Yeah! As you can see, the English language iS NOT my first language. I'm a french Canadian!

I still have 2 more quesions.

How to distinguish whether it is an outgoing call or an incoming call on the DNTtype "Extension" of an agent. In my view CCPulse formula I watch the previous satut of the call. For example, if the previous status is "ringing" then the call (callInbound, CallInternal, no matter) will be an incoming call. whereas if the previous status is "Dialing" then the call (callInbound, CallInternal, no matter) will be an outgoing call. But the problem is that sometimes the recipient answers quickly and in those days, the formula for the CCPulse never receives the 'ringing' or 'Dialing ". Is this information can find in a statistical (would be hidden in the view) that the formula would recover the information?

And last question, is it possible to create a flashing(blink) action in CCPulse? (Actions enable CCPulse + to alert you When A Particular requirement has-been put with respect to a statistic's value.)

Thanks