Zoom

Vor kurzem wurde ich tatsächlich das erste mal in ein "Zoom"-Meeting eingeladen. Ein externer Dienstleister zwei zwei weitere Teilnehmer und mich in einer Video-Konferenz über sein Vorgehen informiert. Neben dem interessanten INhalte haben ich natürlich die Chance genutzt, auch die "Erfahrung" mit dem Zoom Client als Konferenzteilnehmer zu protokollieren-

Join und Installation

Es fängt wie immer mit einer URL an. Bei Zoom haben die das Format "https://zoom.us/j/<nummer>" und sind insofern nicht so gar viel unterschiedlich zu Teams, Skype, Cisco und Co. Heute ist Internet und ein Browser fast immer der Einstiegspunkt und der Anbieter kann über den Browser dem Anwender die verschiedenen Optionen ermitteln und anbieten. Bei mir wurde vom Browser ein kleiner Client gestartet, der dann einen größeren Client heruntergeladen und installiert hat. Ich durfte meinen Namen zur späteren Anzeige im Meeting eingeben und musste mich mit den Nutzungsbedingungen und Datenschutzrichtlinien einverstanden erklären

 

Soweit nichts besonderes. Durch die Installation sind in meinem Startmenü zwei Einträge zum Start und Deinstallation des Zoom Clients addiert wordem

Der eigentliche Zoom-Client mit ca. 30 MB landete in "C:\Users\username\AppData\Roaming\Zoom"  (%appdata%\zoom). So ist keine Zustimmung des Administrators erforderlich.

Meeting

Die eigentliche Meeting-Teilnahme ist für jemand, der schon mit Livemeeting/OCS, Lync, Skype for Business und Teams gearbeitet hat, nicht sonderlich überraschend Natürlich sehen Bildschirm und Menüs etwas anderes aus, aber es ist alles an einem erwarteten Platz. Wenn sie mehrere Autos unterschiedlicher Hersteller fahren, dann kommen Sie mit den Grundfunktionen ja auch zurecht.

  • Teilbild
    Wenn ich das Meeting als Fenster auf meinem Desktop anzeige, dann habe ich folgende Ansicht gesehen.
  • Vollbild
    Bei einer Umschaltung zum "Vollbild" auf FullHD sind die Bilder der Teilnehmer nach Rechts gewandert.

Das Layout unterscheidet sich also etwas von Teams.

Netzwerk/RTP

Natürlich hat mich interessiert, wie Zoom im Hintergrund arbeitet. Ich kenne ja schon recht gut die Funktionen von Skype for Business hinsichtlich RTP; ICE, STUN und TURN und meine Firewall hat ausgehend auch 3478/UDP erlaubt. Dennoch scheint Zoom nur 443/TCP zu verwenden. Audio und Video wurden über diesen Weg zu mir übertragen und auch meine Sprache wurde per 443/TCP versendet.

Solange die Verbindung wenig "paketloss" hat, ist dieses Verfahren durchaus nutzbar und Teams/Skype nutzen auch 443/TCP, wenn der Weg per UDP nicht möglich ist. Sobald aber Paketverluste einsetzen, versucht der TCP-Stack die fehlenden Pakete wieder anzufordern. Diese Retransmits sind überflüssig, da die Informationen ja schon in der Vergangenheit liegen. UDP wäre hier auf jeden Fall besser. Es kann aber sein, dass nur in meinem Fall UDP nicht zum Einsatz kam.

Prozesse

Während des Meeting, bei dem ich mein Video gesendet und vier drei kleine andere Streams empfangen habe, konnte ich folgende CPU- und Netzwerklast sehen:

Die Last ist richtig niedrig und während des Meetings scheint der Client nur mit einem Host zu kommunizieren.

Mit 300kBit/Sek war der Bandbreitenbedarf vertretbar. Wenn wir mal 50-100KBit für Audio annehmen, dann sind 200-250kBit für Video natürlich kein HD der VGA-Strom. Wenn die Gegenstellen auch nur "kleine Bilder" gesehen haben, dann ist das erklärbar. Bei der Netzwerkanalyse war ja zu sehen, dass Zoom über TCP/443 geht und damit entfällt natürlich ein tieferer Blick in die RTP-Datenströme, so dass ich nichts zu Codecs oder Auflösungen sagen kann.

Ende

Alles hat irgendwann ein Ende und so habe ich meine Teilnahme nicht selbst beendet, sondern habe abgewartet. In meinem Fall wurde auch meine Sitzung beendet, als der Moderator, der zu dem Meeting eingeladen hat, das Meeting verlassen hat.

Ich habe nicht verifizieren können, wie sich das Meeting bei einem ungeplanten Verbindungsverlust des Moderators verhält. Ich hoffe, dass Zoom das Meeting dann nicht sofort beendet sondern etwas wartet, ob der Moderator sich wieder verbunden hat. Wenn Sie als Moderator das Meeting verlassen, dann sehen Sie den folgenden Dialog:

Also Organisator haben Sie also die Wahl, ob Sie das Meeting für alle Teilnehmer beenden. Als Organisator kann ich auch alle Teilnehmer stumm schalten aber die Stummschaltung auch für alle Teilnehmer wieder aufheben

Das bedeutet, dass der Leiter aus der Ferne das Mikrofon der vorher stumm geschalteten Teilnehmer wieder aktivieren kann. Der Teilnehmer bekommt weder eine Rückfrage noch eine deutlich Meldung sondern sieht nur, dass da Mikrofon-Symbol nicht mehr durchgestrichen ist.

Hinterlassenschaft

