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’ ThisDN ‘5186460279’
Connid 009c024d5a249830 (43912627614947376)
Call Type ‘Internal’
CustomerID ‘Resources’
Media Type ‘voice’
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:
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:
In the CCPulse Application of CME, in Options, Set CustomStatistic, ExtendedCurrentStatus = true.
Define a stat on the stat server:
[CurrentAgentStateDNAction]
Category=CurrentState
MainMask=*
Objects=Agent
Subject=DNAction
On a ccp template this stat must be included (later you can hide it, if you don’t need)
create a formula on this template
Don’t use in the same CCP template a stat current state ‘Agent Status’
Formulas #1
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);
}
…
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;
}
Formulas #2
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")
{
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.)