VisualGroups in ECR auswerten

Mit VisualGroups hat Swyx vor einigen Versionen eine andere Methode für Warteschlangen vorgestellt. So schön die Visualisierung und das "Picken" der Anrufe auch ist, dafür fehlen andere Möglichkeiten, die die alte Warteschlange konnte.

Mit folgendem CodeSchnippsel kann man zumindest die Parameter (durchschnittliche Wartezeit, Anzahl eingeloggter Agenten vs. wartende Anrufe), die auch das Wallboard anzeigen kann, aus einem CallRouting heraus abfragen und z.B. entscheiden, ob man den Anruf überhaupt auf den VisualGroups-User schieben will.

Installation

  • Lege in der VisualGroups-Administration ein Wallboard vom Typ "Übersicht", "ohne Anmeldung" und ordne ihr die gewünschte(n) Warteschlange(n) zu
  • Merke Dir die "wallboardid" (geht aus der URL hervor)
  • Lege bei Deinem Wunschuser (das kann, muss aber nicht der von VisualGroups automatisch erstellte User sein) ein ECR-Script im GSE an.
  • Gehe bei diesem Script in den "Start"-Block und kopiere folgendes Schnippsel im Reiter "Parameter" ins Benutzer-Script

 Function checkWarteschlange(wallboardid, feldname)
    Dim http_req, url, output, temp1, resultvalue
    Set http_req = CreateObject("Msxml2.ServerXMLHTTP.3.0")
    url = "http://localhost/visualgroups/wallboardvg.aspx/getwallboarddata"
    http_req.open "POST", url, False
    http_req.setRequestHeader "Content-Type", "application/json"
    http_req.setRequestHeader "Referer", "http://localhost/visualgroups/wallboardvg.aspx?wallboardid="+wallboardid
    http_req.send "{wallboardid: "+wallboardid+"}"
    output = http_req.responseText
    temp1 = mid(output, InStr(output, "\" & """" & feldname & "\" & """")+7+Len(feldname), 8)
    resultvalue = mid(temp1, 1, InStr(temp1, "\")-1)
    PBXScriptOutputTrace "checkWarteschlange: wallboard id " & wallboardid & " " & feldname & " is " & resultvalue
    checkWarteschlange = resultvalue
  end Function

Anwendung

Jetzt kannst Du mit z.B. mit Variable auswerten gucken, ob die durchschnittliche Wartezeit größer als eine Minute (60 Sek) ist: 

Diesen Ausdruck auswerten:
checkWarteschlange("1", "avwaitingtime") > 60

Der erste Parameter ist die wallboardid passend zu der Warteschlange(nkombi). Der zweite Parameter ist einer der folgenden Werte:

  • "servicelevel" (in %)
  • "avwaitingtime" (durchschnittliche Wartezeit in Sekunden)
  • "avspeakingtime" (durchschnittliche Gesprächsdauer in Sekunden)
  • "longestwaiting" (max. Wartezeit vergangener Anrufe)
  • "available" (Anzahl verfügbarer = eingeloggter Agenten)
  • "waiting" (Anzahl Anrufe im Wartefeld)
  • "busy" (Anzahl Agenten im Gespräch)
  • "answered" (Anzahl angenommener Gespräche)
  • "missed" (Anzahl verpasster Anrufe)

Parameter wie z.B. durchschn. Wartezeit vor Zustellung auswerten

Feedback