Seite wählen

NETWAYS Blog

NWS Jitsi – new features!

One reason, why our apps are so good, is we continuously develop or enable new features for the apps. The security of our apps is very important to us. But we also listen to our customers feedback. A lot messages reached us with new feature requests to improve the NWS Jitsi app.

 

We always take feedback serious and if a feature makes sense, we will release it.

And so we will do the next days. We are currently preparing our platform for two new features, which will increase the level of security in your NWS Jitsi App.

 

1. The complexity feature

If you use names like „test“ or „foobar“, it is easy to join your rooms and disturb you and your attendees.

The room name is unsafe. Unwanted participants may join your conference. Consider securing your meeting using the security button. – will be shown to you.

 

Of course you will still be able to use simple room names, but maybe you will think of it twice before typing room3?

 

2. The lobby feature

To secure your Jitsi even more, we have another feature ready for you.
Everyone who wants to secure a room, not just with a complex room name and/or a password, can now activate the „lobby“ feature.
You can enable at any time for every room, the active moderator can then decide who is allowed to join and who is not.

 

 

With these new features, which you can enable at any time for every room, the active moderator can decide, who is allowed to join and who is not.
This way an unrecognised and unknown random person joining is no longer possible.

Keeping the control over a conference room has never been so easy!

 

 

To activate this feature, just click on the shield in the lower right corner and enable it.

Currently we are working on other new features as well, but sometimes it takes time to develop features in such a way that they meet our standards.
So stay tuned and follow us on twitter to get the latest news.

 

Videokonferenz – wie funktioniert das?

Während früher für Videokonferenzen dedizierte Soft- und teilweise auch Hardware erforderlich war, klappt das heutzutage mit jedem modernen Browser. Eine Grundvoraussetzung war sicher die heute verfügbare schnellere Hardware. Was früher zwingend nach optimierten Chips verlangte lässt sich heute problemlos in Software gießen und von jeder Smartphone-CPU umsetzen. Wobei unterstützende CPU-Befehlssatzerweiterungen (z.B. für Teilaspekte der Verschlüsselung) und in Hardware gegossene Unterstützung für den ein oder anderen Videocodec natürlich nicht schaden.

Der Großteil der Arbeit wird aber in Software umgesetzt, und die Grundlagen dafür wurden nicht komplett neu erfunden. Man hat auf bewährte Komponenten gesetzt, aber auch ein paar Dinge anders gemacht. Zusammengefasst wird das Ganze unter dem Begriff WebRTC. Dahinter versteckt sich eine ganze Reihe von Komponenten und Standards. Sowohl die IETF als auch das W3C waren und sind hier mit verschiedensten zugehörigen Standards involviert.

Heute möchte ich ein paar Teilaspekte des Ganzen beleuchten, um verständlicher zu machen welche Magie sich hinter diesem Begriff versteckt. Wir werden unter die Lupe nehmen, wie:

  • Webbrowser via JavaScript Zugriff auf Kamera und Mikrofon ermöglichen
  • mögliche Übertragungswege ermittelt werden (was „dank“ NAT & Co nicht trivial ist)
  • mögliche Datenströme zwischen den Teilnehmern signalisiert werden
  • die eigentlichen Medienstreams übertragen werden
  • Verschlüsselung zustande kommt

Zugriff auf Kamera und Mikrofon

Der Zugriff auf Kamera etc ist bei der ganzen Geschichte der einfachste Teil. Alle namhaften Browser stellen Media Devices / Media Streams bereit. Wer damit experimentieren möchte kann sich entsprechend einlesen oder einfach mal dieses Schnipsel ausprobieren. Einfach in eine HTML-Datei speichern und im Browser öffnen. Wenn alles klappt, dann sollte es in etwa so aussehen:

Wenn jedoch z.B. der Zugriff auf die Kamera nicht gewährt wird, kümmert sich die Fehlerbehandlung darum, eine aussagekräftige Fehlermeldung prominent zu platzieren:

Desktopsharing ist übrigens mittlerweile ähnlich simpel, hier eine kleine Testseite von Mozilla.

Ice Ice Baby

Der nächste Schritt ist schon komplizierter. Eine provisorische Kommunikation zwischen zwei Browserfenstern lässt sich mit Hilfe von Google, Stackoverflow & Co vielleicht noch relativ einfach bewerkstelligen. Eine ernsthafte Software für Videokonferenzen ist aber erstens harte Arbeit und verlangt zweitens auch serverseitig nach entsprechenden Ressourcen.

Raketentechnik passt nicht in einen Blog-Post, aber die grundsätzlichen Prinzipien des Verfahrens möchte ich hier vermitteln:

STUN wird benutzt um mögliche eigene Kandidaten für potentielle Sessions zu ermitteln. Im Idealfall ergibt sich daraus die Möglichkeit, die eigentlichen RTP-Ströme direkt zwischen den Clients zu vermitteln. Dadurch entsteht abgesehen von der Signalisierung auf den Servern keine Last. Das lief schon vor über 10 Jahren wunderbar, und ermöglichte SIP-Providern den Großteil des Traffics gar nicht selbst stemmen zu müssen.

Während das mit dem User hinter einem x-beliebigen DSL-NAT-Router meist wunderbar klappt, scheitert das spätestens, wenn man an ein symmetrisches NAT gerät. Während man als SIP-Anbieter früher recht trickreich versuchte, dann die vermittelten Sessions on-the-fly umzuschreiben um die Datenströme dann über Proxy-Server mit öffentlichen IPs zusammenzuschalten, gibt es mittlerweile zum Glück Standards für dieses Verfahren.

Eine Kernkomponente stellen TURN-Server dar, welche bei Bedarf ein Relay auf sichere Weise bereitstellen können. Zudem wurde das ganze Verfahren zum Verbindungsaufbau unter dem Namen Interactive Connectivity Establishment (ICE) standardisiert und wird für die Kommunikation im Browser vorausgesetzt bzw mitgeliefert.

Wobei Browser hier durchaus raffiniert vorgehen und auch Erweiterungen wie Trickle zur Beschleunigung des Ganzen implementieren.

Signalisierung

ICE bringt uns direkt zum nächsten Thema, die Signalisierung. Informationen über mögliche Transportwege müssen nämlich zwischen den Teilnehmern ausgetauscht werden. Und das nicht nur beim Gesprächsaufbau, sondern auch mittendrin. Schaltet jemand sein Videosignal an oder aus, ergibt das eine Änderung an den benutzten Sessions. Wird die Videoqualität mitten im Gespräch erhöht oder verringert (passiert meist automatisch), dann werden ebenfalls neue Sessions ausgehandelt.

Mögliche Kandidaten für Streams und ausgewählte ebensolche müssen irgendwie definiert und beschrieben werden. Hier kommt ein alter Bekannter aus der SIP-Welt zum Einsatz, nämlich das Session Description Protocol (SDP). Die Art und Weise wie es in den Browsern in JSON eingepackt wird sieht zwar bereits vor, es irgendwann potentiell durch eine Alternative ersetzen zu können. Stand heute ist es aber meines Wissens die einzige Variante, die zum Einsatz kommt.

Einigen müssen sich die Teilnehmer auf Audio und/oder Videocodecs, die Anzahl der involvierten Streams – und nicht zuletzt die zugehörigen Transportwege. Während SDP bei SIP einen der möglichen Inhalte eines SIP-Pakets darstellt, wird es bei WebRTC hier komplizierter. Im Grunde kann jeder Anbieter selbst entscheiden, wie er die Session-Informationen welche sein JavaScript-Code in den jeweiligen Browsern ermittelt zwischen denen und/oder seiner Videoplattform austauscht. Theoretisch können auf dem Signalisierungsweg zwischen den Teilnehmern auch mehrere Server stehen. Auch der Transport zwischen diesen ist im Grunde nicht vorgeschrieben. Grundsätzlich nutzt man SIP (eher zwischen Servern) und/oder (vorzugsweise) XMPP.

Spätestens auf dem Weg zum Browser nutzt man besser einen Standard wie XMPP via BOSH oder Websockets, bei XMPP kommt zudem eine Erweiterung namens Jingle zum Einsatz. Zwingend ist aber die Unterstützung von JSEP, dem JavaScript Session Establishment Protocol. Um jetzt nicht zu sehr ins Detail zu gehen: stellt euch JSEP einfach wie einen JSON-Wrapper für SDP vor. Der Standard beschreibt nicht nur das einzelne Datenpaket und dessen Format, sondern auch den ganzen Ablauf des Auf- und Abbaus von Sessions. Wer es wirklich im Detail verstehen will kommt eh nicht umhin, sich die ganzen (vielen) involvierten Drafts und RFCs zu Gemüte zu führen.

Datenströme – Media Streams

Nachdem unsere Teilnehmer jetzt endlich wissen, was sie wohin senden (und woher empfangen) können, geht es endlich los: wir schicken unseren Stream auf die Reise. Zum Einsatz kommt auch hier ein alter Bekannter, das Real-Time Transport Protocol (RTP). Zum Glück ist auch RTPC, die Erweiterung zur Steuerung der Servicequalität zwingend vorgeschrieben. Bei SIP war das noch optional.

Das Protokoll übernimmt hier das Stückeln der aus dem gewählten Audio/Video-Codec fallenden Pakete. RTP muss sicherstellen, dass ein Stream kontinuierlich, synchron und linear ankommt. Laufzeitunterschiede (Jitter), also Schwankungen in der Übertragungszeit der einzelnen Pakete sollen ausgeglichen werden. Auch das ist eine Wissenschaft für sich.

Wer sich ansehen möchte, welche Streams gerade aktiv sind und wie viele Daten da drübergehen, kann das teilweise in seinem Browser machen – in Chrome z.B. unter chrome://webrtc-internals/. Via JavaScript sind diese Informationen (in unterschiedlicher Ausprägung) übrigens in allen Browsern verfügbar. Man sieht welche Codecs gerade zum Einsatz kommen, ob und wie laut gesprochen wird und wie viele Daten übertragen wurden und werden. Hier setzt übrigens an, wer die Gesprächs- und Videoqualität überwachen möchte.

Verschlüsselung und Sicherheit

Nicht zuletzt geht es spätestens bei den Streams natürlich auch um die Frage der Sicherheit. Die gute Nachricht zuerst: zumindest die Implementierung der Verschlüsselung ist im WebRTC-Standard für alle beteiligten Komponenten vorgeschrieben. Bei den Protokollen finden sich wiederum alte Bekannte, zumindest für den, der sich schon mal mit VoIP-Sicherheit auseinandergesetzt hat:

* Datagram Transport Layer Security – DTLS erlaubt TLS auch für UDP
* Secure Real-Time Transport Protocol – SRTP ist eine effiziente Verschlüsselung für RTP

Nicht verschlüsselt sind Header-Informationen wie z.B. die Lautstärke. Man „sieht“ also auch ohne die Verschlüsselung zu knacken, ob jemand gerade spricht oder nicht. Vor bei SRTP denkbaren MITM-Angriffen schützt bei WebRTC übrigens der Verbindungsaufbau via DTLS.

Die Verschlüsselung erfolgt End-to-End. Auch wenn die Streams über einen TURN-Server geleitet werden kann der Anbieter sie nicht entschlüsseln. Wer sich tiefer in das Thema einarbeiten möchte, dem empfehle ich als Einstiegspunkt A Study of WebRTC Security. Dazu sollte man vielleicht noch sagen, dass hier lediglich versprochen wird, dass die Verbindung zu meinem Gegenüber verschlüsselt ist. Wer aber letztlich mein Gegenüber ist und ob das wirklich mein Gesprächspartner ist, ob dem in der Zwischenzeit jemand das Notebook geklaut hat oder ob gar ein Proxy verschlüsselt mit uns beiden spricht und dabei in der Mitte hängt – das zu unterscheiden ist für den Endnutzer leider nicht mit vertretbarem Aufwand möglich.

Schwieriger wird das Thema Sicherheit zudem, wenn Konferenzen mit mehreren Teilnehmern stattfinden. Wenn nämlich jeder Teilnehmer seinen Stream zu jedem anderen sendet ist bei einer gewöhnlichen DSL-Leitung das Ende der Fahnenstange schnell erreicht. Mischt der Anbieter die Streams zu einem (bzw zu mehreren, weil Teilnehmer teilweise andere Codecs unterstützen), dann ist die schöne End-zu-End-Verschlüsselung aber leider im Eimer.

Eine mögliche Lösung sind SFUs (Selective Forward Units), die kennt man bereits aus der guten alten RTP-Welt. Die brauchen zwar nicht in die Streams zu sehen, können es per Definition aber leider. Eine schöne Lösung bieten hier Insertable Streams, welche mittlerweile in aktuellen Versionen von Firefox, Safari und Chrome verfügbar sind. Ein zugehöriges Jitsi-Issue liefert dem interessierten Leser einen tiefen Einblick in den aktuellen Stand der Technik und die Fortschritte der einzelnen Browserhersteller.

Jitsi ist übrigens eine wunderschöne OpenSource-Lösung für Videokonferenzen. Wer den Aufwand des Betriebs scheut oder es einfach mal ausprobieren möchte kann das jederzeit bei uns machen. Und wenn wir anderweitig zu dem Thema beratend zur Seite stehen können, machen wir das natürlich auch sehr gerne.

Thomas Gelf
Thomas Gelf
Principal Consultant

Der gebürtige Südtiroler Tom arbeitet als Principal Consultant für Systems Management bei NETWAYS und ist in der Regel immer auf Achse: Entweder vor Ort bei Kunden, als Trainer in unseren Schulungen oder privat beim Skifahren in seiner Heimatstadt Bozen. Neben Icinga und Nagios beschäftigt sich Tom vor allem mit Puppet.

3 Gründe, wieso Du Jitsi verwenden solltest

Ich muss sagen, ich bin wirklich dankbar und schätze mich sehr glücklich, dass ich zum einen die Möglichkeit habe, von zu Hause aus arbeiten zu können und zum anderen die Möglichkeit bekomme, von zu Hause aus zu arbeiten.

Das bedeutet im Umkehrschluss natürlich, die Kolleg*innen nicht mehr jeden Tag „in echt“ zu sehen, sich mit dem mittelmäßigen Filterkaffee zu Hause zufrieden zu geben und somit nicht mehr den hervorragenden Kaffee im Office zu genießen. Für ersteres gibt es aber – zumindest virtuell – eine Lösung, und zwar Jitsi!

 

Wieso Jitsi?

Damit nicht nur offline, sondern auch online, unser aller Schutz sichergestellt ist, gibt es hier 3 Gründe, die für Jitsi sprechen: Ein Video Conferencing Tool, das es ermöglicht, einfach und unkompliziert mit Arbeitskolleg*innen in Kontakt zu bleiben und Meetings abzuhalten.

1. Deine Sicherheit hat bei uns Priorität! Auch bei der Kommunikation. Daher sind unsere Server dort, wo Du und ich zuhause sind – in Deutschland. Um genauer zu sein, hosten wir Deine Daten in Nürnberg. Ach so, Du lebst nicht in Nürnberg? Auch gut! Egal, wo Dein Zuhause ist, Deine Daten sind in unseren Rechenzentren sicher, Dein Traffic unsichtbar für alle, die ihn nicht sehen sollen.

2. Nimm‘ an Meetings oder Calls teil, wo immer Du gerade bist und von welchem Gerät Du möchtest! HD-Video Calls funktionieren auch in größerer Runde reibungslos. So sieht man sich zumindest virtuell „in echt“.

3. Teile Deinen Screen mit alle am Meeting teilnehmenden Personen, sodass Deine Präsentation, in die Du viel Herzblut gesteckt hast, von jeder*m gesehen wird und sich nicht jede*r einzeln selbst durch die Seiten klicken muss.

Wir im Marketing zum Beispiel nutzen Jitsi jeden Morgen, um unser Stand Up abzuhalten und die Aufgaben des Tages zu besprechen.

 

Noch nicht überzeugt?

Du brauchst noch weitere Gründe? Dann schau‘ Dir das folgende Video an und sieh‘ selbst, wie schnell (und anscheinend auch manchmal lustig) es sein kann, Jitsi zu verwenden:

 

Außerdem geben wir Dir die Möglichkeit, Jitsi momentan kostenfrei zu nutzen.  So siehst Du demnächst Dein Team dann online!

Happy video conferencing!

 

PS: Filterkaffee ist eigentlich ganz ok.

 

DSGVO: Grün für Open Source Videokonferenzdienste

Jitsi Open Source Video Conferencing

Bei einer Prüfung der Berliner Datenschutzbeauftragten Maja Smoltczyk sind die führenden Videokonferenzplattformen Zoom, Teams und Skype von Microsoft sowie Google Meet, GoToMeeting, Blizz und Cisco Webex durchgefallen. „Leider erfüllen einige der Anbieter, die technisch ausgereifte Lösungen bereitstellen, die datenschutzrechtlichen Anforderungen bisher nicht“, erklärte sie. Den entsprechenden Bericht könnt ihr hier nachlesen.

Wörtlich ist dazu in dem Bericht vom 3. Juli 2020 zu lesen: „Rot markiert sind Anbieter, bei denen Mängel vorliegen, die eine rechtskonforme Nutzung des Dienstes ausschließen und deren Beseitigung vermutlich wesentliche Anpassungen der Geschäftsabläufe und/oder der Technik erfordern…“.

