Seite wählen

NETWAYS Blog

Jitsi Feature Improved Moderator Controls

It is time for another round of features Jitsi! We are always excited to explore the newest additions to Jitsi and this time we are looking at the new moderator options. This brings us new possibilities by allowing even more people in the same room and makes presenting a whole lot easier.

In the past, Jitsi had struggled with the number of participants allowed in a room and it often came to interruptions. Jitsi has been working hard on rectifying this and optimising the performance of the videos being sent. This is achieved by only sending the video streams of participants that are currently in view.

Moderators will now have the option to allow other participants to use their microphone or webcam. This means that the moderator is able to turn off all of the cameras and microphones and keep them off! This is great if you have a speaker or teacher who is presenting to a class and wants to avoid interruptions. The moderator is able to present freely without the worry of somebody cutting in and speaking over them, or other members being distracted by other videos.

What‘s great about this, is that the permission to turn on the camera and microphone again can be given back to the other users, for example when it comes to answering questions. Don‘t worry though, the moderator will never be able to turn on other users‘ cameras or microphones as this wouldn‘t comply with privacy laws.

During the time that users are not allowed to use their camera or microphone, they are still able to raise their hand and the moderator can grant them use of their devices by asking the user to unmute themselves. When the user gets the notification asking to unmute, they are able to accept and proceed to talk or show something on their camera. When the moderator would like to continue with their presentation, they can simply mute all participants.

This add-on adds a great range of utility and opens up a lot of opportunities with Jitsi. If only one person in a meeting is able to share their audio and video, this greatly increases the number of people allowed in a room without disturbances. In the forums, people have claimed to have up to 500 members in a meeting! Although this is difficult to test, we can definitely work with around 200 people in a meeting, as long as cameras are off and audio is not being transmitted.

Here at NETWAYS we offer Jitsi as a SaaS App with standard settings, but if you need something more capable and fully customisable, then our Managed Jitsi is just for you. We are able to customise a whole range of settings and designs to personalise Jitsi to your needs. Why not get in touch with us and speak to one of our MyEngineers and we can help your projects become a reality.

Together we are better connected.

Überspringen von Online-Werbung in Videos mit dem Mac

Ich nutze seit vielen Jahren Magnet auf dem Mac um verschiedene Fenster schnell zu positionieren. Was bei vielen anderen Betriebssystemen einfach geht, kann man mit Magnet Add-on einfach nachrüsten. Bei der Neuinstallation von Magnet bin ich auf eine andere App der gleichen Entwickler mit dem Namen Dynamo gestossen.

Aufgrund der guten Rezessionen habe ich die 99 Cent investiert und bin begeistert. Dynamo ist eine Safari Extension, welche nach Installation ein paar Keyboard-Controls (diese können auch geändert werden) zur Verfügung stellt.

Mit den Tasten S, D und F kann die Geschwindigkeit des Videos verlangsamt (S), beschleunigt (F) und wieder auf normal (D) gesetzt werden. Das ist Hilfreich, wenn man bei längeren Videos an die richtige Stelle hüpfen möchte ohne sich ständig beim Quick-Scrolling zu verklicken.

Für mich ist das Killerfeature jedoch die Taste E, mit welcher die Werbung in Videos einfach übersprungen werden kann. Ein Tastendruck genügt und das eigentliche Video beginnt. Dynamo funktioniert nicht nur auf YouTube, sondern auf sämtlichen anderen Website mit Videoplayer. Auch Videos auf Spiegel.de, dessen Werbeanzeigen sich normalerweise nicht überspringen lassen und auch pausiert werden, sobald das Fenster im Hintergrund ist, können problems ohne Werbung betrachtet werden.

Kurzum, wenn ihr Safari verwendet und öfters mal Videos anschaut sind die 99 Cent eine bombastische Investition.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinen beiden Söhnen und seiner Tochter.

Jitsi Best Practice und Skalierung

Seit nun mehr als zwei Wochen wird dort wo es möglich ist von Zu Hause aus gearbeitet. Home-Office für ALLE! Naja mindest für die die es können.

