Dynamische signalering in het belscript voor te lange gesprekstijden

Johan

In deze post laten we zien hoe je de Agent dynamisch kunt signalering dat de besprekstijd te lang wordt. In ons voorbeeld kijken we feitelijk naar de totale tijd dat de call op het scherm van de Agent staat. We zouden ook de meetwaarde kunnen aanpassen zodat alleen naar Live gesprekstijd wordt gekeken, of naar een ander meetwaarde, gesprekstijd is echter een veel gevraagde signalering.

Doordat CallPro voor de belscripts gebruik maakt van standaard HTML en javascript is het vrij eenvoudig om dit in een belscript in te bouwen. We maken hiervoor gebruik van een timer op het browser document object om een javascript functie op te roepen.

// Initialisatie: Wacht 5 seconden om het script de tijd te geven om zich volledig te initialiseren
var oTimer = window.setTimeout("Timer()", 5000);

Vervolgens maken we een javascript functie “Timer()” die de gesprekstijd in de gaten houdt. Hiervoor gebruiken we het CallPro objectmodel dat vanuit javascript kan worden gebruikt.

function Timer()
{
// Gebruik het CallPro objectmodel om de begintijd voor dit gesprek op te halen
var loScript = goCallPro.GetScript();
var loDialer = loScript.oDialer;
var loAttempt = loDialer.oDialAttempts;
// We gebruiken WaitBeginDate omdat het script hier ook "page refresh safe" mee wordt
var date = new Date(loAttempt.WaitBeginDate);
ScriptStartTime = date.getTime();
// Nu halen we nog de huidige tijd op
var date = new Date();
var ScriptNowTime = date.getTime();
// En bepalen we of het gesprek al te lang duurt
if(ScriptNowTime - ScriptStartTime > 90 * 1000)
{
// Ja, geef nu de signalering
$("div#ScriptTitleZone_CallHistoryTile>div").addClass("CallTooLong");
}
else
{
// Nee, reschedule nu de timer voro de volgende controle
oTimer = window.setTimeout("Timer()", 5000)
}
}

In dit voorbeeld wordt aan de “CallHistory” tile een extra CSS class toegekend die middels ene CSS animatie een signalering geeft. Hiervoor is de volgende CSS nodig:

<style>
.CallTooLong {
animation-name: calltoolong;
animation-duration: 3s;
animation-iteration-count: infinite;
}
@keyframes calltoolong {
0%   {background-color:transparent; }
25%  {background-color:red; }
75%  {background-color:red; }
100% {background-color:transparent; }
}
</style>

Het eindresultaat ziet er dan als volgt uit als de signalering wordt geactiveerd.

Met dit code voorbeeld is het zeer eenvoudig om alternatieve controle te maken. De timer zorgt ervoor dat elke X seconden een javascript functie wordt uitgevoerd. Wat we in deze functie doen is aan ons, dat hoeft niet perse signalering te zijn. Ook de wijze van signalering ligt niet vast en zelfs de meetwaarde die we controleren kan wordne aangepast.

1 Comment

  1. Johan Bennink
    12 July, 2017

    Of als je de signalering wilt doen op basis van de duur van de wrapuptijd.

    function Timer()
    {
    // Gebruik het CallPro objectmodel om de begintijd voor dit gesprek op te halen
    var loScript = goCallPro.GetScript();
    var loDialer = loScript.oDialer;
    if(loDialer.dialingstate==4)
    {
    // We zitten in de wrapup fase
    var loAttempt = loDialer.oDialAttempts;
    // We gebruiken het begin van de wrapup fase
    var date = new Date(loAttempt.GetWrapupDate());
    ScriptWrapupTime = date.getTime();
    // Nu halen we nog de huidige tijd op
    var date = new Date();
    var ScriptNowTime = date.getTime();
    // En bepalen we of de wrapup al te lang duurt
    if(ScriptNowTime - ScriptWrapupTime > 60 * 1000)
    {
    // Ja, geef nu de signalering
    $("div#ScriptTitleZone_CallHistoryTile>div").addClass("CallTooLong");
    }
    else
    {
    // Nee, reschedule nu de timer voor de volgende controle
    oTimer = window.setTimeout("Timer()", 5000)
    }
    }
    else
    {
    // Nee, reschedule nu de timer voor de volgende controle
    oTimer = window.setTimeout("Timer()", 5000)
    }
    }

More great articles

Gebruik Bootstrap voor Resource Explorer XSL rapportages

De CallPro XSL rapportages in de Resource Explorer maken gebruik van XML/XSL voor de weergave van de rapporten. Hierdoor is…

Read Story

Absolute belpogingbegrenzing

Met de aankomende release van CallPro v4.30 wordt een veel gevraagde optie voor de belpogingbegrenzing toegevoegd, een absolute belpoging begrenzing…

Read Story

Autoscript multi-column ondersteuning

Er is een nieuwe update beschikbaar voor het autoscript in CallPro v4.30 die multi-column ondersteuning toevoegt. De huidige versie van…

Read Story
Arrow-up