Die vollständige Aufschlüsselung — jede Funktion, keine Roadmap-Einträge.
Für Käufer: diese Seite liest sich wie ein Changelog. Für die kurze Version — die zehn Gründe, die ohne Engineering-Detail zählen — auf Top 10 Gründe → springen. Für Engineers / Evaluatoren: die Liste unten ist das gesamte Feature-Set zum heutigen Stand, nach Bereich gegliedert. Das Produkt läuft komplett auf Ihrem eigenen Windows-+-IIS-Server — für Organisationen, die ihre Telefonie schon besitzen und ihre Anrufe nicht durch eine SaaS-Cloud schicken wollen, nur um Browser-Meetings zu bekommen.
Das Meeting selbst.
Video, Audio und Bildschirm — das Table-Stakes. Direkt auf dem WebRTC-Stack des Browsers gebaut, mit Mesh-Topologie, kein Media-Server.
HD-Video + Audio
1280×720 nativ; pro-Track-Audio-Echo-Cancellation, Noise-Suppression und AGC sind per Default aktiv. Kamera- und Mikrofon-Picker in den Einstellungen.
Immer aktivScreenshare
Voller Desktop, einzelnes Fenster oder Browser-Tab. Spotlight automatisch auf den Sharer; Auto-Revert auf Kamera beim Stopp.
Alle großen BrowserFront-/Back-Kamera-Wechsel
Nur Mobil. Wechselt mit einem Tap zwischen Selfie- und Rückkamera auf iPhone / Android. Andere Teilnehmer sehen den Wechsel nahtlos.
MobilEine Kachel spotlighten
Auf das Expand-Icon einer Kachel klicken → sie wird groß, die anderen werden zur Thumbnail-Leiste. Auto-Spotlight beim lokalen Screenshare. Auto-Revert beim Stopp.
UXPicture-in-Picture (beide Sorten)
Standard-PiP — einzelnes Video poppt heraus. Plus Document-PiP auf Chrome 116+ — die gesamte Meeting-UI (Grid + Chat + Controls) schwebt als größenänderbares Fenster.
Chrome 116+Mesh-Topologie
Bis ~6 Teilnehmer in einem Full-Mesh-Anruf. Jeder Browser sendet direkt an jeden anderen; kein Server im Datenpfad; Bandbreite skaliert mit N-1.
P2PReden, tippen, zeigen, teilen, reagieren.
Steht der Anruf, fließt alles andere über WebRTC-Datenkanäle — Ende-zu-Ende verschlüsselt, nie von einem Server relayed.
In-Meeting-Chat
Seitenpanel am Desktop, Vollbild am Smartphone. Markdown-sicheres Text-Rendering. Farbige Pills pro Autor. Ungelesen-Badge. Ende-zu-Ende verschlüsselt zusammen mit Audio und Video.
VerschlüsseltP2P-Dateiübertragung
Drag-and-Drop in den Chat; gechunkt über den Datenkanal; Live-Progress; Empfänger lädt eine echte Datei. Bis 1 GB pro Datei. Trifft nie den Server.
DatenschutzRemote-Pointer
Cursor über eine Kachel bewegen; alle anderen sehen einen beschrifteten Pfeil am selben Punkt. Klick löst Ripple aus. Touch wird unterstützt. Kachel-lokal; keine Input-Injection.
KollaborationSticky Notes auf dem Screenshare
Doppelklick auf eine Kachel im Sticky-Modus → farbiger Zettel erscheint dort. Editierbar, Autor-getaggt, mit Zeitstempel. Über alle Peers synchronisiert.
Demo / SchulungReaktionen + erhobene Hand
Sechs Emoji-Reaktionen schweben über der Sender-Kachel auf und lösen sich auf. Hand-hoch setzt einen wedelnden Badge mit Auto-Ankündigung im Chat.
UX-PoliturLokale Meeting-Aufzeichnung
Composite-Canvas aller Kacheln + AudioContext-gemixtes Audio → WebM (VP9 + Opus). Direkt auf der Maschine des Aufnehmenden gespeichert. Nichts hochgeladen.
Nur lokalGeteiltes Whiteboard
Vollbild-Canvas-Overlay, auf dem alle zeichnen können — Stift, Radierer, fünf Farben, Undo, Clear. Striche synchronisiert über denselben Chat-Datenkanal; kein zusätzlicher Server-Endpoint.
Synchronisierte StricheBreakout-Räume
Host teilt den Raum in 2–4 Gruppen für 2–30 Minuten. Jeder Peer connectet zu seinem zugewiesenen Sub-Raum. Mit einem Klick zwischen Gruppen wechseln oder zurück zum Hauptraum. Spät hinzugekommene können aus einer Live-Liste wählen.
Server-unterstütztWas das zu einem CodeB-Produkt macht.
Die codeb.io-These angewendet auf Konferenz: keine Third-Party-Cloud, keine Telemetrie, keine Daten verlassen je das Kunden-Netzwerk — außer der Kunde routet sie explizit extern.
Ende-zu-Ende-DTLS-SRTP
Medien-Keys werden Peer-to-Peer beim Anruf-Setup ausgehandelt. Der Server kann nicht entschlüsseln; selbst ein TURN-Relay sieht nur Ciphertext.
WebRTC-StandardSperrbare Räume + Knock-to-Join
Raum sperren → neue Beitretende landen in Pending. Bestehende Teilnehmer admittieren oder verweigern. Fremde erreichen den Anruf nie ohne explizites Einverständnis.
Server-GateForensisch signierte Aufzeichnung
Jede Aufzeichnung kommt mit einer Sidecar-JSON: SHA-256 der Datei, ECDSA-P256-Signatur, Teilnehmerliste, Sprecher-Wechsel-Timeline. Tamper-evident.
Audit-tauglichAufzeichnungs-Einwilligungs-Gate
Auf Aufnehmen klicken — jeder andere Peer bekommt einen Erlauben-/Ablehnen-Prompt. Die Aufnahme startet nicht, bis alle zustimmen. Jede Entscheidung wird in der ECDSA-signierten Sidecar geloggt — kryptografischer Beweis, wer wann zustimmte.
ComplianceVerified-by-CodeB-Badge
Teilnehmer, die von einem Arbeitsplatz mit laufendem Credential Provider V2 beitreten, zeigen ein bernsteinfarbenes Schild neben ihrem Namen. Sichtbare Identitäts-Attestation im Meeting selbst.
CP-V2-IntegrationZeitlich begrenzte TURN-Credentials
Wenn der Relay im Spiel ist, werden Credentials pro Session gemintet und laufen automatisch nach einer Stunde ab. Im Seiten-Quelltext steht nie ein statisches Passwort, das ein Angreifer einsammeln könnte.
KurzlebigOn-Prem-Windows-TURN
CodeBTurn läuft als Windows-Service im LAN des Kunden. Kein Docker, keine Linux-Abhängigkeit. Bleibt on-prem; air-gap-deploybar.
Windows-nativKleine Dinge, die sich aufsummieren.
Die hundert Details, die den Unterschied machen zwischen einem Meeting-Tool, das man benutzt, weil man muss, und einem, das man tatsächlich gern benutzt.
Auto-Spotlight auf Sprecher
Wer am lautesten spricht, wird automatisch zur Spotlight-Kachel. Kurzer Cooldown verhindert Flackern. Abschaltbar.
OptionalVerbindungs-Qualitätsbalken
Pro-Kachel-Signalbalken zeigen Round-Trip-Zeit, Paketverlust und Bitrate. Farbcodiert, sodass man einen kämpfenden Peer auf einen Blick erkennt.
DiagnoseAuto-Reconnect
Bei einem Netzwerk-Blip erholt sich der Anruf selbst: ein kurzes „Wiederverbinden…“-Banner erscheint, Peer-Verbindungen werden neu aufgebaut, und das Meeting läuft weiter, ohne dass jemand erneut beitreten muss.
ZuverlässigkeitAudio-Aufzugsbremse
Plötzliche Lautstärke-Spitzen auf einem Remote-Stream werden automatisch gedämpft, und die Kachel des Sprechers bekommt einen dezenten ?!-Badge, sodass niemand aus dem Anruf gesprengt wird.
AutoPro-Kachel-Lautstärke-Slider
Hover über eine Remote-Kachel → kleiner vertikaler Slider oben rechts. Unabhängige Lautstärke pro Teilnehmer, 0–200%. Lokal in Ihrem Tab, ändert nichts an anderen Hörern.
Pro TeilnehmerIdle-Kamera-Dim
Verliert Ihr Tab den Fokus, fällt Ihr ausgehendes Video auf eine niedrige Bitrate. Es kommt sofort in voller Qualität zurück, sobald Sie zurückkehren. Spart Bandbreite für die anderen ohne Mute.
Zero-ConfigResponsives Layout
Einzelne Kachel, 2-Spalten-, 3-Spalten-Raster basierend auf Teilnehmerzahl. Mobilfreundliche Steuerung. Safe-Area-Inset-aware für die Notch.
Alle GeräteQR-Code-Beitritt
Die Landingseite generiert beim Tippen einen Live-QR für die Raum-URL. Lokal in der Seite erzeugt — kein Drittanbieter-Dienst, funktioniert komplett offline.
Self-hostedTastatur-Shortcuts
M mute · V Kamera · S Share · C Chat · E Spotlight · H Hand · P PiP · Space Push-to-Talk.
Power-UserPersistente Einstellungen
Name, Gerätewahl, Spiegelung, Push-to-Talk, Auto-Spotlight, Pointer, Blur, Join-Muted, Join-Cam-Off — alles über Browser-Sessions hinweg gemerkt. Lokal gespeichert; nie an einen Server gesendet.
Nur lokalHintergrund-Blur
On-Device-Segmentierung: Sie bleiben scharf, Ihr Hintergrund wird weich. Läuft komplett im Browser; kein Bild verlässt die Maschine zur Verarbeitung.
Optional · GPULive-Geräte- + Namens-Änderung
Mikrofon, Kamera oder Anzeigename mid-call wechseln, ohne die Verbindung zu droppen. Peers sehen eine System-Nachricht und ein aktualisiertes Kachel-Label.
Mid-CallBandbreiten-adaptive Stufe
Ausgehendes Video stuft pro Empfänger herab durch 720p → 480p → 360p → nur Audio, wie die Linkqualität es verlangt. Jeder Peer bekommt die beste Stufe, die seine Verbindung trägt — der Langsamste zieht nicht alle anderen runter.
Pro PeerRoute- + Qualitäts-Badge
Jede Remote-Kachel trägt einen kleinen Chip — LAN · 1080p, P2P · 720p oder Relayed · 480p — sodass Sie bestätigen können, dass der Link wirklich Peer-to-Peer ist (oder sehen, wenn nicht).
Telefone sind erstklassige Teilnehmer — über Ihre eigenen Carrier.
Ein self-gehostetes WebRTC ↔ SIP-Gateway mit voller Bring-Your-Own-Carrier-Unterstützung (BYOC): einen Meeting-Raum in ein anrufbares Ziel verwandeln — oder eine Telefonnummer in einen Meeting-Teilnehmer — über die SIP-Trunks, die Sie schon bezahlen. Einen Call-Us-Button auf jeder Webseite ablegen; der Empfänger nimmt auf seinem normalen Telefon ab und landet in einem CodeB-Meeting neben allen anderen. Kein Telefonie-Reseller im Pfad.
WebRTC ↔ SIP-Bridge
Ein kleiner On-Prem-Dienst, der sich als SIP-Nebenstelle auf Ihrer TK-Anlage oder Ihrem Trunk-Anbieter registriert. Wählt die Bridge eine Nummer, tritt das antwortende Telefon dem Meeting als normaler Audio-Teilnehmer bei. Standard-Codecs auf beiden Seiten; kein Drittanbieter-Transcoding.
On-PremEin-Klick-Anruf von jeder Webseite
Eine einzige URL auf eine Support-Seite, ein Kontaktformular oder eine Signatur. Öffnet der Besucher sie, wählt die Bridge automatisch das Team-Telefon, und der Besucher tritt von seinem Browser aus demselben Meeting-Raum bei. Keine Installation, kein Plug-in, kein Drittanbieter-Redirect. Perfekt für „Jetzt mit dem Vertrieb sprechen“-Buttons.
EinbettbarGeheime Alias-IDs halten echte Nummern von öffentlichen Seiten fern
Jedes anrufbare Ziel bekommt ein nicht erratbares 64-Bit-Alias. Öffentliche URLs nutzen das Alias — ?dial=n_a3b7c2d4e8f1a9b3 — sodass die echte Telefonnummer nie in Ihrem Seiten-Quelltext, E-Mail-Signaturen oder Druckmaterial auftaucht. Aliase können rotiert werden, ohne das Ziel zu ändern.
Bring Your Own Carrier (BYOC) — jeder SIP-Trunk funktioniert
Echtes BYOC: funktioniert mit jeder standardkonformen TK-Anlage oder jedem Trunk-Anbieter — Consumer-Router, On-Prem-PBX-Appliances, gehostete ITSPs, Tier-1-SIP-Wholesaler. Credentials liegen in der lokalen Config der Bridge; nichts läuft über einen Drittanbieter-Vermittler. Ihre Anrufdatensätze gehören Ihrem Carrier, Ihre Minuten werden auf Ihrer bestehenden Vereinbarung abgerechnet, und Sie können Carrier wechseln, ohne CodeB zu ändern.
BYOC-SIP · kein Vendor-Lock-inMulti-Trunk mit Priorität & Failover
Mehrere Trunks definieren, jedem eine Priorität geben. Ein Anruf nutzt den höchstprioren Trunk mit freier Kapazität; ist der gewählte Trunk besetzt oder unerreichbar, wechselt die Bridge transparent zum nächsten. Pro-Trunk-Concurrent-Call-Caps lassen Single-Line-Privatkunden-Trunks und High-Density-SIP-Trunk-Provider in demselben Setup koexistieren.
HochverfügbarPro-Nummer-Routing-Regeln
Regeln wie „Nebenstelle 610 wählt immer über die Büro-TK-Anlage“ oder „alles in +356 geht über den Malta-Trunk“ definieren. Wildcards und E.164-Präfixe werden beide unterstützt. Nützlich, wenn verschiedene Ziele aus Compliance- oder Kostengründen verschiedene Carrier-Pfade brauchen.
Per-Call-Dial-Prefix pro Trunk
Jeder Trunk hat ein optionales Dial-Prefix (z. B. *31# auf europäischen Carriern), das automatisch E.164-Zielen vorangestellt wird. Für per-Call-Caller-ID-Unterdrückung, Premium-Route-Opt-Out-Codes oder jedes Carrier-spezifische Wählsignal, das einheitlich auf jeden ausgehenden Anruf durch diesen Trunk angewendet werden soll. Interne Nebenstellen werden nie präfixiert.
Strikte Nummern-Whitelist
Die Bridge wählt nur Nummern, die der Betreiber explizit aufgeführt hat. Ein Angreifer, der eine Dial-URL findet, kann sie trotzdem nicht auf ein Premium-Rate-Ziel umlenken — die Whitelist ist das Gate, das Alias-ID ist nur eine Abkürzung zu einer Zeile darin.
Zero-Trust-Dial-OutGeographische Präfix-Beschränkung
Betreiber-konfigurierbare E.164-Präfix-Allowlist. Liefern Sie ein Deployment, das nur europäische Ziele wählen kann (oder eine beliebige Teilmenge, die Sie definieren). Plus eine Blocklist für Premium-Rate-Bereiche, die immer gewinnt, auch wenn ein Whitelist-Eintrag versehentlich einen enthält.
CompliancePer-Call-Fraud-Caps
Harte Limits für gleichzeitige ausgehende Anrufe, maximale Anrufdauer, tägliche Anrufzahl pro Raum und pro Anforderer-IP. Selbst bei durchbrochener Whitelist kann ein Angreifer keine unbeschränkte Carrier-Rechnung anhäufen, bevor der Cap ihn stoppt.
Toll-Fraud-GuardE.164 + PBX-Nebenstellen funktionieren beide
Internationale Nummer, interne Nebenstelle eines Privatkunden-Routers oder PBX-Dialplan-Nummer wählen. Die Bridge normalisiert das Format und wendet die richtige SIP-User-Part für den gewählten Trunk an — eine konsistente Wähl-Syntax unabhängig vom Carrier.
Format-agnostischText-to-Speech-Auto-Reply
Bestimmte eingehende Anrufer mit einer vorgefertigten Nachricht beantworten, statt das CodeB Webphone klingeln zu lassen. Regeln in der Config definieren: eine Störnummer mit „diese Leitung ist geschlossen, auf Wiederhören“ blacklisten, einen Außer-Dienst-Gruß auf eine bestimmte DID senden, jede vorbereitete Antwort spielen. Die Bridge handhabt den SIP-Answer, spielt die Nachricht, hängt auf — kein Mensch hebt ab.
RegelgesteuertLänderbewusste Sprach-Antworten
Anrufer per Ländercode matchen — ISO-2 (CN, DE, IL), Ländername (China) oder rohes E.164-Präfix (+86). Pro Land eine andere Sprache spielen: „I do not speak Mandarin“ für +86-Anrufer, deutsche Sprechzeiten-Ansage für +49, englischer Fallback für alle anderen. Nummern ohne internationales Präfix matchen keine Länderregeln — vermeidet Falschtreffer auf nationalformatigen Caller-IDs.
Lokale TTS-Engine, keine Cloud
Nutzt per Default die in Windows eingebaute Speech-Engine (SAPI) — kein API-Key, kein externer Service, keine Daten verlassen den Host. Stimmen sind pro Deployment konfigurierbar; installieren Sie das deutsche Voice-Pack, und Ihr „Anrufer nicht verfügbar“ klingt nativ. Die Auto-Reply-Pipeline pre-rendert jede Regel beim Start zu G.711, sodass der erste passende Anruf in Millisekunden mit null Per-Call-TTS-Latenz beantwortet wird.
Privacy-safeBegrenzte, missbrauchsresistente Wiedergabe
Jeder Auto-Reply hat einen harten Per-Rule-Dauer-Cap, zählt gegen das globale Concurrent-Call-Limit, sendet 180 Ringing vor dem Antworten, damit Carrier-Jitter-Buffer aufwärmen, voranstellt eine konfigurierbare Lead-in-Stille, damit keine Silbe abgeschnitten wird, und bricht sofort bei Caller-CANCEL ab. Eine Flut von geblacklisteten Anrufern kann den Trunk nicht monopolisieren — Cap greift, Carrier rollt sauber zu Voicemail / nächstem Schritt.
Safe-by-defaultEin Voice-AI, der tatsächlich abhebt.
Eine Nummer auf CodeB zeigen lassen, Echtzeit-Voice-Modus wählen, einen System-Prompt einfügen. Der nächste eingehende Anruf wird von einem Echtzeit-Voice-AI beantwortet, der jede Sprache spricht, dem Skript folgt, Nachrichten annimmt, an ein menschliches SoftPhone übergibt, wenn der Anrufer es will, und das Transkript mailt, wenn der Anruf endet. Branchen-Beispiel: Hotellerie — eine Rezeption, drei Personas (Rezeption, Restaurant, Spa), 24 Stunden am Tag. Alle auf diesem Host konfigurierten virtuellen Nummern im virtual-numbers-Verzeichnis durchsuchen.
Echtzeit, nicht Record-and-Respond
Vollduplex-Audio über die SIP-Leg, die der Anrufer gewählt hat. Hört den Anrufer beim Sprechen, kann mid-sentence unterbrochen werden, antwortet mit Sub-Sekunden-Latenz. Kein „bitte warten Sie, während ich nachdenke“-Pausen. Das Echtzeit-Voice-Backend ist pro Deployment austauschbar.
Echtzeit-VoiceJede Sprache, on-the-fly
Erkennt die Sprache des Anrufers und antwortet darin. Wechselt mid-call, wenn der Anrufer wechselt. Das Skript kann eine Default-Grußsprache pinnen oder das Modell entscheiden lassen.
MehrsprachigEine Persona pro Nummer
Jede virtuelle Nummer bekommt ihren eigenen System-Prompt, Stimme, Eröffnungszeile und Aufwärmverzögerung. Ein Hotel kann Rezeption, Restaurant und Spa auf drei Nummern fahren — dieselbe AI-Engine, drei Persönlichkeiten, ein Deployment.
Pro-Nummer-ConfigWhitelisted Transfer zu einem Menschen
Der Receptionist entscheidet mittels strukturiertem transfer_to_user-Tool, wann transferiert wird. Registrierte SoftPhones gehen direkt über SIP-REFER; externe Telefonnummern sind durch die pro-Mandant Nummern-Whitelist gated und werden fail-closed abgelehnt, wenn off-list. FraudGuard re-checkt auf dem Loopback für Defense-in-Depth.
Selbstbeendend — mit Begründung
Ein hangup-Tool lässt das Modell den Anruf selbst beenden mit einer geloggten Begründung (Anrufer hat verabschiedet, missbräuchlich, Voicemail-Loop). Begründungen landen im Transkript und CDR, sodass Sie Muster erkennen — nützlich beim Tuning eines Prompts gegen echte Anrufdaten.
Ein Raum pro Anrufer
Browser-Dial-in-URLs können room=random nutzen, um einen frischen, isolierten Raumnamen pro Session zu minten. Zwei Besucher, die auf dem selben Link landen, teilen nie einen Raum — der AI hört nie versehentlich die Vorgänger-Seite des Gesprächs.
Prompt-Edit delegieren
Jede virtuelle Nummer führt ein editors-Adressbuch und exponiert eine Per-Nummer-Editor-URL, die Sie an dieses Team teilen können. Der Duty-Manager schreibt das Skript für die Nacht um, ohne die Admin-Seite zu öffnen, der Maître d’ tuned die Restaurant-Persona. Sichtbarkeit — admin / signed-in / anonymous — steuert, wer die Zeile im öffentlichen Verzeichnis sehen kann.
Delegierte ConfigTranskript + Zusammenfassung per E-Mail
Jeder Anruf endet mit einem vollen Transkript und einer Ein-Absatz-Zusammenfassung, an die Per-Nummer-Empfänger-Liste gesendet. Liest sich, als hätte ein Mensch Notizen gemacht. Sonst wird nichts auf dem Server per Default behalten — keine stillen Aufzeichnungen.
Keine stillen AufzeichnungenAntwortet immer — TTS-Fallback
Wenn die konfigurierten Provider-Credentials fehlen oder das Modell unerreichbar ist, fällt die Bridge automatisch auf einen serverseitigen TTS-Auto-Reply zurück, sodass der Anrufer nie auf tote Stille trifft. Das CDR vermerkt den Fallback.
ResilientVollständige Feature-Seite mit dem Hospitality-Sample-Setup, Konfigurations-Walkthrough und FAQ → ai-receptionist.html
Die KI ruft an — pünktlich, mit Wiederholungen, mit echten Menschen in Bereitschaft.
Die andere Hälfte von Sprach-KI: ausgehend. Ein angemeldeter Admin öffnet das outbound-ai-call-Formular, gibt eine Nummer und einen System-Prompt ein (oder ein einziges Wort, das prompts/<wort>.txt adád), wählt optional einen Zeitpunkt und einen Wiederholungsplan. Die Bridge wählt über Ihre eigenen SIP-Trunks zum gewählten Zeitpunkt, der KI-Agent begrüsst den Angerufenen sofort beim Abnehmen, verbindet auf Wunsch zu einem echten Menschen und versendet nach jedem Versuch ein Protokoll — auch nach gescheiterten. Gebaut für Feedback-Anrufe, Termin-Erinnerungen, No-Show-Nachfassen, Kundenpflege-Rückrufe — überall, wo eine menschliche Stimme am Hörer besser ist als eine SMS.
Routing in der Bridge
Ausgehende Anrufe und Vermittlungen wählen ihren Trunk nach den mandantenspezifischen OutboundRouteRules. Ein B2BUA-Splice hält die Bridge in der Mitte — Trunk-übergreifende Vermittlungen (Anrufer auf Carrier A, Ziel auf Carrier B) funktionieren ohne Abhängigkeit von SIP REFER der vorgeschalteten Anlage. Failover ist automatisch bei Quick-Fail.
B2BUATermin frei wählbar
Wählen Sie einen Zeitpunkt auf der Bridge-Uhr, der Anruf feuert dann. Vergangene gespeicherte Zeiten werden beim Laden auf jetzt + 1 Minute begrenzt. Quick-Set-Chips für „heute Abend 20:00“ / „morgen 09:00“ / „+5 Minuten“. Bis zu 30 Tage vorausgeplant.
Geplanter AnrufAutomatische Wiederholungen
Sie definieren Anzahl der Wiederholungen und Minutenabstand. Die Bridge wiederholt bei Nichtannahme, besetzt, abgelehnt, Trunk-Fehler, no-trunk und Gemini-Fehler. Sie wiederholt explizit NICHT, wenn der Angerufene tatsächlich gesprochen hat — not-now, wrong-person, voicemail, off-topic, abuse stoppen die Kampagne. Jeder Versuch erhält seine eigene Status-Mail mit dem Tag „Versuch N von M“.
Whitelist-Übergabe an echte Menschen
Die KI kann mitten im Gespräch zu einem festen Kreis von Zielen weiterleiten (Nebenstellen oder PSTN-Nummern, im Prompt definiert). Die Bridge baut einen frischen Anruf zum Ziel auf, verbindet beide Seiten per RTP-Splice, beendet die KI-Seite — ganz ohne PBX-REFER, Trunk-übergreifend. Antwortet ein Ziel nicht, bietet die KI das nächste an. Alles ausserhalb der Whitelist wird fail-closed abgewiesen.
Multi-Ziel-VermittlungPrompt per Name, live editierbar
Tippen Sie ein einzelnes Wort (callagent, shortletsmalta) ins System-Prompt-Feld und die Bridge lädt prompts/<wort>.txt aus dem Mandanten-Prompts-Ordner zum Anrufzeitpunkt. Editieren Sie die Datei zwischen Versuchen — der nächste Anruf nutzt automatisch den neuen Inhalt. Derselbe Prompt-Speicher versorgt auch die eingehenden KI-Rezeptionisten.
Eine E-Mail pro Versuch
Jeder Versuch verschickt eine Transkript-Mail an den Operator mit Betreff „completed“, „transferred“ oder „FAILED — Grund“, samt „Versuch N von M“ und einer Zeile, ob ein weiterer Versuch geplant ist. Erfolgreiche Weiterleitungen werden als Erfolg klassifiziert, nicht als Abbruch. Vollständig auditierbar über die ganze Kampagne, in Klartext.
Status pro VersuchSpricht zuerst — keine peinliche Stille
Sobald der Angerufene abnimmt, sendet die Bridge an Gemini einen synthetischen Trigger, damit das Modell sofort seinen Begrüssungssatz generiert. Kein „hallo? hallo?“ mehr während die KI auf Eingabe-Audio wartet. Gleiche Latenz wie beim eingehenden Rezeptionisten.
Kickstart-TurnFraudGuard + Whitelist + OIDC-Admin
Ausgehende Anrufe respektieren die mandantenspezifische Whitelist; das Admin-Formular trägt die Zielnummer automatisch ein. FraudGuard-Zähler gelten pro IP und pro Raum, sodass ein gestohlener API-Schlüssel keine unbegrenzten Anrufe auslösen kann. Das Formular selbst sitzt hinter OIDC-Admin-Login — nur Mitglieder der Admin-Rolle können Kampagnen auslösen.
Abgeriegelte OperationenAnwendungsfälle: Feedback-Anrufe nach dem Aufenthalt, Termin-Erinnerungen, No-Show-Nachfassen, Zahlungserinnerungen, Kulanz-Rückrufe, Kunden-Check-ups, Churn-Ansprache. Überall, wo eine menschliche Stimme am Hörer besser ist als SMS oder E-Mail.
Ein Telefon, das im Browser wohnt.
Jenseits ad-hoc Meeting-Räume treibt derselbe Stack eine registrierte Identität, die bei eingehenden Anrufen klingelt — von Kollegen oder vom PSTN-Trunk. Als Desktop-App installieren, geöffnet lassen, den ganzen Tag Anrufe annehmen. Das Telefon, das Sie tatsächlich nutzen, nicht eine Webseite, die Sie vergessen.
Als Desktop-App installierbar
Die CodeB-Phone-Oberfläche installiert sich als Progressive Web App auf Windows, macOS, Chromebook und Android. Standalone-Fenster, Dock-/Taskleisten-Icon, startet mit dem OS. Browser-Tab-Discard kann es nicht killen, und es hört auf, Ihre Tab-Leiste zu verstopfen.
PWASelbstaktualisierend
Wenn ein neuer Build ausgeliefert wird, bemerkt das offene Phone es innerhalb von Minuten und zeigt einen kleinen „Update verfügbar — neu laden“-Chip. Ein Klick rollt auf die neue Version vor, ohne manuelles Cache-Clear oder Admin-Einsatz. Mid-Call-Updates werden zurückgestellt.
Kein IT-EingriffEingehende Anrufe klingeln Ihren Tab
Als Nutzer registrieren („anna“, „sales“, „reception“, …); die SIP-Bridge routet eingehende PSTN-Anrufe und Kollegen-Anrufe an Ihren Tab mit vertrautem Ruf, OS-Level-Benachrichtigung und Annehmen/Ablehnen. Abheben — der Meeting-Raum öffnet sich mit dem Anrufer bereits drin.
Immer-onlineBrowser-zu-Browser-Direktanrufe
Einen Namen ins Call-Widget tippen → das Telefon dieses Kollegen klingelt, Peer-to-Peer, kein SIP-Trunk, keine Carrier-Minute. Eine Nummer stattdessen tippen → die Bridge wählt über Ihre konfigurierten Trunks. Ein Bedienelement, zwei Backends, kein Mode-Switch.
Null-Kosten-Intra-TeamAuto-Recovery bei Trunk-Verlust
Wenn eine TK-Anlage oder ein SIP-Trunk neu startet oder vom Netz fällt, bemerkt es die Bridge, baut die abgestandene Registrierung ab und re-registriert innerhalb von etwa einer Minute. Eingehende Anrufe laufen ohne Service-Neustart wieder. Sichtbar im Trunk-Log, damit Operatoren sehen, was passiert ist.
SelbstheilendOperator-Sichtbarkeit
Eingebaute Admin-Views zeigen letzte eingehende und ausgehende Anrufe, wer wohin geroutet wurde, und Live-Trunk-REGISTER-Status — nützlich, wenn ein Anrufer sagt „ich habe angerufen und niemand hat abgehoben“ und Sie bestätigen müssen, ob es je die Bridge erreichte. Alles on-prem, kein externes Dashboard nötig.
On-Prem-OpsEine Kamera wählen. Sehen und sprechen.
Eine bei der Bridge registrierte ONVIF-Security-Kamera erscheint im CodeB-Phone-Call-Widget unter einem freundlichen Namen. Wählen Sie sie — die Kamera streamt ihren Live-Feed direkt in Ihren Browser, und der Talkback-Button schickt Ihr Mikrofon zurück auf den eingebauten Lautsprecher der Kamera. Nützlich für Türstationen, Rezeptions-Kameras, Lager-Intercoms, Vieh und Remote-Site-Monitoring. Kamera-Dial-Ins erfordern einen angemeldeten Nutzer — anonyme Verbindungen werden auf der Signaling-Ebene abgelehnt.
Live-Demo ausprobieren: Konto erstellen (oder anmelden, falls Sie schon eines haben), CodeB Phone öffnen, dann camera wählen — das ist unser öffentliches Test-Alias, das auf eine echte ONVIF-Kamera zeigt. Sie sehen den Live-Feed und können Talkback über den eingebauten Lautsprecher ausprobieren. Anonyme Sessions können keine Kameras wählen.
Eine Kamera mit Namen wählen
Jede Kamera mit einem kurzen Alias („camera“, „reception“, „loadingbay“) in der Bridge-Config konfigurieren. Diesen Namen ins Call-Widget tippen → Live-H.264-Video öffnet sich in einem dedizierten Viewer-Fenster, keine Extra-App, kein Plug-in. Unsere öffentliche Demo ist einfach als camera erreichbar — erst anmelden, dann vom CodeB Phone aus wählen. Kamera-Namen sind systemweit reserviert — niemand kann eine CodeB-Phone-Identität registrieren, die eine Kamera-Route überschatten würde.
Zwei-Wege-Audio per ONVIF-Backchannel
Auf Kameras, die das ONVIF-Backchannel-Profil exponieren (die meisten Reolink-, Hikvision-, Dahua-, Axis-Indoor-Units mit eingebauten Lautsprechern), routet ein einzelner Klick auf den Talkback-Button Ihr Mikrofon zurück durch den Kamera-Lautsprecher. Push-to-Talk durch eine Türstation, einen bellenden Hund beruhigen, einem Lieferfahrer Anweisungen geben — ohne den Browser zu verlassen.
TalkbackDirekte Medien, Server bleibt aus dem Pfad
Der IIS-Signaling-Endpoint proxied nur den SDP-Offer/Answer-Austausch, sodass die HTTP-Credentials der Kamera nie den Browser erreichen. Steht der Anruf, fließt WebRTC-Medien direkt zwischen Browser und On-Prem-Kamera-Relay — kein Transcoding-Service, kein Drittanbieter-Relay, keine Per-Minute-Medien-Rechnung. Die Server-CPU bleibt im Idle, auch bei mehreren Live-Kameras.
Null-Medien-TransitFunktioniert mit standardkonformen Kameras
Kameras verbinden über RTSP / ONVIF — dieselben Protokolle, die jede Prosumer-IP-Kamera schon spricht. Kein Vendor-SDK, kein Cloud-Account, kein Firmware-Lock-in. Getestet mit Reolink und Hikvision; jede Kamera, die ein Main-/Sub-RTSP-Profil mit H.264-Video und (optional) AAC oder G.711-Audio streamt, passt rein.
Kein Vendor-Lock-inKamera-Credentials verlassen nie den Server
Die Bridge hält die HTTP-Basic-Credentials der Kamera in ihrer lokalen Config und signiert jeden Upstream-Call selbst. Der Browser sieht nur einen freundlichen Namen und eine SDP-Answer — nie eine RTSP-URL, nie ein Passwort, nie einen Hostnamen. Kamera-Passwörter auf dem Gerät rotieren, einen Config-Eintrag aktualisieren, fertig.
Auth-ProxySelbe Oberfläche wie Ihre Anrufe
Sie lernen kein neues Werkzeug. Der Kamera-Viewer nutzt den End-Call-Button, Mikrofon-Mute, Lautsprecher-Mute und ICE-Handling des CodeB Phone wieder. Kameras öffnen und schließen wie Sie das Tischtelefon ab- und auflegen — gleiches Muskelgedächtnis, gleiche Optik, gleiche On-Prem-Datenschutzgarantie.
Eine OberflächeAnmeldung erforderlich — keine anonymen Viewer
Kamera-Dial-ins sind hinter einem CodeB-Conference-Account gated. Ein Besucher, der nicht angemeldet ist, kann camera, reception oder ein anderes Kamera-Alias nicht wählen — der Signal-Handler lehnt den Anruf ab, bevor die Bridge je kontaktiert wird. Jedes Kamera-Viewing ist einer benannten Identität im Audit-Log zuordenbar, und Operatoren können den Zugriff eines Nutzers entziehen, indem sie den Account deaktivieren — keine Per-Kamera-ACL-Wartung nötig.
Was wo läuft.
Eine Handvoll kleiner Teile. Die meisten sind optional. Keines sieht je Ihr Video.
IIS-Signaling
Ein kleiner WebSocket-Endpoint auf der IIS-Seite relayed Raum-Beitritte, SDP-Offer/Answer und ICE-Kandidaten. Der Server bleibt aus dem Medienpfad — er hilft Peers nur, sich zu finden.
KleinCodeB-SIP-Bridge (optional)
Ein Windows-Service, der sich als SIP-Nebenstelle auf Ihrer TK-Anlage / Ihren Trunks registriert, zwischen WebRTC-Browsern und Carrier-Audio-Pfad brückt und sich durch Reboots und Netzausfälle am Leben hält. STUN/TURN-Relay ist eingebaut — Besucher hinter strengen Firewalls oder symmetrischem NAT werden über denselben on-prem Service verbunden; kein zusätzliches Tool zu installieren, kein Drittanbieter-Relay. Nur nötig, wenn Sie mit Telefonen sprechen wollen; ohne sie ist die Plattform pure Browser-zu-Browser.
OptionalCodeB-Kamera-Relay (optional)
Ein kleiner RTSP → WebRTC-Translator, der auf demselben Host wie die Bridge läuft und sich über das LAN mit Ihren IP-Kameras verbindet. Nur nötig, wenn Sie Kameras von der Phone-Oberfläche aus anrufen wollen; ohne ihn ist die Plattform rein Menschen und Telefone.
OptionalNur Browser — keine Client-Installation
Jeder Teilnehmer tritt von einer normalen HTTPS-Seite bei. Kamera, Mikrofon, Screenshare, Dateiübertragung, Aufzeichnung — alles passiert im User-Agent. Optionale Installation für die immer-online Phone-Oberfläche; alles andere ist nur eine URL.
Null-InstallViele Mandanten, eine Installation.
Operatoren betreiben eine einzige CodeB-Instanz und hosten viele unabhängige Kunden darauf. Mandanten-Identität ist die Request-Domain — keine geteilten Konten, kein Cross-Tenant-Routing, kein Per-Kunden-Rebuild. Mandant hinzufügen, indem ein neuer Hostname auf denselben Host zeigt.
Mandant = Request-Domain
Ein Request für phone.acme.com routet zum Acme-Mandanten; phone.contoso.com zu Contoso. Der Signaling-Endpoint, die SIP-Bridge und der CDR-Writer keyen alle auf den Host-Header. Keine geteilte Nutzertabelle, keine Cross-Tenant-Kollisionen.
Pro-Mandant alles
SIP-Credentials, Trunks, FraudGuard-Caps, AutoReply-Regeln, CDR-Files, registrierte SoftPhones — alles auf den Mandanten-Key gescoped. Mandant As fehlkonfigurierter Trunk kann nicht versehentlich Mandant B abrechnen; Mandant As Räume können nicht von Mandant Bs URL beigetreten werden.
IsoliertDrop-in-Mandanten
Einen neuen Kunden aufsetzen, indem ein Hostname hinzugefügt wird — DNS-A-Record + IIS-Host-Binding + Mandanten-Config-Block. Keine Schema-Migration, kein Restart anderer Mandanten, keine Downtime für die bestehende Kunden-Basis. Die Instanz bedient die anderen weiter, während der neue aufwärmt.
Zero-DowntimeHosting-freundliche Ökonomie
Ein Windows-Host, eine IIS-Site, ein SIP-Bridge-Prozess — viele Mandanten dahinter. Die Grenzkosten, einen Kunden hinzuzufügen, sind die Kosten eines Hostnamens.
OperatorKein versehentlicher Cross-Talk
Speicher-Pfade sind mandanten-präfixiert: App_Data/<domain>/appsettings.json, App_Data/<domain>/logs/, App_Data/<domain>/logs/cdr/, App_Data/<domain>/sip-credentials/. Ein Bug oder eine Fehlkonfiguration in einem Mandanten kann nicht in die Daten eines anderen Mandanten reichen — das Präfix wird auf der Dateisystem-Ebene erzwungen, nicht nur per Konvention.
Single Sign-On, eingebaut.
Ein vollständiger OpenID-Connect-Identity-Provider läuft innerhalb von CodeB. Anmeldung gibt es auf jeder Seite: Ein Mit-CodeB-anmelden-Button auf dem Landing-Formular pre-filled den Teilnehmernamen und stempelt die In-Call-Kachel mit einem Verified-Badge; derselbe Button auf der SoftPhone-PWA registriert die richtige SIP-Identität automatisch; Admin-Seiten und Drittanbieter-RPs (Nextcloud, eigene Apps) föderieren alle gegen dieselbe Benutzerdatenbank. OIDC-Details anzeigen →
OpenID Connect Core 1.0
Authorization-Code-Flow mit PKCE (S256), RS256-signierte JWTs, Discovery nach RFC 8414, JWKS nach RFC 7517. Alles, was OIDC spricht, lässt sich anschließen — auf /.well-known/openid-configuration zeigen und los.
Cookie-frei by design
Kein Session-Cookie. Kein Tracking-Cookie. Das Login-Form mintet den Auth-Code direkt, der Callback tauscht gegen Tokens, und die Tokens leben in Per-Tab-sessionStorage — weg, wenn der Tab schließt. Wenn man cookie-frei verspricht, bleibt man cookie-frei.
Ein Credential-Store
Sign-in nutzt denselben HA1-Hash, den Ihre SIP-SoftPhones nutzen. Klartext-Passwort erreicht nie den Server — der Browser hasht es vor dem Posten. Ein Nutzer-Record treibt Voice und Identität.
Keine DuplikatePro-Mandant-RSA-Keys
Jeder Mandant bekommt seinen eigenen 2048-Bit-Signing-Key, beim ersten Bedarf in App_Data/<tenant>/oidc/private-key.xml erzeugt. Tokens, die für Mandant A gemintet sind, verifizieren nicht gegen Mandant B. Rotieren, indem die Datei gelöscht und der App-Pool recycled wird.
Rollen, server-erzwungen
Vier Rollen out-of-the-box: admin, user, siponly, guest. Die Rolle reist im JWT als Custom-Claim und Standard-groups-Eintrag. Admin-Seiten re-checken die Rolle bei jedem Server-Request — clientseitige Checks sind nur UI.
Integrations-Leitfaden
CodeB-Sign-in an jede OIDC-sprechende App anzubringen, dauert etwa 10 Minuten. Generischer OIDC-Leitfaden · Nextcloud · WordPress.
Dokumentiert