Damit ist auch von einem Tag auf den anderen der Bedarf an Kommunikations-Werkzeugen vor allem für Video-Konferenzen gestiegen.
Hierfür gibt es einige Plattformen welche mittels Jitsi Video- und Audiokommunikation als Service anbieten. Darunter auch NETWAYS Web Services
Jitsi ist eine Freie Software welche auch selbst betrieben werden kann.
Beim Betrieb von Jitsi jedoch zeigt sich das Jitsi sehr schwierig in der Skalierung ist. Es benötigt die richtigen Ressourcen und die richtigen Clients für die Nutzung, um nicht ab einer zweistelligen Zahl von Nutzern in einen reinen Ton- und Bildsalat zu enden. Die technischen Dokumentationen jedoch sind nicht sehr ausgeprägt und durch ihre Zerstreuung sehr schwer zu einem ganzen zusammen zu fügen.

Daher werden wir uns folgend mit den Punkten Anforderungen, Skalierung und Nutzung auseinander setzen.

Empfehlung für einen eigenen Jitsi Server/Videobridge

Nach meinen Tests und der Güte an vorhandenen Quellen zur Hilfe und Dokumentation komme ich zu folgendem Ergebnis:

    • Betriebssystem: Debian 10 oder Ubuntu 18.04.4 LTS
    • Soviel CPU wie geht
      (klingt komisch ist aber so)
      CPU: bei durchschnittlich 10 Teilnehmer pro Konferenz kommen ich mit 2vCPU für die Videobridge ganz gut klar. Mehr zur Skalierung der CPU findet ihr hier:

jitsi-videobridge-performance-evaluation

  • CPU Jitis/Jifico/Prosody: Hier würde auch eine (v)CPU ausreichen, hängt jedoch auch wieder von der Frequentierung ab.
  • RAM: 4-8 GB für beide Server-Varianten
  • Speicherplatz: max. 50 GB SSD für beide Server-Varianten
  • Eine hohe Bandbreite
  • Die Unstable Version von Jitsi:

[code lang=“plain“]
# install the key
wget -qO – https://download.jitsi.org/jitsi-key.gpg.key | apt-key add –
# add the unstable repo
sh -c "echo ‚deb https://download.jitsi.org unstable/‘ > /etc/apt/sources.list.d/jitsi-unstable.list"
apt update
[/code]

Eine gute Installations-Anleitung dazu gibt es zum einen von Jan Doberstein auf seinem Blog jalogisch.de
oder auch sehr hilfreich und weiterführend auf der Seite lw1.at guides

Skalierung einer Jitsi Infrastruktur

Ausgangslage

Wir haben einen vollständig installierten Jitsi Server Namens jitsi.example.com auf Basis von Debian. Jetzt wollen wir mehr mehr Ressourcen bereit stellen, so müssen wir weitere jitsi-videobridge Instanzen aufsetzen.
In der vollständigen Installation eines Jitsi-Servers auf Basis von Debian 10 sind folgende Pakete installiert:

[code lang=“plain“]
ii jitsi-meet 1.0.4314-1 all WebRTC JavaScript video conferences
ii jitsi-meet-prosody 1.0.3914-1 all Prosody configuration for Jitsi Meet
ii jitsi-meet-web 1.0.3914-1 all WebRTC JavaScript video conferences
ii jitsi-meet-web-config 1.0.3914-1 all Configuration for web serving of Jitsi Meet
ii jitsi-videobridge2 1132-1 amd64 WebRTC compatible Selective Forwarding Unit (SFU)
[/code]

Der Part jitsi-videobridge ist der Teil der den jtisi-meet mit der Video und Audio Übertragung versorgt. Er schließt sich an jitsi-meet und dem verwendeten prosody (XMPP-Server) an.

Anbindung einer Videobridge

Dazu binden wir die die Paketquellen auf dem zweiten Server vb1.example.com ein und installieren die Videobridge:

