Hallo zusammen,
Ausgangspunkt für dieses Thema war der Thread von daniel42:
Erfahrung mit SIP-Integration GVS Smart Touch S3/S7 und UniFi Door Reader G6
BadSmiley hatte dort sinngemäß geschrieben: „Mutige vor. Warum probierst du es nicht für dich und uns?“
Nun denn: Ich habe es ausprobiert. Und nach einigen Umwegen funktioniert es tatsächlich. 🙂
Das Ergebnis
Beim Druck auf die Klingeltaste des UniFi G6 Pro Entry klingelt mein GVS Smart Touch S7. Der Anruf kann dort angenommen und wieder beendet werden.
Die Sprachübertragung funktioniert in beide Richtungen:
Die Sprachqualität ist inzwischen sehr gut, die Verzögerung gering und auch das zunächst recht hartnäckige Echo konnte ich beseitigen. Damit ist die Gegensprechfunktion aus meiner Sicht alltagstauglich.
Aktuell geht es um Klingeln, Annehmen, Auflegen und die beidseitige Audioübertragung. Die automatische Videoanzeige am S7 ist noch nicht Bestandteil der Lösung und soll der nächste Schritt werden.
Kann das G6 Pro Entry das von Haus aus?
Die kurze Antwort: Nein... jedenfalls noch nicht mit einem frei konfigurierbaren Drittanbieter-SIP-Endgerät wie dem GVS S7.
Das G6 Pro Entry kann aktuell nicht einfach über die UniFi-Oberfläche an einem beliebigen lokalen SIP-Server oder SIP-Teilnehmer angemeldet werden. Meine Lösung ist deshalb eine lokale Zwischenlösung und keine native Funktion des G6.
Ubiquiti hat die Unterstützung von Drittanbieter-SIP für das G6 Entry und G6 Pro Entry für ein zukünftiges Update angekündigt. Einen konkreten Veröffentlichungstermin gibt es bislang nicht:
Ubiquiti Community: G6 Entry und G6 Pro Entry – Third-Party SIP
Wie habe ich es umgesetzt?
Die Lösung besteht vereinfacht aus vier Bausteinen:
Der grundsätzliche Weg ist:
G6 Pro Entry / UniFi Protect ↔ Scrypted ↔ SIP/RTP ↔ GVS S7
Alles läuft ausschließlich im lokalen Netzwerk. Für meine Variante waren weder ein Cloud-SIP-Dienst noch Asterisk oder eine Telefonanlage erforderlich.
Welche Zusatzsoftware wird benötigt?
Mein getesteter Stand besteht aus:
Getestet habe ich mit:
Die Versionsangaben dokumentieren nur meinen funktionierenden Teststand und sind nicht zwingend als Mindestversionen zu verstehen.
Was erledigt das eigene Skript?
Scrypted bringt bereits sehr viel mit, verbindet das G6 und ein SIP-Endgerät aber nicht automatisch zu einer vollständigen Türsprechanlage.
Mein Skript übernimmt daher:
Zusätzlich waren bei der verwendeten Version des SIP-Plugins einige lokale, reversible Anpassungen nötig. Diese betreffen unter anderem die SDP-Auswertung des S7, die Behandlung eines entfernten BYE, das RTP-Paketformat und die Echounterdrückung.
Es ist daher noch keine reine „Plugin installieren und fertig“-Lösung. Etwas Handarbeit bleibt erforderlich.
Die eigentliche Schwierigkeit: das Echo
Der reine Gesprächsaufbau war am Ende nicht das größte Problem. Anspruchsvoller war die Audioverarbeitung.
Der Ton des S7 wird am Lautsprecher des G6 ausgegeben, vom Mikrofon des G6 wieder aufgenommen und anschließend zurück zum S7 übertragen. Ohne passende Echounterdrückung hört man am S7 deshalb seine eigene Stimme zeitversetzt.
Ich verwende dafür die WebRTC-Echounterdrückung von GStreamer. Als Referenzsignal dient der Audiostrom vom S7 zum G6. In meinem Aufbau habe ich für den akustischen Rückweg etwa 500 bis 600 ms gemessen. Die Referenz musste entsprechend zeitlich zum Mikrofonsignal ausgerichtet werden.
Nach der Abstimmung ist das Gespräch klar, in beide Richtungen verständlich und nahezu echofrei.
Einschränkungen und Ausblick
Die Lösung funktioniert bei mir, ist aber noch kein fertiges Universalpaket.
Gerätekennungen, SIP-Ziel, Pluginversionen und gegebenenfalls die Abstimmung der Echounterdrückung müssen an die jeweilige Installation angepasst werden. Updates des SIP-Plugins können außerdem die lokalen Änderungen überschreiben.
Bei mir noch offen sind:
Audio, Klingeln, Annehmen und Auflegen funktionieren dagegen bereits zuverlässig.
Wenn Interesse besteht, kann ich den Aufbau in weiteren Beiträgen genauer dokumentieren – beispielsweise mit einer Architekturübersicht, den relevanten Einstellungen und anonymisierten Ausschnitten aus dem Brückenskript.
Vielen Dank insbesondere an daniel42 für den ursprünglichen Anstoß und an BadSmiley für den kleinen Schubs in Richtung Praxistest. Ich hoffe, damit dem Forum etwas von den vielen hilfreichen Informationen zurückgeben zu können, die ich dort selbst schon gefunden habe. 🙂
Ausgangspunkt für dieses Thema war der Thread von daniel42:
Erfahrung mit SIP-Integration GVS Smart Touch S3/S7 und UniFi Door Reader G6
BadSmiley hatte dort sinngemäß geschrieben: „Mutige vor. Warum probierst du es nicht für dich und uns?“
Nun denn: Ich habe es ausprobiert. Und nach einigen Umwegen funktioniert es tatsächlich. 🙂
Das Ergebnis
Beim Druck auf die Klingeltaste des UniFi G6 Pro Entry klingelt mein GVS Smart Touch S7. Der Anruf kann dort angenommen und wieder beendet werden.
Die Sprachübertragung funktioniert in beide Richtungen:
- G6 Pro Entry → GVS S7
- GVS S7 → G6 Pro Entry
Die Sprachqualität ist inzwischen sehr gut, die Verzögerung gering und auch das zunächst recht hartnäckige Echo konnte ich beseitigen. Damit ist die Gegensprechfunktion aus meiner Sicht alltagstauglich.
Aktuell geht es um Klingeln, Annehmen, Auflegen und die beidseitige Audioübertragung. Die automatische Videoanzeige am S7 ist noch nicht Bestandteil der Lösung und soll der nächste Schritt werden.
Kann das G6 Pro Entry das von Haus aus?
Die kurze Antwort: Nein... jedenfalls noch nicht mit einem frei konfigurierbaren Drittanbieter-SIP-Endgerät wie dem GVS S7.
Das G6 Pro Entry kann aktuell nicht einfach über die UniFi-Oberfläche an einem beliebigen lokalen SIP-Server oder SIP-Teilnehmer angemeldet werden. Meine Lösung ist deshalb eine lokale Zwischenlösung und keine native Funktion des G6.
Ubiquiti hat die Unterstützung von Drittanbieter-SIP für das G6 Entry und G6 Pro Entry für ein zukünftiges Update angekündigt. Einen konkreten Veröffentlichungstermin gibt es bislang nicht:
Ubiquiti Community: G6 Entry und G6 Pro Entry – Third-Party SIP
Wie habe ich es umgesetzt?
Die Lösung besteht vereinfacht aus vier Bausteinen:
- UniFi Protect stellt den Medienstream des G6 Pro Entry und dessen Talkback-Kanal bereit.
- Scrypted übernimmt die lokale Anbindung an UniFi Protect.
- Das Scrypted-SIP-Plugin stellt die SIP- und RTP-Seite zum GVS S7 bereit.
- Ein eigenes TypeScript-Skript verbindet beide Seiten und steuert den Gesprächsablauf.
Der grundsätzliche Weg ist:
G6 Pro Entry / UniFi Protect ↔ Scrypted ↔ SIP/RTP ↔ GVS S7
Alles läuft ausschließlich im lokalen Netzwerk. Für meine Variante waren weder ein Cloud-SIP-Dienst noch Asterisk oder eine Telefonanlage erforderlich.
Welche Zusatzsoftware wird benötigt?
Mein getesteter Stand besteht aus:
- Scrypted Server
- dem Scrypted-Plugin @scrypted/unifi-protect
- dem Scrypted-Plugin @scrypted/sip
- GStreamer für die Audioverarbeitung
- einem eigenen TypeScript-Skript innerhalb von Scrypted
- einem separaten lokalen UniFi-Protect-Benutzer für Scrypted
Getestet habe ich mit:
- Scrypted Server 0.143.0
- UniFi-Protect-Plugin 0.0.165
- SIP-Plugin 0.0.11
- GStreamer 1.26.11
- PCMU mit 8 kHz und 20-ms-RTP-Paketen
Die Versionsangaben dokumentieren nur meinen funktionierenden Teststand und sind nicht zwingend als Mindestversionen zu verstehen.
Was erledigt das eigene Skript?
Scrypted bringt bereits sehr viel mit, verbindet das G6 und ein SIP-Endgerät aber nicht automatisch zu einer vollständigen Türsprechanlage.
Mein Skript übernimmt daher:
- das Erkennen des Klingelereignisses am G6,
- den Aufbau des SIP-Anrufs zum S7,
- die Weiterleitung des G6-Audios zum S7,
- die Weiterleitung des S7-Audios zum Talkback-Kanal des G6,
- die Zustandsverwaltung beim Annehmen und Auflegen,
- das saubere Beenden der Medienverbindungen.
Zusätzlich waren bei der verwendeten Version des SIP-Plugins einige lokale, reversible Anpassungen nötig. Diese betreffen unter anderem die SDP-Auswertung des S7, die Behandlung eines entfernten BYE, das RTP-Paketformat und die Echounterdrückung.
Es ist daher noch keine reine „Plugin installieren und fertig“-Lösung. Etwas Handarbeit bleibt erforderlich.
Die eigentliche Schwierigkeit: das Echo
Der reine Gesprächsaufbau war am Ende nicht das größte Problem. Anspruchsvoller war die Audioverarbeitung.
Der Ton des S7 wird am Lautsprecher des G6 ausgegeben, vom Mikrofon des G6 wieder aufgenommen und anschließend zurück zum S7 übertragen. Ohne passende Echounterdrückung hört man am S7 deshalb seine eigene Stimme zeitversetzt.
Ich verwende dafür die WebRTC-Echounterdrückung von GStreamer. Als Referenzsignal dient der Audiostrom vom S7 zum G6. In meinem Aufbau habe ich für den akustischen Rückweg etwa 500 bis 600 ms gemessen. Die Referenz musste entsprechend zeitlich zum Mikrofonsignal ausgerichtet werden.
Nach der Abstimmung ist das Gespräch klar, in beide Richtungen verständlich und nahezu echofrei.
Einschränkungen und Ausblick
Die Lösung funktioniert bei mir, ist aber noch kein fertiges Universalpaket.
Gerätekennungen, SIP-Ziel, Pluginversionen und gegebenenfalls die Abstimmung der Echounterdrückung müssen an die jeweilige Installation angepasst werden. Updates des SIP-Plugins können außerdem die lokalen Änderungen überschreiben.
Bei mir noch offen sind:
- die automatische Anzeige des Kamerabildes am S7 beim Klingeln,
- der unabhängige Zugriff des S7 auf die UniFi-Kameras,
- eine updatefeste Bereitstellung der SIP-Anpassungen.
Audio, Klingeln, Annehmen und Auflegen funktionieren dagegen bereits zuverlässig.
Wenn Interesse besteht, kann ich den Aufbau in weiteren Beiträgen genauer dokumentieren – beispielsweise mit einer Architekturübersicht, den relevanten Einstellungen und anonymisierten Ausschnitten aus dem Brückenskript.
Vielen Dank insbesondere an daniel42 für den ursprünglichen Anstoß und an BadSmiley für den kleinen Schubs in Richtung Praxistest. Ich hoffe, damit dem Forum etwas von den vielen hilfreichen Informationen zurückgeben zu können, die ich dort selbst schon gefunden habe. 🙂

