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)