[code lang=“plain“]
# install the key
wget -qO – https://download.jitsi.org/jitsi-key.gpg.key | apt-key add –
# add the unstable repo
sh -c "echo ‚deb https://download.jitsi.org unstable/‘ > /etc/apt/sources.list.d/jitsi-unstable.list"
apt update
apt install jitsi-videobridge2
[/code]

Sollte eine Firewall auf dem Server jitsi.example.com aktiviert sein so müssen wir den Port 5222 für eingehende Kommunikation öffnen.

Auf dem zweiten Server vb1.example.com passen wir jetzt die Datei „/etc/jitsi/videobridge/config“ an:

[code lang=“plain“]
# Jitsi Videobridge settings

# sets the XMPP domain (default: none)
JVB_HOSTNAME=jitsi.example.com

# sets the hostname of the XMPP server (default: domain if set, localhost otherwise)
JVB_HOST=jitsi.example.com
….
[/code]

Dann kommen wir zu Datei für die SIP-Kommunikation. Diese sollte vom Hauptserver jitsi.example.com übernommen werden und die UUID sollte hierbei auf jedem Server unterschiedlich gesetzt sein.
Die Datei „/etc/jitsi/videobridge/sip-communicator.properties“ wird wie folgt eingestellt:

[code lang=“plain“]
org.jitsi.videobridge.DISABLE_TCP_HARVESTER=true
org.jitsi.videobridge.ENABLE_STATISTICS=true
# Notwendig falls der Server hinter einem NAT steht.
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=local-ip
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=public-ip
org.jitsi.videobridge.STATISTICS_TRANSPORT=muc
org.jitsi.videobridge.xmpp.user.shard.HOSTNAME=jitsi.example.com
org.jitsi.videobridge.xmpp.user.shard.DOMAIN=auth.jitsi.example.com
org.jitsi.videobridge.xmpp.user.shard.USERNAME=jvb
org.jitsi.videobridge.xmpp.user.shard.PASSWORD=
org.jitsi.videobridge.xmpp.user.shard.MUC_JIDS=JvbBrewery@internal.auth.jitsi.example.com
#UUID am besten mit "uuidgen" neu gernieren muss auf beiden Servern Einzigartig sein.
org.jitsi.videobridge.xmpp.user.shard.MUC_NICKNAME=9a6187f0-6d3f-46df-b1ff-ce7d2d69513a
org.jitsi.videobridge.xmpp.user.shard.DISABLE_CERTIFICATE_VERIFICATION=true
[/code]

Auf Debian 10 tritt mit Java 11 folgender Fehler auf:

[code lang=“plain“]
VB 2020-03-21 19:29:23.687 SEVERE: [16] org.jitsi.utils.concurrent.RecurringRunnableExecutor.log() The invocation of the method org.jitsi.videobridge.stats.StatsManager$StatisticsPeriodicRunnable.run() threw an exception.
java.lang.reflect.InaccessibleObjectException: Unable to make public long com.sun.management.internal.OperatingSystemImpl.getTotalPhysicalMemorySize() accessible: module jdk.management does not "opens com.sun.management.internal" to unnamed module @54ca3634
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:192)
at org.jitsi.videobridge.stats.OsStatistics.getTotalMemory(OsStatistics.java:138)
at org.jitsi.videobridge.stats.VideobridgeStatistics.generate0(VideobridgeStatistics.java:703)
at org.jitsi.videobridge.stats.VideobridgeStatistics.generate(VideobridgeStatistics.java:450)
at org.jitsi.videobridge.stats.StatsManager$StatisticsPeriodicRunnable.doRun(StatsManager.java:321)
at org.jitsi.utils.concurrent.PeriodicRunnableWithObject.run(PeriodicRunnableWithObject.java:87)
at org.jitsi.utils.concurrent.RecurringRunnableExecutor.run(RecurringRunnableExecutor.java:216)
at org.jitsi.utils.concurrent.RecurringRunnableExecutor.runInThread(RecurringRunnableExecutor.java:292)
at org.jitsi.utils.concurrent.RecurringRunnableExecutor.access$000(RecurringRunnableExecutor.java:36)
at org.jitsi.utils.concurrent.RecurringRunnableExecutor$1.run(RecurringRunnableExecutor.java:328)
[/code]