Mit dem Ende des Meetings und der Bestätigung per "OK" hat sich aber der Zoom-Client nicht beendet. Ich habe es nicht sofort bemerkt, aber in der Taskleiste hat sich der Zoom-Client eingenistet.

Da ich selbst bislang noch nie Zoom verwendet habe und auch kein kostenpflichtiges Konto besitze, habe ich mit dem Meeting-Ende auch erwartet, dass sich der Client beendet. Ich habe ja sonst keine Verwendung dafür. Dass er sich nicht gleich deinstalliert, ist ja wohl in der Branche üblich und machen WebEx und andere auch so. Also habe ich ohne ein Meeting aber mit Fiddler den Client gestartet und zugeschaut, was er macht:

Er nutzt die Proxy-Einstellungen des Windows Hosts und diese Pakete sind alle am Anfang übertragen worden. Ich habe danach über 30Min keine weiteren Übertragungen gesehen. Der Client fällt zumindest nicht mit einen Heartbeat o.ä. auf. Allerdings sind die Pakete durchaus interessant. Zuerst habe ich mir einen Host geschnappt, um die Entfernung und Latenzzeit zu ermitteln

C:\>tracert us04as.zoom.us

Routenverfolgung zu us04as.zoom.us [3.80.20.173] über maximal 30 Hops:

  1    <1 ms    <1 ms    <1 ms  fritz.box [192.168.178.1]
  2     5 ms     5 ms     4 ms  62.155.242.220
  3    11 ms    10 ms    10 ms  217.5.116.114
  4    11 ms     *       11 ms  ffm-b4-link.telia.net [213.248.93.186]
  5    98 ms    97 ms    98 ms  ffm-bb2-link.telia.net [62.115.114.90]
  6   100 ms     *      100 ms  prs-bb4-link.telia.net [62.115.114.98]
  7    98 ms     *        *     ash-bb3-link.telia.net [62.115.122.159]
  8   113 ms   112 ms   113 ms  ash-b1-link.telia.net [62.115.143.79]
  9   116 ms   116 ms   117 ms  vadata-ic-333118-ash-b1.c.telia.net [62.115.11.183]
 10     *        *        *     Zeitüberschreitung der Anforderung.
 11     *        *        *     Zeitüberschreitung der Anforderung.
 12   113 ms   112 ms   113 ms  52.93.29.44
 13     *        *        *     Zeitüberschreitung der Anforderung.
 14     *        *        *     Zeitüberschreitung der Anforderung.

Die letzte IP-Adresse, die eine Antwort gegeben hat, ist bei Amazon verortet.


Quelle: http://geoiplookup.net/ip/52.93.29.44

Da auch die Latenzzeit entsprechend hoch ist, dürfte die Angabe stimmen, dass Zoom hier Services von Amazon AWS nutzt.

XMPP, Inventory und mehr

Wenn ich mit Fiddler die HTTP-Anfragen schon mal mitgeschnitten habe, dann schaue ich da natürlich auch rein. Schon die Hostnamen lassen vermuten, was hier passiert:

  • Inventory
    Ein wenig möchte Zoom wohl schon über den verwendeten Client in Erfahrung bringen.
  • XMPP Pakete
    Anscheinend nutzt Zoom zur Signalisierung das Protokoll XMPP, welches Google schon wieder abgekündigt hat. Mein User hat wohl auch eine Art SIP-Adresse in der Domain "xmpp.zoom.us"
  • WebSocket für Audio/Video?
    Der Hostname "zpnspbx" deutet auf "PBX = Telefonie" hin und könnte ein Hinweis für eine Audio-MCU sein. Das ist es dann wohl sinnvoll den HTTPS Stream zu einem WebSocket´hochzustufen.
  • Media-Relay über HTTPS
    Mehr sieht man hier noch beim Start eines Meetings:
  • Ignoriert Zertifikate
    Mehr als einmal hat Fiddler sich aber beschwert, dass der vom Client angefragt Name nicht mit dem gelieferten Zertifikat übereinstimmt

    Entweder ignoriert der Zoom-Client den Fehler oder die Verbindung. Beides wäre nicht schön

Einschätzung

Wenn es um Audio/Video-Konferenzen im Internet mit PCS, Browsern aber auch Konferenz-Systemen geht, ist Zoom in der kurzen Zeit der Gründung (2011) bis jetzt ein neuer wichtiger Player im Feld geworden, der es anderen Lösungen wie WebEx, TeamViewer aber auch Teams hinsichtlich Konferenzen schwer machen kann. Jeder kann kostenfrei Konferenzen mit bis zu 40 Minuten Dauer einladen. Das kann für gelegentliche Konferenzen kleinerer Firmen sehr interessant sein. Durch entsprechende Partnerschaften (HP Hardware Poly Hardware, Slack) und die Integration von bestehenden Konferenzgeräten (Cisco, Poly) und Interoperabilität mit Lync/Skype und bald auch Teams könnte die Nutzerbasis weiter wachsen.

Allerdings ist Zoom aktuell eben "nur" eine Audio/Video"-Plattform aus der Cloud und mit Teams daher nur bedingt vergleichbar. Ich könnte mit aber vorstellen, dass Zooms z.B. in Slack integriert wird oder ein anderer Hersteller sein Portfolio damit erweitert.

Meine Meetings wurden aktuell aber über Server in den USA betrieben. Eine Einwahl über Telefon ist in Deutschland über zwei normale Berliner Rufnummern möglich. Das funktioniert trotz der Latenzzeiten bislang recht passabel. Wem das nicht reicht kann mittlerweile sogar eigene lokale Server betreiben. Wenn Zoom weiter wächst, erwarte ich auch näher stehende Server.

Weitere Links