Skype for Business Online Network Assessment Tool

Microsoft erweitert die Länder mit Rufnummern, so dass immer mehr Kunden sogar ihre Telefonie über Skype for Business Online bereitstellen können. Das geht natürlich nur mit entsprechender Qualität der Verbindungsnetze. Wer auch immer VoIP betreibt, sollte entsprechende Tests und Überwachungen umsetzen.

Einsatzbereich

Das "Skype for Business Online Network Assessment Tool" ist kein Ersatz für ein vollwertiges Monitoring einer WAN-Leitung oder eines Durchsatzes. Aber es simuliert eine Audio-Verbindung von dem aufrufenden Client zu einem "nahestehenden" Edge-Server in der Cloud und ermittelt durch eine ca. 20 Sek langen Audio-Verbindung folgende Daten:

  • Packet loss
    Wie viele Pakete nicht im Ziel ankommen. En paar Verluste sind bei UDP unkritisch (z.B. weniger als 2%)
  • Jitter
    Wie lang die Laufzeit der Pakete schwankt. Je größer diese Zahl ist, desto schlechte ist die Leitung und desto größer wird der Jitter-Buffer beim Empfänger und damit die "gehörte" Latenz
  • Round-trip latency
    Wie lange die Pakete für den Hin- und Rückweg zusammen brauchen. Alles über 200ms ist schon Grenzwertig
  • Reorder packet percentage
    Wie viele Pakete falsch sortiert wieder zurück kommen. Das ist ein Indikator für unterschiedliche Wege und unterschiedlichen Laufzeiten und oft ein Hinweis auf Überlastete Teilstrecken.

Über die Konfiguration können auch mehrere Anrufe sequentiell gestartet werden. Der Einsatz des Programms ist auf einem Desktop aber auch auf dem Edge-Server im Unternehmen möglich. Das Ziel ist es ja die Qualität zum Office 365 Edge zu messen.

Download und Installation

Zuerst steht aber einmal der Download selbst an. Die knapp 6.7 MB große Datei ist heute schnell herunter geladen.

Skype for Business Network Assessment Tool (6,7 MB ZIP-Archiv)
https://www.microsoft.com/en-us/download/details.aspx?id=53885

Sie müssen Sie nur noch in ein leeres Verzeichnis auspacken. Viel ist auch nicht drin:

Eine gesonderte Installation oder Konfiguration gibt es nicht. Es gibt aber auch keine richtige GUI. Die beiden enthaltenen EXE-Programme sind für die Kommandozeile gedacht.

Einsatz

Sie müssen als eine CMD-Shell öffnen, in der Sie dann zuerst einfach NetworkAssessmentTool.exe aufrufen.

Es nutzt dann die Konfiguration-Datei "NetworkAssessmentTool.exe.config", welcher in der Auslieferung folgenden Inhalt hat:

Es wird also genau ein Audio-Call auf die IP-Adresse 13.107.8.20 gemacht und die Ergebnisse werden auf den Bildschirm ausgegeben und in die Datei "results.tsv" geschrieben.

Bei der 13.107.8.20 handelt es sich um eine AnyCast-IP, die immer zum nächsten Edge geroutet werden sollte. Microsoft betreibt mehrere Server mit der gleichen IP-Adresse und per BGP-Routen werden diese propagiert. Ihr Provider nutzt aber den "kürzesten" Weg und damit landet das Paket quasi auch ohne Geo-DNS beim netztechnisch nächsten Server. Siehe auch "Anycast" https://de.wikipedia.org/wiki/Anycast
Schaut man sich den TLS-Handshake an, dann kommt der Hostname "transport_relay.skype.net" drin vor, der aber nicht per DNS auflösbar ist.

Bei jedem Aufruf wird die Ausgabedatei überschrieben. Wenn ihr PC halbwegs "sicher" eingerichtet ist, dann dürfte das Programm NetworkAssessmentTool.exe erst einmal gar nicht funktionieren, da es noch keine Firewall-Ausnahme gibt:

Diesen Dialog haben Sie vermutlich schon länger nicht mehr gesehen, da Programme in der Regel über eine Installationsroutine auf den PC gebracht werden und diese Installation normalweise die Regeln in der Firewall für Sie anlegt. Da es hier keine Installation gibt, müssen Sie den Zugriff erstmalig so zulassen.

Selbst dann ist nicht sichergestellt, dass die Funktion möglich ist, da das Programm per 3478/UDP oder 443/TCP direkt mit dem Zielsystem kommunizieren will.

Result.tsv

Das Ergebnis des Anrufs ist eine TSV-Datei, bei der die Felder durch einen "Tabulator" getrennt sind. Hier ein Beispiel:

CallStartTime       PacketLossRate RoundTripLatencyInMs PacketsSent PacketsReceived AverageJitterInMs PacketReorderRatio
03.10.2016 15:39:37 0,008225617                     123         851             844          52,01257                  0

Für die Auswertung liefert Microsoft aber auch gleich noch mit dem Programm "ResultsAnalyzer.exe" ein Werkzeug mit, welche die Werte interpretiert.

C:\Temp\>ResultsAnalyzer.exe results.tsv
Skype for Business - Network Assessment Tool - Results Analyzer
Input file:           results.tsv
Total rows read:      1
Total rows skipped:   0
Total rows processed: 1

90th percentile values per metric:
Packet loss rate:     0,8225617%
RTT latency:          123
Jitter:               52,01257
Packet reorder ratio: 0%

If this is a Skype for Business Client machine connecting to the Microsoft network Edge:
Packet loss rate:     PASSED
RTT latency:          FAILED
Jitter:               FAILED
Packet reorder ratio: PASSED

If this is a network Edge connecting to the Microsoft network Edge:
Packet loss rate:     FAILED
RTT latency:          FAILED
Jitter:               FAILED
Packet reorder ratio: PASSED

Leider überschreibt jeder Aufruf von "NetworkAssessmentTool.exe" die vorherige TSV-Datei anstatt eine neue Messung einfach dran zu hängen. Insofern ist eine regelmäßige Messung nur mit Zusatzskripten möglich.

Sie können aber über die XML-Datei zwar das Verhalten bezüglich des Überschreibens nicht ändern aber wir können das Programm anweisen, mehrere Testanrufe durchzuführen. In der TSV-Datei landen dann doch mehrere Einträge, die weiter ausgewertet werden können.

Pass oder Fail

Die Entscheidung, ob die Messung letztlich ein "PASSED" oder "FAILED" bekommt hat Microsoft hier dokumentiert:

In aller Kürze legt der ResultsAnalyzer.exe folgende Grenzwerte an:

Wert Client zu Edge Edge zu Edge
Packet loss rate

<10% in einem 200ms Intervall

<1% in einem 200ms Intervall

RTT Latency

<100ms

<60ms

Jitter

<30ms innerhalb 15s Intervall

<15ms innerhalb 15s Intervall

Packet reorder

<0,05%

<0,01%

Die Grenzen beim "Client" sind etwas entspannter, da für ein Heim-Netzwerk mit WiFi etc. Kompromisse eingegangen werden müssen. ein Edge-Server einer Firma sollte über einen "Business-Anschluss" eine andere Qualität erreichen können. Schließlich kosten 100MBit hier deutlich mehr als ein "100MBit Kabelanschluss".

Hintergründe

Das das Programm im Hintergrund anstellt ist eigentlich keine besondere Aktion. Wer sich mit VoIP und WireShark etwas auskennt, kann die Daten reicht einfach erkennen, dass hier erst ein STUN-Request an den Server geht, der durch einen TLS-Handshake begleitet wird.

Später sind dann genau die Daten zu sehen, dass der Client Pakete über 3478/UDP  zum Server sendet und wieder bekommt.

Insgesamt sind es für einen 17 Sek Anruf ca.1800 Pakete mit 95kbit/Sek, also ca. 155Kbyte/Min je Richtung. Sie können also eine Datenrate von 60 Megabyte/Stunde je Richtung erwarten. Das erscheint erst mal nicht viel aber addiert sich über einen Monat natürlich auf 43 Gigabyte!

Einschätzung

Das Skype for Business Online Network Assessment Tool ist endlich mal ein Kommandozeilenwerkzeug zum Testen der VoIP-Tauglichkeit einer Verbindung zu Office 365. Es ist damit ein Grundwerkzeug um mal eben schnell eine Verbindung auch über einige Stunden hinweg zu messen, z.B. mit vielen Anrufen und entsprechenden Pausen dazwischen. Es ist natürlich kein Ersatz für eine vollwertige Analyseumgebung und eignete sich auch nicht zum rein internen messen. Die "Gegenstelle" ist nämlich ein Edge-Server in Office 365 und kein beliebiger interner Computer. Insofern bleibt für interne Messungen noch genug Raum für Drittprodukte. Auch hinsichtlich Office 365 ist dies sicher nur ein Anfang aber das Skript kann durchaus z.B. in eigene Monitoring-Lösungen eingebunden werden .z.B. indem per Taskplaner das Programm gestartet wird und am Ende die Ausgaben eingelesen und an ein Monitoring übergeben werden.

Weitere Links