Dieser kann beseitigt werden mittels folgender Ergänzung am Ende der Java System Properties in der Datei „/etc/jitsi/videobridge/config“:

[code lang=“plain“]
JAVA_SYS_PROPS="-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=videobridge -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi -Djava.util.logging.config.file=/etc/jitsi/videobridge/logging.properties –add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED"
[/code]

Nun können wir die Videobridge starten:

[code lang=“plain“]
systemctl enable jitsi-videobridge && systemctl start jitsi-videobridge
[/code]

An der Stelle geht auch ein Dank an Jan Doberstein der mich auf diese Spur gebracht hat und in seinem Blog-Folge Artikel zu Scaling Jitsi

Nutzung

Das Protkoll WebRTC, welches Jitsi nutzt, wird zur Zeit nur sauber von Google Chrome unterstützt. Somit sollte allen Nutzern dieser Browser, für die Anwendung am Notebook empfohlen werden. Für Androide und iOS Geräte gibt es Applikationen den jeweiligen App-Stores. Sehr schöne Zusammenfassung und eine ausführliche Benutzer-Anleitung hierzu gibt es auch auf der Seite des Freifunk München.

Sicherheit

Zum Thema Sicherheit empfiehlt es sich am Besten zuerst die Stunning-Server von Google in der Datei „/etc/jitsi/meet/jitsi.example.com-config.js zu ersetzen. Eine geeignete Stunning-Server Konfiguration kann wie folgt lauten:

[code lang=“plain“]
stunServers: [
{ urls: ’stun:stun.schlund.de:3478′ },
{ urls: ’stun:stun.t-online.de:3478′ },
{ urls: ’stun:stun.1und1.de:3478′ },
{ urls: ’stun:stun.hosteurope.de:3478′ },
{ urls: ’stun:stun.gmx.de:3478′ },
],
[/code]

Zustätzlich wenn Ihr nicht eine gänzlich freie Plattform, sondern eine mit Moderaten oder sogennante Host per Raum gestützte Instanz betreiben wollt, empfiehlt es sich in prosody und jitsi-meet die Benutzerauthentifzierung für das erstellen von Räumen zu aktivieren.
In der Datei für die prosody-Konfiguration „/etc/prosody/conf.avail/jitsi.example.com.cfg.lua“, setzen wir den Wert für „authentication“ auf „internal_plain“ und fügen einen neuen VirtualHost darunter ein ein:

[code lang=“plain“]
VirtualHost "jitsi.yourdomain.example"
— enabled = false — Remove this line to enable this host
authentication = "internal_plain"
— Properties below are modified by jitsi-meet-tokens package config
— and authentication above is switched to "token"
–app_id="example_app_id"
–app_secret="example_app_secret"
— Assign this host a certificate for TLS, otherwise it would use the one
— set in the global section (if any).
— Note that old-style SSL on port 5223 only supports one certificate, and will always
— use the global one.
ssl = {
key = "/etc/prosody/certs/jitsi.yourdomain.example.key";
certificate = "/etc/prosody/certs/jitsi.yourdomain.example.crt";
}
— we need bosh
modules_enabled = {
"bosh";
"pubsub";
"ping"; — Enable mod_ping
}
c2s_require_encryption = false

VirtualHost "guest.jitsi.example.com"
authentication = "anonymous"
c2s_require_encryption = false
[/code]

In der Datei „/etc/jitsi/meet/jitsi.example.com-config.js“ geben wir nun den neuen VirtualHost an:

[code lang=“plain“]
var config = {
hosts: {
// XMPP domain.
domain: ‚jitsi.yourdomain.example‘,

// When using authentication, domain for guest users.
anonymousdomain: ‚guest.jitsi.yourdomain.example‘,
}
}
[/code]