Grün abgeschnitten haben in Deutschland gehostete Open Source Videokonferenzlösungen wie Big Blue Button und auch unser Jisti Angebot in den NETWAYS Web Services.

Jitsi

Jitsi ist eine super Lösung, um schnell Videokonferenzen im Browser aufzusetzen oder zu chatten, mit Möglichkeit zum Screensharing und ist sowohl am Desktop als auch mobil nutzbar.

Jitsi lässt sich für den Online-Unterricht von Schulen und Akademien und für Videokonferenzen in Unternehmen einsetzen. Und wie man oben sehen kann, nutzen wir für unsere Videokonferenzen im Homeoffice natürlich auch Jitsi :-).

Der Einstieg bei uns ist ganz einfach: Mit wenigen Klicks steht bei den NETWAYS Web Services deine Videokonferenz – sicher in Deutschland gehostet und 30 Tage kostenfrei zum Testen!

Wir haben uns sehr darüber gefreut, dass unser Jitsi-Angebot gegen große Videokonferenzsystem so gut abschließen konnte. Wenn ihr weitere Informationen zu Jitsi und unseren Leistungen haben möchtet, meldet euch einfach bei uns.

Monthly Snap March 2020

As most of you have already noticed, the NETWAYS family is officially in home-office.
This is very strange experience for most of us, but we are adapting to the new situation and are grateful for being able to work from home. As Leonie wrote in her blog NETWAYS @home we have a great Internal Support department, that helps with any issue we may have, and of course Bernd sends us regular updates.
In case you missed it: our NWS team offers a #stayathome-special: Rocket Chat, Jitsi and Nextcloud for free for 30 days! Check it out! These tools are very helpful for teamwork, telephone conferences etc, and help us stay in touch and cooperate despite being apart. It might be just the thing for your team!
And although business might not be quite as usual, we are still there for our customers! You can write us, phone us, order shop-products etc.

So, let us see what else NETWAYS wrote about in March!

 

NEWS from our Shop

STARFACE im Home-Office! Read Natalie`s Blog on how to use Starface while working from home, and that Starface UCC premium licences are for free till the end of May! Further, Natalie provided information on the HW group STE2: Netzwerk-Thermometer Set zum kleinen Preis. Just the thing for your server-room. Also read her second blog on the subject: HW group STE2: Netzwerk-Thermometer Set – Teil 2. And Nicole shared the advantages of the STE und STE PoE for those of us who don`t need the extra features of the STE2.

DevOpsDays Berlin

Julia informed us of DevOpsDays Berlin: Call for Papers open. Get involved! There are three different formats for talks. Read about them and send us your proposal for a talk in Berlin in October!

 

Icinga for Windows

Despite the Home-office situation the webinars are still taking place! Christian gave us an overview on topics and dates in the new webinar series Icinga for Windows – Webinar Kalender. Which leads us to Alexanders blog on his part in creating Icinga for Windows with PowerShell in Was war, ist und wird sein – ein Azubi & PowerShell. He is truly impressed with Christians work, and has learnt a lot in the process.

 

Techie topics

Artur wrote about his first experiences with Docker – ein erster Eindruck! In Privat: Better Late than never – Graphite-Web-Installation unter Debian 10 – Part 1 David kept his promise to his blog-readers and shared a thorough how-to. Why should you test tmux? Christoph gave us some reasons in tmux – terminal multiplexer. And Daniel`s blog Jitsi Best Practice und Skalierung helps with installing and using Jitsi. Julia annonced that NWS now hosts Kubernetes in NETWAYS Managed Kubernetes. Auf in die Welt der Container! The next blog is hilarious and cool at the same time! Read Tobias` Icinga Web Themes coming soon – Bayerisch, Fränkisch, Österreichisch!

 

#lifeatnetways

In our blog series NETWAYS stellt sich vor new colleagues share a bit about themselves. Read about our apprentices Natalie and Nathaniel

Catharina Celikel
Catharina Celikel
Office Manager

Catharina unterstützt seit März 2016 unsere Abteilung Finance & Administration. Die gebürtige Norwegerin ist Fremdsprachenkorrespondentin für Englisch. Als Office Manager kümmert sie sich deshalb nicht nur um das Tagesgeschäft sondern übernimmt nebenbei zusätzlich einen Großteil der Übersetzungen. Privat ist der bekennende Bücherwurm am liebsten mit dem Fahrrad unterwegs.