diff --git a/README.md b/README.md index cc4d070..2359ca1 100644 --- a/README.md +++ b/README.md @@ -443,7 +443,133 @@ In diesem Fall muss in der Datei `/etc/apache2/conf-enabled/ssl-params.conf ` de ### Telefoneinwahl -kommt noch... +Mit dem zusätzlichen Software-Paket `jigasi` ist es möglich, per Telefoneinwahl an einer JItsi Konferenz teilzunehmen. Das kann nützlich sein, wenn gerade kein PC oder Smartphone zur Verfügung steht, oder wenn man an einem PC ohne Mikrofon arbeitet. + +Normalerweise kann `jigasi` mit einem beliebigen SIP-Konto verknüpft werden und wäre damit über das Telefonnetz erreichbar. Wir möchten jedoch zusätzlich erreichen, dass + +- nach der Telefoneinwahl eine Pin-Nummer abgefragt wird +- mehrere Räume genutzt werden können + +Dazu wird unser Jitsi Meet Server mit einem bestehenden [Asterisk-Server](https://www.asterisk.org/) verbunden, auf dem zuerst ein neues internes SIP-Konto angelegt werden muss. + +!!! note "Anmerkung" + Die Beschreibung der kompletten Asterisk-Installation ist ein Thema für sich und würde hier zu weit führen. Ausgangspunkt für die hier beschriebene Anpassung ist ein funktionierender Asterisk-Server, der mit einem Sipgate-Basic Account verbunden und damit über das öffentliche Telefonnetz erreichbar ist. + +#### Vorbereitungen am Asterisk-Server + +In der Datei `/etc/asterisk/sip.conf` werden folgende Einträge hinzugefügt: + +``` +[2000] +type = friend +context = meine-telefone +secret = sip-passwort +host = dynamic +``` + +Daraus ergeben sich folgende Zugangsdaten, die später bei der Installation von `jigasi` eingetragen werden müssen: + +- SIP Benutzername: 2000@sip.server (wobei "sip.server" natürlich auch die IP-Adresse des Asterisk Servers sein kann) +- SIP Passwort: sip-passwort (selbstverständlich hier nur als Beispiel) + +Nun müssen noch die Einwahl-Regeln in die Datei `/etc/asterisk/extensions.conf` eingetragen werden: + +``` +[von-voip-provider] +; xxxxxx = username vom Sipgate Zugang +; yyy1...yyy8 = Beispiele für Asterisk-Konferenzräume +; zzzz = Beispiel für vordefinierte Jitsi Meet Konferenz +exten => xxxxxx,1,Answer() +same => n,Wait(1) +same => n,Playback(conf-getpin) +same => n,Read(NUMMER,,0,3) +same => n,GotoIf($[ ${NUMMER} = yyy1 ]?telko:) +same => n,GotoIf($[ ${NUMMER} = yyy2 ]?telko:) +same => n,GotoIf($[ ${NUMMER} = yyy3 ]?telko:) +same => n,GotoIf($[ ${NUMMER} = yyy4 ]?telko:) +same => n,GotoIf($[ ${NUMMER} = yyy5 ]?telko:) +same => n,GotoIf($[ ${NUMMER} = yyy6 ]?telko:) +same => n,GotoIf($[ ${NUMMER} = yyy7 ]?telko:) +same => n,GotoIf($[ ${NUMMER} = yyy8 ]?telko:) +same => n,GotoIf($[ ${NUMMER} = zzzz ]?videochat1:) +same => n,GotoIf($[ ${NUMMER} > 99999 ]?videochat2:) +same => n,Hangup +same => 20(telko),ConfBridge(${NUMMER},default_bridge,user_ohne_pw,sample_user_menu) +same => 30(videochat1),SIPAddHeader(Jitsi-Conference-Room:UnserMeeting) +same => 31,Dial(SIP/2000,20) +same => 40(videochat2),SIPAddHeader(Jitsi-Conference-Room:${NUMMER}) +same => 41,Dial(SIP/2000,20) +``` + +Asterisk Konfiguration neu laden: + +``` +asterisk -rx 'core reload' +``` + +Bei diesem Beispiel wird bei der Telefoneinwahl als erstes eine Konferenz-Pin-Nummer abgefragt. Die ersten 8 Auswertungen dieser Pin prüfen auf voreingestellte, 4-stellige Nummern, die zu "normalen" Telefonkonferenz-Räumen führen. Dann wird als Beispiel eine 4-stellige Nummer ausgewertet, die zu einem voreingestellten Jitsi Meet Konferenzraum führt `UnserMeeting`. Davon können auch noch mehr angelegt werden. Wenn dann das Meeting mit dem entsprechenden Namen läuft, kann man sich mit der Pin dazu einwählen. +Die letzte Pin-Auswertung prüft auf eine mindestens 6-stellige Zahl und verwendet diese dann dynamisch als Raumname. Hier muss die Jitsi Meet Konferenz mit einer solchen, gültigen Zahl als Name gestartet werden. Der Einladungs-Link enthält dann automatisch auch die Telefoneinwahl-Pin. Mit dieser Variante stehen sehr viele Konferenzräume mit Telefoneinwahl zur Verfügung, die allerdings keine "sprechenden" Namen haben können. + +#### Jigasi installieren + +Die Installation von `jigasi` ist mit einem Befehl erledigt: + +``` +apt-get -y install jigasi +``` + +Während der Installation wird man aufgefordert, die Zugangsdaten für ein SIP-Konto einzugeben. Dabei werden die im Asterisk-Server eingetragenen Daten verwendet. + +![SIP Benutzer](bilder/sip-benutzer.jpg) + +und noch das Passwort: + +![SIP Passwort](bilder/sip-passwort.jpg) + +Für Jigasi wird ein neuer Benutzer angelegt (oder es kann auch der bereits vorhandene verwendet werden). + +``` +prosodyctl register konferenz.domain.tld +``` + +In der Datei `/etc/jitsi/jigasi/sip-communicator.properties` muss noch folgendes eingetragen bzw. auskommentiert und geändert werden: + +``` +# verhindert Verbindungsabbrüche mit Asterisk +net.java.sip.communicator.impl.protocol.sip.SKIP_REINVITE_ON_FOCUS_CHANGE_PROP=true + +# Raumname, wenn ein externes Sip-Komto verwendet werden soll, +# welches keine Sip-Header unterstützt +org.jitsi.jigasi.DEFAULT_JVB_ROOM_NAME=JitsiTelKo + +# wenn Asterisk nicht auf dem Standard Port 5060 hört (was sinnvoll ist) +# Adresse und Port entsprechend anpassen +net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PROXY_ADDRESS=sip.server +net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PROXY_AUTO_CONFIG=false +net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PROXY_PORT=5228 +net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PREFERRED_TRANSPORT=UDP + +# If you want jigasi to perform authenticated login instead of anonymous login +# to the XMPP server, you can set the following properties. +org.jitsi.jigasi.xmpp.acc.USER_ID=sipbsnutzer@konferenz.domain.tld +org.jitsi.jigasi.xmpp.acc.PASS=passwort +org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false + +# Activate this property if you are using self-signed certificates or other +# type of non-trusted certicates. In this mode your service trust in the +# remote certificates always. +net.java.sip.communicator.service.gui.ALWAYS_TRUST_MODE_ENABLED=true +``` +Den Dienst neu starten + +``` +systemctl restart jigasi +``` + +Jetzt sollte es möglich sein, sich über das Telefonnetz in eine laufende Jitsi Meet Konferenz einzuwählen. + +!!! info + Nach meinem Kenntnisstand, können sich über eine Sipgate Nummer bis zu 15 Personen einwählen. In unseren unseren normalen Telefonkonferenzen hatten wir bis jetzt immer nur bis zu 8 Teilnehmer. ## Quellen @@ -455,6 +581,8 @@ Die Informationen in dieser Dokumentation stammen unter Anderem aus den folgende - https://www.kuketz-blog.de/jitsi-meet-optimierung-der-performance/ - https://www.digitalocean.com/community/tutorials/how-to-install-jitsi-meet-on-ubuntu-18-04 - https://dev.to/noandrea/self-hosted-jitsi-server-with-authentication-ie7 +- https://community.jitsi.org/t/sip-calls-into-jigasi-from-freeswitch-fail-on-jigasi-1-1-38-succeed-on-jigasi-1-0-244/25734 +- https://github.com/jitsi/jigasi/issues/132 Erstellt: 04-2020 von Bernd Reuther, Evangelisch-Freikirchliche Gemeinde Bad Lausick. diff --git a/bilder/sip-benutzer.jpg b/bilder/sip-benutzer.jpg new file mode 100644 index 0000000..dd4ac60 Binary files /dev/null and b/bilder/sip-benutzer.jpg differ diff --git a/bilder/sip-passwort.jpg b/bilder/sip-passwort.jpg new file mode 100644 index 0000000..14e0e09 Binary files /dev/null and b/bilder/sip-passwort.jpg differ