Nun müssen wir noch jifico dazu veranlassen auch eine Authentifizierung durchzuführen und die Klasse in der „/etc/jitsi/jicofo/sip-communicator.properties“ laden:

[code lang=“plain“]
org.jitsi.jicofo.auth.URL=XMPP:jitsi.example.com
[/code]

Danach müssen die Dienste neu gestartet werden:

[code lang=“plain“]
sudo systemctl restart prosody.service
sudo systemctl restart jicofo.service
[/code]

Für die Anbindung einer Authentifizierung in Prosody gibt es auch Enterprise fähige Funktionen für LDAP und Co. Die obige Lösung beschreibt es für ein überschaubares Setup, denn die Benutzer hier müssen dann im Anschluss mit der prosodctl generiert werden:

[code lang=“plain“]
prosodyctl register jitsi-meet.example.com
[/code]

Abschließend bleibt zusagen…

Es ist nicht leicht gute Dokumentationen zu Jitsi und dessen Betrieb zu finden, eben so wie für das Scalling. Eine einheitliche Dokumentation gibt es nicht und somit macht es einen Gesamtüberblick nicht sehr leicht.
Neben der Jitis-Community und der Docs auf GitHub gibt es eine paar bereits schon erwähnte Artikel aber auch die sind rah. Daher die Bitte wenn jemand verbesserungen hat, meldet euch gerne!

Wenn Ihr eine Instanz dringend benötigt und euch nicht mit dem Betrieb ausseinandersetzen könnt oder naja vielleicht nicht wollt, dann schaut doch einfach bei unseren Kollengen von NWS vorbei. Dort bekommt Ihr aktuell mit dem Code #StayAtHome eine kostenlose Jitsi-Instanz für drei Monate und das ganz ohne Abo-Falle!

Also bleibt Zuhause und fragt euch gerade in diesen Tagen doch mindestens einmal am Tag:

1. Ist es wahr?
2. Ist es fair für alle Beteiligten?
3. Wird es Freundschaft und guten Willen fördern?
4. Wird es dem Wohl aller Beteiligten dienen?“

(Das sollten wir uns bei allem Fragen, was wir denken, sagen oder tun IMHO!)

Daniel Neuberger
Daniel Neuberger
Senior Consultant

Nach seiner Ausbildung zum Fachinformatiker für Systemintegration und Tätigkeit als Systemadministrator kam er 2012 zum Consulting. Nach nun mehr als 4 Jahren Linux und Open Source Backup Consulting zieht es ihn in die Welt des Monitorings und System Management. Seit April 2017 verstärkt er das NETWAYS Professional Services Team im Consulting rund um die Themen Elastic, Icinga und Bareos. Wenn er gerade mal nicht um anderen zu Helfen durch die Welt tingelt geht er seiner Leidenschaft für die Natur beim Biken und der Imkerei nach und kassiert dabei schon mal einen Stich.

Unboxing a Beauty – SMSEagle MHD-8100

Nachdem wir uns letzte Woche schon ausgiebig mit dem SMSEagle MHD-8100 beschäftigt haben, waren wir vom Shop-Team natürlich besonders neugierig, das neue Gerät auch mal in Händen halten zu können. Diese Woche kam das 8-fach Modem bei uns an und den Moment des ersten Blickes möchten wir gerne mit Euch teilen. Hier ist unser Unboxing-Video für Euch:

YouTube player

 

