Skype für Business Anrufbewertung (Rate my Call)
Mit dem Skype für Business Server und Client hat Microsoft eine Feedback-Option addiert. Diese als "Rate my Call" bezeichnete Funktion bittet den Anwender um eine Rückmeldung zur gerade beendeten Audio-Verbindung
Voraussetzung
Damit die Funktion aber überhaupt erst angeboten wird, müssen einige Voraussetzungen erfüllt sein:
- Der Benutzer muss auf einem Skype für Business Pool Version (Version 9160+) als Homeserver arbeiten
- Der Client muss das Skype für Business GUI verwenden
- Aktive QoE/CDR-Monitoring Datenbank am Pool
Nur dann bekommen die Anwender manchmal die folgende Anzeige
Der Anwender kann hier ein Feedback zu dem Anruf abgeben, welche zum Server übermittelt wird.
Steuern über CSClientPolicy
Wer wie oft diese Rückfrage bekommt, können Sie über die dem Benutzer zugewiesene CSClientPolicy steuern. Eine Ausgabe der aktuellen Einstellung ist wie folgt möglich:
PS C:\temp> Get-CsClientPolicy | ft identity,rate* Identity RateMyCallDisplayPercentage -------- --------------------------- Global 0 Tag:PaderbornClientPolicy 0 Tag:Frank 100
Hier werden also die normalen Anwender gar nicht belästigt, währen meine TestPolicy auf 100% steht. Sie können jedem User eine andere Client Policy zuweisen. Eine bestehende Policy können Sie wie folgt ändern:
Set-CSClientPolicy ` -Identity <Identity> ` -RateMyCallDisplayPercentage 80 ` -RateMyCallAllowCustomUserFeedback $true
Wenn Sie "zu Testzwecken" eine eigene Policy anlegen, dann startet Skype für Business hier mit einer leeren Policy und den Default Werten (10%). Um alle anderen Einstellungen einer bestehenden Policy zu übernehmen, können Sie eine bestehende Policy einfach in einem XML-Datei exportieren und in der XML-Daten den String der Identität ändern und die XML wieder importieren
# Anlegen einer neuen Policy New-CSClientPolicy Frank # Export einer vorhanden Policy in eine XML-Datezu Get-CsClientPolicy Tag:PaderbornClientPolicy | Export-Clixml pol.xml # In NotePad nun nach "PaderbornClientPolicy" suchen und z.B: durch "Frank" ersetztn notepad pol.xml # die XML-Datei auf die bestehende Policy anwenden Import-Clixml pol.xml | Set-CsClientPolicy # RateMyCall Einstellungen anpassen Set-CsClientPolicy ` -identity Frank ` -RateMyCallDisplayPercentage 100 ` -RateMyCallAllowCustomUserFeedback $true #Policy an den Anwender zuweisen Grant-CsClientPolicy ` -PolicyName Frank ` -Identity frank.carius@msxfaq.local
Um die Anwendung der neuen Policy zu beschleunigen, kann sich der Anwender kurz am Communicator ab und wieder anmelden.
Übertreiben Sie es nicht. Es macht keinen
Sinn, alle Mitarbeiter nach jedem Call zur Bewertung
aufzufordern. Sie sollten vorab alle Mitarbeiter über dieses
Fenster und den Zweck informieren. Oft startet man am Anfang
mit vielleicht 25-50% um in der ersten Woche Daten zu
sammeln aber dreht dann den Counter auf 10% zurück, damit es
nicht "nervt".
Es kann sinnvoll sein, die Policy für eine Teilmenge von
Anwendern zu aktivieren, z.B. die in einer Niederlassung
sind.
- Lync Clientpolicies
- Set-CsClientPolicy
https://technet.microsoft.com/de-de/library/gg398300.aspx - Copying Lync Server Policies
http://blogs.technet.com/b/nexthop/archive/2011/03/21/copypolicies.aspx - Lync Powershell - Assigning Policies
http://blogs.technet.com/b/csps/archive/2010/06/06/refpolicies.aspx
SIP-Pakete
Ob die "richtige" CSClientPolicy schon beim Client angekommen ist, können Sie im lokalen UCCAPI-Trace einfach sehen. Als Antwort auf einen REGISTER" liefert der Server eine Provisioning-XML retour, in der auch folgendes zu sehen sein sollte.
SIP/2.0 200 OK ms-User-logon-data: RemoteUser From: "User1"<sip:User1@msxfaq.net>;tag=d627aacaaa;epid=2385f4c267 To: <sip:User1@msxfaq.net>;tag=1E260080 CSeq: 1 SUBSCRIBE Content-Type: application/vnd-microsoft-roaming-provisioning-v2+xml Event: vnd-microsoft-provisioning-v2 subscription-state: terminated;expires=0 <provisionGroupList xmlns="http://schemas.microsoft.com/2006/09/sip/provisiongrouplist-notification"> <provisionGroup name="endpointConfiguration" > <propertyEntryList > <property name="RateMyCallAllowCustomUserFeedback" >false</property> <property name="RateMyCallDisplayPercentage" >100</property> </propertyEntryList> </provisionGroup> </provisionGroupList>
Nach dem Ende eines Anrufs wird der Anwender gefragt und wenn er Eingaben durchgeführt hat, dann werden diese als SERVICE-Paket zum Server gesendet. Auch dies ist einfach im SIP-Trace zu finden:
SERVICE sip:SkypefB.msxfaq.de@netatwork.de;gruu;opaque=srvr:HomeServer:yYKSnoM60yCklPTpAAA SIP/2.0 Via: SIP/2.0/TLS 192.168.178.31:55500 From: <sip:User1@msxfaq.de>;tag=8d751e7caf;epid=2385f4c267 To: <sip:SkypefB.msxfaq.de@netatwork.de;gruu;opaque=srvr:HomeServer:yYKSnoM60yCklPTpAAA> CSeq: 1 SERVICE Contact: <sip:User1@msxfaq.de;opaque=User:epid:V5mswjItSFyHLDNKAAA;gruu> User-Agent: UCCAPI/15.0.4763.1001 OC/15.0.4763.1001 (Skype für Business) Content-Type: application/ms-cqf+xml Content-Length: 604 <?xml version="1.0"?> <CallQualityFeedbackReport xmlns="ms-cqf" CallId="e02097d40f064c428a532a721d6998fe" FromTag="0b8de29f43" ToTag="1510531d2"> <ReportingUserURI>sip:User1@msxfaq.de</ReportingUserURI> <Rating>5</Rating> <Tokens> <Token><Id>1</Id><Value>0</Value><Tag>DistortedSpeech</Tag></Token> <Token><Id>2</Id><Value>0</Value><Tag>ElectronicFeedback</Tag></Token> <Token><Id>3</Id><Value>0</Value><Tag>BackgroundNoise</Tag></Token> <Token><Id>4</Id><Value>0</Value><Tag>MuffledSpeech</Tag></Token> <Token><Id>5</Id><Value>0</Value><Tag>Echo</Tag></Token> </Tokens> </CallQualityFeedbackReport>
Daten im SQL
Die Daten landen beim Server und werden über die normale QoE-Struktur in die SQL-Datenbank des Monitoring Server geschrieben. In der QoE-Datenbank des SQL-Servers gibt es dazu seit Skype für Business drei neue Tabellen:
Tabelle | Beschreibung |
---|---|
dbo.CallQualityFeedback |
Diese Tabelle enthält neben den Zeitpunkt des Anrufs das Rating in Sternen (1-5) und den vom Anwender ggfls. mitgelieferten Text.
|
dbo.CallQualityFeedbackToken |
Hier sind dann die Checkboxen codiert, die der Anwender an oder abwählen konnte. Der "Tokenvalue" ist 1, wenn der Benutzer die Checkbox angewählt hat.
|
dbo.CallQualityFeedbackTokenDef |
Die Bedeutung des Werts "TokenID" in der Tabelle dbo.CallQualityFeedbackToken wird über diese Tabelle definiert:
|
Der in der Tabelle dbo.CallQualityFeedbackToken bzw. dbo.CallQualityFeedback referenzierte "FromURI" können Sie über die Datenbank dbo.User auf einen SIP-Adresse auflösen und so auch in Erfahrung bringen, von dem die Bewertung erfolgt ist:
Auswerten und Reports
Die Daten stehen in relativ einfacher Form in der SQL-Datenbank und stehen quasi zum Auswerten bereit. Microsoft selbst stellt mit dem "Call Quality Dashboard " eine etwas größere Plattform zur Auswertung der QoE-Daten bereit, die auch diese Rating-Daten erfassen kann.
- Call Quality Dashboard für Skype für Business Server 2015
https://technet.microsoft.com/EN-US/library/mt126223.aspx
Skype für Business Server 2015, Call
Quality Dashboard
http://www.microsoft.com/en-us/download/details.aspx?id=46916
Die Frage ist aber, ob mittlere und kleinere Umgebungen den Aufwand hierzu betreiben können. Die Installation des Call Quality Dashboards ist nicht mal eben gemacht. Insofern kann es durchaus interessant sein, diese Daten mit anderen Werkzeugen, z.B. Excel oder eigenen Skripten auszuwerten.
Die große Frage dabei ist natürlich, welche Antwort sie aus den Daten destillieren wollen. Da gibt es mehrere Ansätze:
- Einfach und Simpel
Eine einfache Aufsummierung/Mittelwertbildung der Bewertungen aus der Tabelle dbo.CallQualityFeedback können Sie schon recht einfach per Powershell und SQL-Befehlen erreichen. - Eskalation
Interessant könnte natürlich auch ein SQL-Trigger sein, der jedes neue Feedback umgehend erfasst und bei einer schlechten Bewertung umgehend ein Support-Ticket startet. - Standort-Verknüpfung
Kniffliger wird es schon, wenn Sie die Bewertungen auf den Standort und damit die WAN-Verbindung zurückführen wollen. Diese Daten sind in den Call Quality-Tabellen nicht enthalten. Da müsste eine Auswertelogik schon den passenden Call anhand der Benutzers und des Zeitpunkts aus der QoE-Datenbank fischen und die IP-Adressen bzw. Sites der Endpunkte erfassen.
Leider sind die RatingDaten eben nicht direkt Bestandteil des QoE-Datensatzes, der am Ende der Verbindung schon angelegt wird. Die Bewertung durch den Anwender kommt ja erst hinterher.
Ich habe selbst noch kein "Eigenbau"-Reportset diesbezüglich erstellt aber finde es schade, dass es keine einfachen fertige Skripte gibt. Schließlich sollte ein Betreiber es hoch anrechnen, wenn die Anwender sich die Zeit für ein ausführliches Feedback nehmen. Zumindest die "Textbeiträge" würde ich umgehend als Mail erhalten wollen.
Neben den Skype für Business CQD-Reports gibt es aber durchaus auch Dritthersteller, die Reports entwickeln. EventZero hat es schon angekündigt und ich anderen Produkte werden sicher bald nachziehen.
- Rate-My-Call Analytics Now in UC
Commander
https://www.eventzero.com/WhatsNew/?article=1050#A1050 - NetIQ AppManager für Microsoft Lync
https://www.netiq.com/products/appmanager/add-on/microsoft-lync.html - Uniscope | Skype für Business Lync
Management Tool
http://enowsoftware.com/products-and-solutions/lync-management-tools/uniscope-lync-reporting/ - Rate my Call in Skype für Business
Server 2015
https://technet.microsoft.com/en-us/library/dn951407.aspx
Enthält noch ein paar SQL-Select Befehle - Skype for Business Rate my Call Viewer
tool
http://www.myskypelab.com/2017/01/skype-for-business-rate-my-call-viewer.html
Nettes kostenfreies Tool, welches die Daten aus SQL ausliest und entsprechend aufbereitet.
Weitere Links
- Lync Clientpolicies
- Lync QoE
- Call Data Records CDR
- Meinen Anruf bewerten in Skype für Business Server
https://technet.microsoft.com/de-de/library/dn951407.aspx - Rate My Call in Skype für Business 2015
http://blogs.technet.com/b/jenstr/archive/2015/05/05/rate-my-call-in-skype-for-business-2015.aspx - Rate My Call–Skype for Business
https://infrastructurehelp.wordpress.com/2015/07/12/rate-my-callskype-for-business/