Funktionen · Engineering-Tiefe

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.

In Eile? Die Käuferzusammenfassung ist einen Klick entfernt. Top 10 Gründe →
0
Cloud-Dienste im Medienpfad
P2P
DTLS-SRTP verschlüsselt, Ende-zu-Ende
~6
Teilnehmer pro Mesh-Anruf
100%
Läuft im Browser, keine Installation
01 / Anruf-Grundlagen

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 aktiv

Screenshare

Voller Desktop, einzelnes Fenster oder Browser-Tab. Spotlight automatisch auf den Sharer; Auto-Revert auf Kamera beim Stopp.

Alle großen Browser

Front-/Back-Kamera-Wechsel

Nur Mobil. Wechselt mit einem Tap zwischen Selfie- und Rückkamera auf iPhone / Android. Andere Teilnehmer sehen den Wechsel nahtlos.

Mobil

Eine 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.

UX

Picture-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.

P2P
02 / Echtzeit-Kollaboration

Reden, 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üsselt

P2P-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.

Datenschutz

Remote-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.

Kollaboration

Sticky 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 / Schulung
🎉

Reaktionen + 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-Politur

Lokale Meeting-Aufzeichnung

Composite-Canvas aller Kacheln + AudioContext-gemixtes Audio → WebM (VP9 + Opus). Direkt auf der Maschine des Aufnehmenden gespeichert. Nichts hochgeladen.

Nur lokal

Geteiltes 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 Striche

Breakout-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ützt
03 / Datenschutz & On-Prem-Story

Was 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-Standard

Sperrbare 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-Gate

Forensisch signierte Aufzeichnung

Jede Aufzeichnung kommt mit einer Sidecar-JSON: SHA-256 der Datei, ECDSA-P256-Signatur, Teilnehmerliste, Sprecher-Wechsel-Timeline. Tamper-evident.

Audit-tauglich

Aufzeichnungs-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.

Compliance

Verified-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-Integration

Zeitlich 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.

Kurzlebig

On-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-nativ
04 / Politur & Zuverlässigkeit

Kleine 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.

Optional

Verbindungs-Qualitätsbalken

Pro-Kachel-Signalbalken zeigen Round-Trip-Zeit, Paketverlust und Bitrate. Farbcodiert, sodass man einen kämpfenden Peer auf einen Blick erkennt.

Diagnose

Auto-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ässigkeit
🛗

Audio-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.

Auto

Pro-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 Teilnehmer
😴

Idle-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-Config

Responsives Layout

Einzelne Kachel, 2-Spalten-, 3-Spalten-Raster basierend auf Teilnehmerzahl. Mobilfreundliche Steuerung. Safe-Area-Inset-aware für die Notch.

Alle Geräte

QR-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-hosted

Tastatur-Shortcuts

M mute · V Kamera · S Share · C Chat · E Spotlight · H Hand · P PiP · Space Push-to-Talk.

Power-User

Persistente 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 lokal

Hintergrund-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 · GPU

Live-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-Call

Bandbreiten-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 Peer

Route- + 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).

Diagnose
05 / BYOC-SIP-Bridge & Click-to-Call

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-Prem

Ein-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.

Einbettbar

Geheime 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.

Anti-Scrape

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-in

Multi-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ügbar

Pro-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.

Pro Ziel

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.

Carrier-seitiges CLIR

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-Out

Geographische 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.

Compliance

Per-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-Guard

E.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-agnostisch

Text-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.

Regelgesteuert

Lä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.

Pro Region

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-safe

Begrenzte, 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-default
06 / AI Digital Receptionist

Ein 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-Voice

Jede 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.

Mehrsprachig

Eine 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-Config

Whitelisted 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.

Whitelisted Hand-off

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.

Hangup-Tool

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.

Per-Session-Isolation

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 Config

Transkript + 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 Aufzeichnungen

Antwortet 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.

Resilient

Vollständige Feature-Seite mit dem Hospitality-Sample-Setup, Konfigurations-Walkthrough und FAQ → ai-receptionist.html

07 / Ausgehende KI-Kampagnen

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.

B2BUA

Termin 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 Anruf

Automatische 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“.

Intelligente Wiederholung

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-Vermittlung

Prompt 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.

Gemeinsamer Prompt-Speicher

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 Versuch

Spricht 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-Turn

FraudGuard + 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 Operationen

Anwendungsfä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.

08 / Tischtelefon & immer-online-Operator

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.

PWA

Selbstaktualisierend

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-Eingriff

Eingehende 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-online

Browser-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-Team

Auto-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.

Selbstheilend

Operator-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-Ops
09 / ONVIF-Kameras als anrufbare Ziele

Eine 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.

Reservierte Namen

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.

Talkback

Direkte 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-Transit

Funktioniert 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-in

Kamera-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-Proxy

Selbe 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äche

Anmeldung 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.

Nachvollziehbarer Zugriff
10 / Die Architektur selbst

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.

Klein

CodeB-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.

Optional

CodeB-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.

Optional

Nur 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-Install
11 / Multi-Mandant-Fähigkeit

Viele 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.

By design

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.

Isoliert

Drop-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-Downtime

Hosting-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.

Operator

Kein 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.

Defense-in-depth
12 / Identität (OIDC)

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.

Standards

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.

Datenschutz

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 Duplikate

Pro-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.

Multi-Mandant

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.

RBAC

Integrations-Leitfaden

CodeB-Sign-in an jede OIDC-sprechende App anzubringen, dauert etwa 10 Minuten. Generischer OIDC-Leitfaden · Nextcloud · WordPress.

Dokumentiert