Wir sind begeistert! Denn folgende Merkmale konnten wir feststellen:

  • Das SMSEagle MHD-8100 hat ein robustes, eloxiertes Metallgehäuse. Besonders schön ist das schlichte Schwarz, das verwendet wurde. Durch die leicht raue Oberfläche lässt sich das Gerät z. B. beim Einbau gut in der Hand halten.
  • Die Kompaktheit des Gateways lässt keine Wünsche übrig.
  • Material für eine Rack-Montage liegt in Form von Schrauben und Winkeln bei. Diese werden direkt am Gehäuse angebracht und passen anschließend für den 19″ Standard.
  • Für alle, die das Gateway nicht fest im Rack verbauen wollen, kommt das Gerät mit ordentlichen Füßchen, die nicht abfallen können. Des Weiteren bieten die Füßchen genug Abstand, so dass eine anständige Luftzirkulation gewährleistet ist.
  • Alle Ports und Schalter sind eindeutig und klar beschriftet, was insbesondere für das Einführen der SIM-Karten in der richtigen Richtung (diese ist aufgedruckt) wichtig ist. Der Druck ist gut und lässt nicht zu wünschen übrig.
  • Alle Spaltmaße und Aussparungen sind sauber und gerade. Sämtliche von außen sichtbaren Ports und Schalter sind in der entsprechenden Flucht.
  • Jedes der 8 Modems verfügt über eine eigene Status-LED, so dass das Troubleshooting vereinfacht wird.
  • Gut sichtbare Status-LED für das gesamte Gerät sowie einen leicht zu erreichenden Reset-Button auf der Vorderseite.
  • Auf der Unterseite des Gerätes wurden per Aufkleber alle wichtigen Infos zum Gerät vermerkt, u. a. MAC-Adressen der beiden Ethernet-Ports.
  • Wie gewohnt liegt dem SMSEagle MHD-8100 ein Quick-Start-Guide bei, mit dessen Hilfe das Gateway schnell und problemlos aufgebaut werden kann.
  • Die Verpackung bietet einen sehr guten Schutz für das Gerät und kann auch nach längerer Zeit im Supportfall wieder zum Versand des Gerätes hergenommen werden. Die Ausschnitte in der Polsterung bieten eine schöne Übersicht über den Inhalt.

 

FAZIT: Unser erster Eindruck vom neuen SMSEagle MHD-8100 ist durchweg positiv.

 

Wir hoffen, Euch hat unser kleines Video gefallen! Wenn Ihr noch mehr davon sehen wollt, dann lasst es uns wissen  – wir sind erreichbar per Mail oder telefonisch unter der 0911 92885-44. Hier beantworten wir auch gerne Fragen rund um die Produkte von SMSEagle. Wer uns gerne bei der Arbeit ein bisschen über die Schulter schauen oder den Shop und die angebotenen Produkte verfolgen möchte, kann uns auch auf Twitter folgen – über @NetwaysShop twittert das NETWAYS Shop Team!

NETWAYS Web Services: Nextcloud 13 now up and running!


A lot of Nextcloud users have waited for the new Nextcloud 13 version to be available. Now our NWS team has implemented it for all Nextcloud apps on our platform.
Nextcloud 13 will bring you the following enhanced functions to your cloud:

  • Video and Text chat
  • End-to-end Encryption
  • Refined User Interface
  • Improved Performance
  • Improved File Sync and Share

Nextcloud users will now profit from a new app called Nextcloud Talk which provides an Open Source platform for audio, video and text communication in real-time as well as in asynchronous mode. Push notifications will help you to never miss a message! Absolute privacy is guaranteed by implementation of end-to-end encrypted calls that are 100% secure peer-to-peer.
Another big innovation is the End-to-End Encryption of content which can now be controlled by the users themselves. In the current Tech Preview release in version 13 it is now possible to encrypt single folders chosen by the users via their Nextcloud client. This prohibits the server side from accessing and seeing the folder or file content. The preview is available in mobile clients for Android and iOS as well as in desktop clients for Windows, Mac and Linux. Nextcloud will continue to enhance its encryption functionality over the next months.

Performance is also an important subject when it comes to the daily use of a certain software. The Nextcloud team has done a lot to make your work and collaboration faster and more comfortable by decreasing for example page load times as well as improving Server-Side-Encryption and external storage performance. For more information on performance enhancements please have a look at Nextcloud’s own blog article

For more detailed information on the new Nextcloud release you should visit the Nextcloud website or start your own Nextcloud instance on our NWS platform. Please remember that we offer a 30 day free trial period for every app!