Telefoneinwahl ergänzt

This commit is contained in:
Bernd Reuther 2020-05-02 07:46:28 +02:00
parent 3be8e8b727
commit 20bb926103
3 changed files with 129 additions and 1 deletions

130
README.md
View File

@ -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 <sipbenutzer> konferenz.domain.tld <passwort>
```
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.

BIN
bilder/sip-benutzer.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

BIN
bilder/sip-passwort.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB