Kopiere die Patch_ACS_12_12_0_EnhancedAV.zip in das Home-Verzeichnis aller Knoten.Zum Beispiel: scp Patch_ACS_12_12_0_EnhancedAV.zip -i ssh_key.pem my-user@webrtc.corp.example.com:/home/my-user/
Einführung
Adobe Connect verwendet LiveKit, einen Open-Source-WebRTC-basierten Media Server, um erweiterte Audio- und Video-Funktionen bereitzustellen.Diese LiveKit-basierte erweiterte Audio-Video-Konfiguration läuft normalerweise auf mehreren Linux®-Knoten mit spezifischen Rollen: Signalling-Knoten, LiveKit-Medien/SIP-Knoten und Aufzeichnungs- und ASR-Knoten (Beschriftung). Diese Konfiguration verwendet auch PostgreSQL, Redis und einen NATS-Message-Bus-Cluster (erforderlich für LiveKits Medien- und SIP-Server), die je nach Nutzung auf einer oder separaten Maschinen installiert werden können.
Die Einrichtung jedes Knotens erfolgt durch Kopieren der ZIP-Datei des Installationsprogramms, Bearbeiten der Konfigurationsdateien, Ausführen des Abhängigkeitsinstallationsskripts und schließlich des Hauptinstallationsskripts. Nachfolgend sind die Themen aufgeführt, die behandelt werden:
Diese Schritte werden im Abschnitt „Installation“ beschrieben.
Voraussetzungen und Systemanforderungen
Größe für erweiterte Audio/Video-Server/Knoten schätzen
Die Datei session_participants_count.sql kann ausgeführt werden, um die Größe der erweiterten Audio/Video-Server zu schätzen. Die Ausgabe der SQL-Abfragen ist die Eingabe für den Rechner, bei dem es sich um eine Excel-Datei handelt: Additional Enhanced A/V hardware Livekit-estimator.xlsx.
Der Rechner hilft dabei, die Anzahl der benötigten VMs basierend auf deiner bisherigen Nutzung von Adobe Connect zu schätzen. Der Rechner benötigt die folgenden Eingaben.
- Anzahl der CPU-Kerne des Servers und RAM-Größe.
- Die angehängten SQL-Abfragen werden verwendet, um die Höchstzahl gleichzeitiger Sitzungen in den letzten 12 Monaten und die durchschnittliche Anzahl von Teilnehmenden zu bestimmen.
- Die geschätzte Anzahl der Herausgeber in jeder Sitzung. Ein Herausgeber ist ein Meetingteilnehmer (Veranstalter(in), Moderator(in) oder Teilnehmer(in)), der sein Mikrofon mit dem Meetingraum verbindet (beide stummgeschaltet oder nicht stummgeschaltet) und seine Webcam mit dem Meetingraum verbindet (live oder angehalten).
Sowohl die Datei session_participants_count.sql als auch Additional Enhanced A/V hardware Livekit-estimator.xlsx sind im Installer-Paket enthalten und sonst nirgendwo verfügbar.
Anforderungen für das Öffnen von Ports
| Quelle | Ziel | Port-Bereich | Protokoll | Verwenden |
|---|---|---|---|---|
| WebRTC LB | Signalisierungsknoten | 18443 | TCP | WebRTC Signalling |
| 0.0.0.0 | WebRTC LB | 443 | TCP | WebRTC-Signalisierung |
| Connect Pro-Server | WebRTC LB | 443 | TCP | |
| Selbst | Signalisierungsknoten | 6379 | TCP | Redis |
| Media Server-Knoten | Signalisierungsknoten | 6379 | TCP | Redis |
| Aufzeichnungsknoten | Signalisierungsknoten | 6379 | TCP | Redis |
| Media Server-Knoten | Signalisierungsknoten | 4222 - 4224 | TCP | NATS |
| Selbst | Signalisierungsknoten | 5432 | TCP | Postgres |
| Selbst | Signalisierungsknoten | 6222 | TCP | NATS |
| Self | Signalisierungsknoten | 7890 | TCP | LiveKit LB |
| Signalisierungsknoten | Connect Pro Server LB | 443 | TCP | |
| Automatische Untertitel/ASR-Knoten | Signalisierungsknoten | 7890 | TCP | LiveKit LB |
| Automatische Untertitel/ASR-Knoten | WebRTC LB | 443 | TCP | WebRTC-Signalisierung |
| Media Server-Knoten | Signalisierungsknoten | 7890 | TCP | LiveKit LB |
| Self | Automatische Untertitel/ASR-Knoten | 6000 | TCP | Untertitelungsdienst |
| Signalisierungsknoten | Aufzeichnungsknoten | 5000-5100 | TCP | Aufzeichnungsanfrage |
| Connect Pro-Server | Aufzeichnungsknoten | 80 | TCP | Aufzeichnung herunterladen |
| Signalisierungsknoten | Media Server-Knoten | 7880 | TCP | WebRTC-Signalisierung |
| Lokal | Media Server-Knoten | 6883 | TCP | Cluster-Verbindung |
| Lokal | Media Server-Knoten | 6884 | UDP | Cluster-Verbindung |
| 0.0.0.0 | Media Server-Knoten | 50000 - 60000 | UDP | SRTP (Echtzeit-Medienfluss) |
| Selbst | Media Server-Knoten | 30000 - 40000 | UDP | TURN-Relay |
| 0.0.0.0 | Media Server-Knoten | 3478 | UDP | TURN über UDP |
| 0.0.0.0 | Media Server-Knoten | 443 | TCP | TURN über TLS |
| 0.0.0.0 | Media Server-Knoten | 5060 | UDP | SIP |
| 0.0.0.0 | Media Server-Knoten | 5060 | TCP | SIP |
| 0.0.0.0 | Media Server-Knoten | 10000-20000 | UDP | SIP |
| Automatische Untertitel/ASR-Knoten | Media Server-Knoten | 50000 - 60000 | UDP | SRTP (Echtzeit-Medienfluss) |
| Automatische Untertitel/ASR-Knoten | Media Server-Knoten | 3478 | UDP | TURN über UDP |
| Aufzeichnungsknoten | Media Server-Knoten | 50000 - 60000 | UDP | SRTP (Echtzeit-Medienfluss) |
| Aufzeichnungsknoten | Media Server-Knoten | 3478 | UDP | TURN über UDP |
| Aufzeichnungsknoten | WebRTC LB | 443 | TCP | WebRTC Signalling |
0.0.0.0 = Benutzer/Client/Internet
Lastenausgleich für On-Premise-Setup von Livekit einrichten
Der Lastenausgleich wird normalerweise über einen externen Application Load-Balancer mit der nachfolgenden Konfiguration durchgeführt.
- HTTPS-Port 443: Signalisierungsknoten HTTP-Port 18443 – CPS und Endbenutzer(innen) stellen eine Verbindung mit diesem Listener her, und das ist der Einstiegspunkt zum neuen WebRTC-Cluster.
Sieh dir Lastenausgleich für On-Premise-Setup von Enhanced Audio/Video (WebRTC) einrichten für weitere Informationen an.
Für die LiveKit-Engine wird Lastenausgleich nur für Port 18443 benötigt – es gibt keinen separaten Admin-Panel-Port (9090) für den Lastenausgleich, im Gegensatz zur LiveSwitch-Engine.
Vorbereitung der Umgebung
Ein LiveKit-Setup benötigt mindestens vier Red Hat-Server: jeweils einen für Signalling-, Medien-, Recording- und ASR-Knoten.Der Estimator könnte basierend auf der Meeting-Last mehrere Media Server, Recording-Knoten, ASR-Knoten und Signalling-Knoten vorschlagen.Ein Application Load-Balancer würde für SSL-Offloading und für die Kommunikation zwischen CPS und Endbenutzer-Clients mit Signalling-Knoten verwendet.
Hier beschreiben wir die vier häufigsten Server-Setups im Detail.
- Stellen Sie 4 Red Hat-Server bereit. Informationen zur Konfiguration finden Sie in der Hardware-Schätzfunktion.
- Die Installation erfordert einen Benutzer ohne root-Rechte mit sudo-Zugriff.
- Erstellen Sie nach einer Neuinstallation von Red Hat eine neue Benutzer-ID.
- Um sudo für die neue Benutzer-ID auf RHEL zu aktivieren, fügen Sie die ID der wheel-gruppe hinzu:
- Werde Root, indem du su ausführst.
- Führe usermod -aG wheel your_user_id aus.
- Melden Sie sich ab und mit der neuen ID wieder an.
Kopiere die Installer-Zip-Datei
-
-
Überprüfen Sie optional die heruntergeladene signierte ZIP-Datei mit Jarsigner. Jarsigner wird als Teil von Java installiert.
- Überprüfen Sie, ob JAVA mit dem Befehl [ java -version ] installiert ist. Wenn Java installiert ist, wird die JAVA-Version als Ausgabe ausgegeben.
- Wenn Java nicht auf dem Rechner vorhanden ist, installiere JAVA.
sudo yum install java-1.8.0-openjdk-devel
- Kopiere nun den nachfolgenden Befehl ins Terminal-Fenster und klicke auf Enter.
jarsigner -verify -verbose Patch_ACS_12_12_0_EnhancedAV.zip
- Die Ausgabe der Überprüfung enthält:
- Liste der Dateien in der ZIP-Datei
- Zertifikatsinformationen von Adobe zur Authentifizierung
- die erfolgreiche Ausgabemeldung "jar is verified" oder die Fehlermeldung "jar is not verified"
- Wenn die Zertifikatsinformationen gültig sind und die Ausgabenachricht über die erfolgreiche Verifizierung ausgegeben wird, können Benutzende den ZIP-Inhalt verwenden und mit der Installation fortfahren, andernfalls müssen sie sich an den Adobe Support wenden.
-
Extrahieren Sie die ZIP-Datei. Stellen Sie sicher, dass die Dateien über die entsprechenden Berechtigungen verfügen. Verwende die Befehle: Führe keinen Befehl mit root/sudo-Zugriff aus, außer es ist klar angegeben.
unzip Patch_ACS_12_12_0_EnhancedAV.zip
cd ~/ncc-onprem-installer/
sudo chmod +x ExternalDependencies/install.sh
sudo chmod +x MainInstall.sh
sudo chmod +x check-connectivity.sh
sudo chmod +x uninstall.shAnmerkungWenn du das Setup in einer Umgebung ohne Internetzugang oder einer gesicherten Umgebung ausführst, führe den nachfolgenden Befehl aus:
-
Ausführen des Skripts für die Abhängigkeitsinstallation.
- Wenn Sie das Setup in einer Umgebung ohne Internetzugriff oder in einer gesperrten Umgebung ausführen, führen Sie den folgenden Befehl aus, um externe Abhängigkeiten zu installieren. Wenn du Internetzugang hast, fahre mit dem folgenden Schritt 2 fort.
Navigiere zum übergeordneten Installer-Verzeichnis.Stelle zum Beispiel sicher, dass du dich im Verzeichnis ~/ncc-onprem-installer/ befindest.
Führe bash ExternalDependencies/package-util.sh --install --rhel8 auf RHEL8 aus.
Führen Sie bash ExternalDependencies/package-util.sh --install --rhel9 auf RHEL9 aus.
Dadurch werden alle erforderlichen externen Abhängigkeiten auf dem Gerät installiert
Dies wird einmal pro Knoten benötigt.
- Wechseln Sie zum übergeordneten Verzeichnis des Installationsprogramms. Stelle zum Beispiel sicher, dass du dich im Verzeichnis ~/ncc-onprem-installer/ befindest.
Führe bash ExternalDependencies/install.sh aus. Dadurch werden alle erforderlichen externen Abhängigkeiten auf dem Gerät installiert. Dies wird einmal pro Knoten benötigt.
- Wenn Sie das Setup in einer Umgebung ohne Internetzugriff oder in einer gesperrten Umgebung ausführen, führen Sie den folgenden Befehl aus, um externe Abhängigkeiten zu installieren. Wenn du Internetzugang hast, fahre mit dem folgenden Schritt 2 fort.
Installationsprozess
Die folgenden Schritte führen durch die Installation der LiveKit-Umgebung (als Beispiel) auf vier separaten Red Hat-Instanzen.Ein Signalisierungsknoten, ein Aufzeichnungsknoten, ein Media Server-Knoten und ein ASR-Knoten. Achten Sie bei den Anweisungen für jeden Knoten genau auf die Services, die in „container.conf“ konfiguriert sind. Sie müssen jeden Knoten mit einem bestimmten Satz von Diensten/Containern in den Konfigurationsdateien konfigurieren.
** Auf einem Labor-System kannst du alle diese ‚Knoten' (Signalling, Recording, Medien und ASR Server) auf einer Linux-Instanz installieren. In diesem Fall würden Sie in der Datei „containers.conf“ "count=1" für alle Server/Container festlegen, die für Ihre Umgebung benötigt werden.
Signalisierungsknoten
Auf den Signalisierungsknoten führen Sie normalerweise die folgenden Dienste aus. Jeder Dienst wird als Docker-Container ausgeführt.
- config (Konfigurationsdienst)
- cas (Neuer Connect-API-Dienst)
- apigw (API-Gateway/Router)
- nats (3-Knoten-NATS-Cluster – Message Bus, der von den LiveKit-Medien/SIP-Servern benötigt wird)
- redis
- postgres
Signalisierungsknoten befinden sich in der Regel im privaten Subnetz, auf das der Connect-Client über einen externen Lastenausgleich zugreifen kann.
Prozedur
-
Bearbeite die Hosts-Datei. Dieser Hosts-Datei-Eintrag muss auf jedem Knoten in der Bereitstellung hinzugefügt werden – Signalling, Medien, Recording und ASR – wobei <private-ip> immer auf die private IP-Adresse des Signalling-Knotens festgelegt wird.Sie können einen Text-Editor wie nano oder vi verwenden.
- Öffne die /etc/hosts-Datei mit dem nano- oder vi-Editor, z. B. sudo vi /etc/hosts.
- Fügen Sie die folgende Zeile am Ende hinzu. Ersetze die <private-ip> mit der privaten IP des Signalling-Knotens. Bitte beachten Sie den Abstand zwischen den einzelnen Wörtern unten.
<private-ip> controller.livekit.svc.cluster.local nats.livekit.svc.cluster.local redis.ncc.svc.cluster.local postgres.ncc.svc.cluster.local cas.ncc.svc.cluster.local config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local
192.168.1.100 controller.livekit.svc.cluster.local nats.livekit.svc.cluster.local redis.ncc.svc.cluster.local postgres.ncc.svc.cluster.local cas.ncc.svc.cluster.local config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local
-
Bearbeiten der Konfigurationsdateien
Bearbeiten Sie die Konfigurationsdatei in ncc-onprem-installer/Config/config.conf. Die Anweisungen zum Bearbeiten der Datei werden als Kommentare in die Konfigurationsdatei eingefügt. Diese Datei muss auf dem Signalling-Knoten bearbeitet werden; andere Knoten kopieren diese Datei, anstatt sie unabhängig zu bearbeiten (siehe ihre jeweiligen Abschnitte unten).
1. Aktualisiere die folgenden Schlüssel unter dem hostnames Block:
Schlüssel Einzelne Box Mehrere Boxen fqdn NCC_FQDN (z. B. webrtc.example.com) gleich signalingNode private IP der Instanz private IP des Signalling-Knotens configService private IP der Instanz private IP des Signalling-Knotens recordingNode private IP-Adresse der Instanz private IP-Adresse des HCR-Knotens mediaNode private IP-Adresse der Instanz private IP-Adresse des Media-Knotens sipNode private IP-Adresse der Instanz private IP-Adresse des Media-Knotens 2. Aktualisiere die folgenden Schlüssel unter dem livekit-Block (identisch für Single Box und Multi Box):
Key Wert Aktiviert "true" mediaServers ["<private IP-Adresse des Media-Knotens>"] 3. Bearbeite jetzt ncc-onprem-installer/Config/containers.conf. Die Anweisungen zum Bearbeiten der Datei werden als Kommentare in die Datei eingefügt. Diese Datei muss für jeden Host separat bearbeitet werden. Abhängig von den zu installierenden Diensten und der Anzahl der bereitzustellenden Container.
4. Auf einem typischen Signalisierungsknoten würden Sie Folgendes installieren:
- casServer
- configService
- apiGateway
- nats (lege die Anzahl für einen 3-Sekundär-NATS-Cluster fest)
- redis
- postgres
5. Setzen Sie also count=1 für alle zuvor installierten Dienste und 0 für alle anderen.
WichtigBitte setze restart=1 für configService, nachdem du Änderungen an Config.conf vorgenommen hast.
-
Ausführen des Hauptinstallationsprogrammskripts. Wechsle zum Hauptinstaller-Verzeichnis cd ~/ncc-onprem-installer/ Führe das Hauptinstaller-Skript aus, bash MainInstall.sh. Warten Sie auf die Bestätigungsmeldung. Erfolgsmeldung: 2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation erfolgreich. Fehlermeldung: 2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation fehlgeschlagen. Weitere Informationen finden Sie in der Datei "installer.log".
-
Überprüfen der Installation
- Konsistenzprüfer-API Für die Konsistenzprüfung des Knotens kannst du zur URL durchsuchen: http://<private_ip>:18443/health. Eine fehlerfreie Antwort muss 200 OK {"apigw":"ok"} sein. Zur Überprüfung von der RedHat-Maschine aus kannst du den CURL-Befehl verwenden. Zum Beispiel, curl -v http://172.31.56.203:18443/health
- Container-Status überprüfen Führe im Terminal-Fenster den Befehl docker ps aus.Die Ausgabe sollte wie unten aussehen, und der STATUS sollte für keinen der Container neu gestartet worden sein. Bestätige, dass die nats1/nats2/nats3-Container alle gesund sind, bevor du mit dem Media-Knoten fortfährst.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES aec6e82c8a6d docker-connect-release.dr-uw2.adobeitc.com/ncc-onprem/redis:12.4 redis-server /red... vor 2 Stunden Läuft seit 2 Stunden 0.0.0.0:6379->6379/tcp redis 5add9e041cc0 docker-connect-release.dr-uw2.adobeitc.com/ncc-onprem/postgres:12.4 postgres vor 2 Stunden Läuft seit 2 Stunden 0.0.0.0:5432->5432/tcp postgres 991a1a6e9145 docker-connect-release.dr-uw2.adobeitc.com/ncc-onprem/lb:12.4 nginx -g daemon o... vor 2 Stunden Läuft seit 2 Stunden 0.0.0.0:7890->7890/tcp, 80/tcp, 443/tcp, 5349/tcp lb 246cdf8b2fdd docker-connect-release.dr-uw2.adobeitc.com/ncc/config:12.12.0 /bin/bash /run.sh vor 2 Stunden Läuft seit 2 Stunden 0.0.0.0:8089->8089/tcp config c310c28f04af docker-connect-release.dr-uw2.adobeitc.com/ncc/cas:12.12.0 /bin/bash /run.sh vor 2 Stunden Läuft seit etwa einer Stunde 0.0.0.0:8090->8090/tcp cas 4e8fddab5aba docker-connect-release.dr-uw2.adobeitc.com/ncc/apigw:12.12.0 /bin/bash /run.sh vor 2 Stunden Läuft seit 2 Stunden 0.0.0.0:18080->8080/tcp, 0.0.0.0:18443->8443/tcp, 80/tcp apigw dd88436359bc docker-connect-release.dr-uw2.adobeitc.com/nats:2.11.6-alpine -cluster nats://n... vor 2 Stunden Läuft seit 2 Stunden 0.0.0.0:4222->4222/tcp, 0.0.0.0:6222->6222/tcp, 0.0.0.0:8222->8222/tcp nats1 d08343e01019 docker-connect-release.dr-uw2.adobeitc.com/nats:2.11.6-alpine -cluster nats://n... vor 2 Stunden Läuft seit 2 Stunden 0.0.0.0:4223->4223/tcp, 0.0.0.0:6223->6222/tcp, 0.0.0.0:8223->8222/tcp nats2 a578607fb4cc docker-connect-release.dr-uw2.adobeitc.com/nats:2.11.6-alpine -cluster nats://n... vor 2 Stunden Läuft seit 2 Stunden 0.0.0.0:4224->4224/tcp, 0.0.0.0:6224->6222/tcp, 0.0.0.0:8224->8222/tcp nats3
Media Server-Knoten
Auf den Media-Knoten würden Sie die folgenden Dienste ausführen:
- livekit-server (Media Server): Für erweiterte Audio-Video-Funktionen
- livekit-sip (SIP-Dienst): Für die Verwendung von SIP, wird nur installiert, wenn livekit.enabled=true
Medienknoten müssen sich in den öffentlichen Subnetzen (oder DMZ) befinden und einer öffentlichen IP zugewiesen oder einer öffentlichen IP über 1:1 NAT zugeordnet werden. Die Clients stellen direkt eine Verbindung mit den öffentlichen IPs des Medienknotens her.
Prozedur
-
Hosts-Datei bearbeiten Füge dieselbe /etc/hosts-Zeile hinzu, die in der Prozedur des Signalling-Knotens oben dokumentiert ist (<private-ip> controller.livekit.svc.cluster.local nats.livekit.svc.cluster.local redis.ncc.svc.cluster.local postgres.ncc.svc.cluster.local cas.ncc.svc.cluster.local config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local) auch zur /etc/hosts-Datei dieses Knotens, wobei <private-ip> auf die private IP des Signalling-Knotens eingestellt wird.
-
Bearbeiten der Konfigurationsdateien.
- Kopiere config.conf vom Signalling-Knoten, ~/ncc-onprem-installer/Config/config.conf – siehe den Abschnitt zum Signalling-Knoten oben für das, was dort aktualisiert werden muss.
- Füge im livekit-Block von config.conf die private IP dieses Knotens zum mediaServers-Array hinzu. Aktualisiere auch hostnames.mediaNode in config.conf auf die private IP dieses Knotens.
- Wenn dieser Knoten auch den SIP-Dienst ausführt, setze hostnames.sipNode in config.conf auf die private IP dieses Knotens.
- Bearbeite ~/ncc-onprem-installer/Config/containers.conf und setze livekitServer.count=1 (und livekitSip.count=1, wenn SIP/Telefonie benötigt wird). Aktualisiere auch livekitServer.mediaNodeIP (und livekitSip.sipNodeIP, falls zutreffend) auf die IP dieses Knotens.
-
Ausführen des Hauptinstallationsprogrammskripts. Wechsle zum Hauptinstallationsverzeichnis cd ~/ncc-onprem-installer/ Führe das Hauptinstallationsskript aus, bash MainInstall.sh. Warten Sie auf die Bestätigungsmeldung. Erfolgsmeldung 2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation erfolgreich. Fehlermeldung 2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation fehlgeschlagen. Weitere Informationen finden Sie in der Datei "installer.log".
-
Installation überprüfen Führe im Terminal den Befehl docker ps aus und stelle sicher, dass der livekit-server-Container (und der livekit-sip-Container, falls aktiviert) läuft.
Konfigurieren von SIP
Im Gegensatz zur LiveSwitch-Engine verwendet die LiveKit-Engine nicht das FM-Admin-Webpanel für die SIP-Konfiguration. Stattdessen konfiguriere auf dem Signalling-Knoten den SIP-Trunk direkt im livekit-Block von Config/config.conf:
livekit {
...
sipTrunkName = "<dein Trunk-Name>"
sipTrunkAddress = "<deine SIP-Trunk-Adresse>"
sipTrunkNumber = "<deine SIP-Trunk-Nummer>"
sipTrunkAuthUser = "<SIP-Trunk-Auth-Benutzername>"
sipTrunkAuthPassword = "<SIP-Trunk-Auth-Passwort>"
}
Nachdem du diese Werte auf dem Signalling-Knoten bearbeitet hast, führe bash MainInstall.sh erneut auf dem Signalling-Knoten aus, um die Änderung anzuwenden, und starte dann den cas-Container auf dem Signalling-Knoten neu:
docker restart cas
Aufzeichnungsknoten
Aufzeichnungsknoten sollten in einem privaten Netzwerk ausgeführt werden. Auf Aufzeichnungsknoten können Sie eine oder mehrere Instanzen ausführen von:
- hcr (Aufzeichnungscontainer. Anzahl der hcr-Container entscheidet über gleichzeitige Aufnahmen, die ausgeführt werden können)
- recordingserver (WebServer zur Bereitstellung von Aufzeichnungsdateien an CPS. 1 pro Aufnahme-Knoten)
Aufzeichnungsknoten müssen erreichbar sein unter:
- TCP 80 vom lokalen Netzwerk, sodass CPS die Aufzeichnungen herunterladen kann.
- TCP 5000-5100 vom lokalen Netzwerk, einzelne Aufzeichnungscontainer werden an Host-Ports in diesem Bereich gebunden.
- TCP 8090 vom lokalen Netzwerk.
Aufzeichnungsknoten sollten die Medienknoten auf der öffentlichen IP an den im Abschnitt “Medienknoten“ aufgeführten Ports und zu CPS auf Port 443 erreichen können, damit eine erfolgreiche Aufzeichnung erfolgen kann.
Prozedur
-
Hosts-Datei bearbeiten Füge die gleiche /etc/hosts-Zeile hinzu, die im Verfahren des Signalling-Knotens oben dokumentiert ist (<private-ip> controller.livekit.svc.cluster.local nats.livekit.svc.cluster.local redis.ncc.svc.cluster.local postgres.ncc.svc.cluster.local cas.ncc.svc.cluster.local config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local) ebenfalls zur /etc/hosts-Datei dieses Knotens, wobei <private-ip> auf die private IP des Signalling-Knotens gesetzt wird.
-
Bearbeiten der Konfigurationsdateien
- Kopiere config.conf vom Signalling-Knoten, ~/ncc-onprem-installer/Config/config.conf – siehe den Signalling-Knoten-Abschnitt oben für die dort erforderlichen Aktualisierungen; der Schlüssel hostnames.recordingNode sollte bereits auf die private IP dieses HCR-Knotens zeigen.
- Bearbeite nun ~/ncc-onprem-installer/Config/containers.conf.Die Anweisungen zum Bearbeiten der Datei werden als Kommentare in die Datei eingefügt.
- Auf einem Aufzeichnungsserverknoten würden Sie Folgendes installieren:
- recordingContainer
- recordingserver
- Legen Sie also count >= 1 für recordingContainer und 0 für alle anderen fest. recordingServer wird automatisch installiert.
AnmerkungPro 8 CPUs kann ein Aufzeichnungscontainer vorhanden sein. Zum Beispiel solltest du auf einer 16-CPU-Maschine maximal 2 Aufnahme-Container haben.
-
Führe das Hauptinstallationsskript aus. Wechsle zum Hauptinstaller-Verzeichnis. cd ~/ncc-onprem-installer/ Führe das Hauptinstallationsskript aus, bash MainInstall.sh.Warten Sie auf die Bestätigungsmeldung. Erfolgsmeldung 2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.Fehlermeldung 2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed.Weitere Informationen finden Sie in der Datei "installer.log".
-
Installation überprüfen Führe im Terminal-Fenster den Befehl docker ps aus und stelle sicher, dass die hcr- und recordingserver-Container laufen.
ASR-Knoten
ASR- oder Untertitelknoten sollten in einem privaten Netzwerk ausgeführt werden. Auf ASR-Knoten führst du Instanzen von Folgendem aus:
- asrCaptionerCpu
- asrClient (LiveKit Agents Dispatcher, der Beschriftungsaufträge an asrCaptionerCpu weiterleitet)
Beide werden nur installiert, wenn livekit.enabled=true.
-
Hosts-Datei bearbeiten Füge die gleiche /etc/hosts-Zeile hinzu, die im Verfahren des Signalling-Knotens oben dokumentiert ist (<private-ip> controller.livekit.svc.cluster.local nats.livekit.svc.cluster.local redis.ncc.svc.cluster.local postgres.ncc.svc.cluster.local cas.ncc.svc.cluster.local config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local) ebenfalls zur /etc/hosts-Datei dieses Knotens, wobei <private-ip> auf die private IP des Signalling-Knotens gesetzt wird.
-
Bearbeiten der Konfigurationsdateien.
- Kopiere config.conf vom Signalling-Knoten, ~/ncc-onprem-installer/Config/config.conf – siehe den Signalling-Knoten-Abschnitt oben für die dort erforderlichen Aktualisierungen.
- Bearbeiten Sie jetzt ~/ncc-onprem-installer/Config/containers.conf.
- Auf einem ASR-Server-Knoten würdest du installieren: asrCaptionerCpu, asrClient. Lege daher count=1 für asrCaptionerCpu und asrClient fest.
-
Ausführen des Hauptinstallationsprogrammskripts. Wechsle zum Hauptinstaller-Verzeichnis cd ~/ncc-onprem-installer/ Führe das Hauptinstallationsskript aus, bash MainInstall.sh.Warten Sie auf die Bestätigungsmeldung. Erfolgsmeldung 2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.Fehlermeldung 2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed.Weitere Informationen finden Sie in der Datei "installer.log".
-
Füge die untenstehenden Konfigurationen in der custom.ini aller CONNECT Server hinzu, die sich unter <Installation_Dir>/Connect/custom.ini befinden.
# kommagetrennte Liste der CAS-Discovery-URLs # Mögliche Werte WEBRTC_CAS_DISCOVERY_URLS=http://<Signalling Knoten IP >:18443/api/cps/ingest WEBRTC_CAS_DISCOVERY_URLS=http://<Load-Balancer-URL>/api/cps/ingest # Gemeinsames Geheimnis für CAS, wird verwendet, um Anfragen an CAS zu signieren.Geben Sie den Wert ein, den Sie unter dem Abschnitt „hmac“ in der Datei „config.conf“ auf dem Signalisierungsknoten festgelegt haben. WEBRTC_CAS_SHARED_SECRET - # Gemeinsames Geheimnis für JWT. Geben Sie den Wert ein, den Sie unter dem Abschnitt „jwtZonalSecrets“ in der Datei „config.conf“ auf dem Signalisierungsknoten festgelegt haben. CAS_JWT_SHARED_SECRET=<CorrectHorseBatteryStaple> # LiveKit-Engine für Enhanced Audio-Video aktivieren ENABLE_LIVEKIT=true DEFAULT_LIVEKIT_FOR_ACCOUNTS=true
-
Speichern Sie die Datei und starten Sie den ConnectPro-Dienst neu.
-
Rufe die folgende API auf:
https://server_domain/api/xml?action=acl-field-update&field-id=1267&value=wahr&acl-id=<account-id>
Prozess nach der Installation
-
Netzwerkverbindung überprüfen. Führe den Workflow für den Verbindungstest aus, um die Netzwerkverbindung zwischen verschiedenen Knoten zu überprüfen:
- Melden Sie sich beim Signalisierungsknoten an.
- Wechsle in das übergeordnete Verzeichnis des Installers, zum Beispiel cd ~/ncc-onprem-installer/ncc-onprem-installer/
- Führe den Befehl bash check-connectivity.sh aus.
- Das Verbindungstool verwendet die angegebenen Werte in der Config.conf-Datei, um grundlegende Netzwerktests auszuführen wie:
- HTTP-Anforderungen zwischen verschiedenen Diensten
- Netzwerkverbindungstests an den erforderlichen TCP- und UDP-Ports
- Namensauflösung
- Datenbankverbindung, einschließlich des NATS Clusters
- Dieser Test überprüft die erforderliche Verbindung zwischen den Knoten und Diensten und teilt die Ergebnisse mit, um Netzwerkverbindungsprobleme zu diagnostizieren.
-
Adobe Connect Meeting mit LiveKit-basiertem erweitertem Audio und Video testen
- Erstellen Sie ein neues Meeting und stellen Sie sicher, dass die Option "Verbessertes Audio/Video" ausgewählt ist.
- Betreten Sie den Meetingraum und aktivieren Sie das Mikrofon und die Kamera.
- Wenn möglich, nehmen Sie auch von einem anderen PC oder Mobilgerät aus am Raum teil und überprüfen Sie den Audio/Video-Austausch.
- Testen Sie die Bildschirmfreigabe.
- Aufzeichnung starten Warten Sie 30s und halten Sie an. Überprüfe jetzt, ob die Aufzeichnung zugänglich ist.
Konfigurieren der TURNS-Bindung
Dies ist notwendig, um eine sichere TURN-Kommunikation zu bekommen.
Im Gegensatz zur LiveSwitch Engine gibt es keinen Schritt zum Hochladen von Zertifikaten in einem Administrator-Bedienfeld. TURNS wird direkt über dedizierte Felder im livekit-Block der config.conf konfiguriert:
- Setze livekit.turnsDomain auf den FQDN, den Clients verwenden, um TURNS zu erreichen (TLS-Relay über Port 443). Dies ist normalerweise nur erforderlich, wenn Clients von außerhalb deines Netzwerks oder von anderen Unternehmen mit restriktiven Firewall-Richtlinien eine Verbindung herstellen.
- Erstelle das Zertifikatsverzeichnis auf dem Media Server-Knoten: cd ~ && mkdir -p connect/turns
- Kopiere das SSL-Zertifikat für die TURNS-Domain nach ~/connect/turns/turns.crt und den privaten Schlüssel nach ~/connect/turns/turns.key (oder aktualisiere livekit.certFileName / livekit.keyFileName in der config.conf, wenn du andere Dateinamen verwendest).
- Führe bash MainInstall.sh aus, um die Änderung anzuwenden.
Wenn livekit.turnsDomain leer gelassen wird, ist TURNS nicht konfiguriert und Clients greifen auf STUN/TURN über UDP/TCP 3478 oder den SRTP-Medienbereich zurück.
Deinstallation
- Wechsle in das Hauptverzeichnis des Installers (Hauptverzeichnis enthält uninstall.sh), cd ~/ncc_onprem_installer.
- Führen Sie bash uninstall.sh aus.
- Führen Sie den folgenden Befehl aus, um das Datenverzeichnis der Postgres- und Redis-Datenbanken vom Signalisierungsknoten zu entfernen.
sudo rm -rf ~/connect
Dadurch werden alle NCC-Komponenten und Bilder aus dem System entfernt. Die externen Abhängigkeiten (Python-, PIP-, Virtualenv- und Python-Pakete) werden jedoch nicht gelöscht.