Hören Sie zu
Versteht die Anfrage im Kontext des Gesprächs und der Geschäftsregeln.
KI-Sprachagenten Plattform
Wir bauen Agenten, die Anrufe annehmen und initiieren, die Informationen des Unternehmens nutzen und mit Ihren Systemen arbeiten. Von der ersten Frage bis zu einer vollständigen Anfrage, einer Bestätigung oder der Weiterleitung an einen Kollegen.
Kallina
Versteht die Anfrage im Kontext des Gesprächs und der Geschäftsregeln.
Konsultiert die Wissensdatenbank und die autorisierten Integrationen, bevor geantwortet wird.
Füllt die Daten aus, führt die erlaubte Aktion aus oder übergibt das Gespräch an einen Menschen.
Häufig gestellte Fragen, Entgegennahme von Anfragen und Rückmeldung an Personen, die darum gebeten haben, kontaktiert zu werden.
Bestätigungen und Koordination mit den Informationen aus dem verbundenen Bestellsystem.
Sammeln Sie die erforderlichen Details. Der Zugriff auf den Kalender und die Buchung werden für jede Integration festgelegt.
Die Szenarien, die Telefonnummern, die Sprachen und die Aktionen werden für jede Implementierung konfiguriert. Das Team behält die Möglichkeit, das Gespräch zu übernehmen.
Kallina im Detail
Kallina ist die Plattform, auf der wir Agenten entwickeln, die am Telefon und auf der Webseite sprechen. Ein Agent hat eine schriftlich festgelegte Rolle, eine genehmigte Wissensbasis, einen Satz an Werkzeugen, die er aufrufen kann, und eine Grenze, über die hinaus er das Gespräch an einen Menschen übergibt. Die Konversation endet nicht im Transkript: Der Anruf hat Dauer, Kosten pro Anbieter, Aufzeichnung und Analyse, alles mit dem Geschäftskonto verknüpft.
Die Sprach-Engine ist nicht nur eine einzige. In der Konfiguration des Agenten wählen Sie zwischen ElevenLabs Conversational AI, OpenAI Realtime, Gemini Live oder „auto“, wobei Kallina den Anbieter je nach Sprache, Auslastung und Verfügbarkeit auswählt. Darüber hinaus wählen Sie separat das textuelle Gehirn — der Katalog im Code enthält 78 Einträge von OpenAI, Google, Anthropic, xAI und ElevenLabs, jeweils mit der in der Oberfläche angezeigten Latenz und den Kosten pro Minute, damit die Wahl eine informierte ist und nicht eine vom Hörensagen.
Die Telefonie ist unsere eigene, nicht vom Sprachanbieter gemietet. Die Anrufe laufen über eine eigene Asterisk-Instanz, mit Weiterleitung nach Geschäftszeiten und Zeitzone, Nachtbetrieb (zum Beispiel 22:00 → 06:00) und Prioritätsabgleich: SIP-Diversion-Header, dann Kallina-Nummer, dann die Fallback-Regel. Für OpenAI Realtime gibt es eine AudioSocket-Brücke, die den Codec in beide Richtungen konvertiert, g711_ulaw ↔ PCM16.
In `AGENT_PROVIDERS` gibt es vier Optionen: `elevenlabs` (ConvAI), `openai-realtime`, `gemini-live` und `auto`. Für Text-to-Speech in anderen Sprachen als Englisch ist standardmäßig `eleven_flash_v2_5` eingestellt — 32 Sprachen, etwa 75 ms Latenz; die qualitativ bessere Alternative, `eleven_turbo_v2_5`, kostet etwa 250 ms. Die Auswahl ist nicht im Code versteckt, sondern ein Feld in der Agentenkonfiguration.
78 Modelle in `LLM_MODELS`, in der Oberfläche nach Anbieter gruppiert, zusammen mit der gemessenen Latenz und den Kosten pro Minute — von `gpt-5-nano` mit etwa 806 ms und rund 0,0004 $/min bis zu `claude-sonnet-4-6` mit etwa 1,55 s und rund 0,0225 $/min. Ein Kunde, der fragt „warum antwortet er langsam“, bekommt eine Antwort mit Zahlen, nicht eine Meinung.
Die Anrufweiterleitung wird nach Arbeitszeiten und Zeitzone konfiguriert, mit Unterstützung für Nachtbetrieb und Prioritätsabgleich (SIP-Diversion-Header → Kallina-Nummer → Fallback-Regel). Die `openai-realtime-bridge`-Brücke konvertiert AudioSocket zwischen g711_ulaw und PCM16 für den bidirektionalen Audiostream.
`<script src="https://app.kallina.info/embed.js" data-widget="WIDGET_ID"></script>`. Die Seite erfährt nie, welcher Agent antwortet, und speichert keinen einzigen Anbieterschlüssel: Sie fordert bei Kallina eine Sitzung an, und Kallina gibt eine kurzzeitig signierte URL zurück. Es gibt auch den Modus `data-mode="inline"`, in dem das Embed absolut nichts zeichnet und die Seite ihre eigene Oberfläche über die API `start()` / `stop()` / `toggle()` / `on(event, fn)` erstellt.
Batch-Anrufe mit 1–10 gleichzeitigen Anrufen, Import von Kontakten aus CSV, Retry-Logik, Echtzeit-Tracking mit Pause, Fortsetzen und Stopp sowie Follow-up per SMS.
Die Agentenkonfiguration unterstützt 32 Sprachen (`LANGUAGES`), die vollständige Sprachkarte der Plattform umfasst 41 Einträge, und das Administrationspanel ist in 20 Sprachen übersetzt (`src/i18n/locales`). Rumänisch ist die Standardsprache in `DEFAULT_VALUES`.
Daten und Funktionsweise
Von der Erkundung zur Implementierung
Ein Szenario mit klarem Eingang und klarem Ausgang — Anruf an der Rezeption, Auftragsbestätigung, Anrufkampagne. Wir schreiben ausdrücklich, was der Agent nicht tun darf und auf welchem Weg er das Gespräch an einen Menschen übergibt.
Die Nummer wird auf den SIP-Trunk unserer Asterisk geschaltet. Eingehende und ausgehende Anrufe werden getrennt getestet, weil sie getrennt ausfallen können: Eine Einschränkung des Anbieters bei ausgehenden Anrufen lässt die eingehenden einwandfrei funktionieren.
`scripts/verify-voice-path.mjs` geht genau den Weg eines Browsers ab — die Zeile aus der Konfiguration, `get-widget-config`, dann `widget-voice-session` — und stoppt bei der signierten URL, ohne das Websocket zu öffnen. Es läuft für ein einzelnes Widget oder für alle mit aktivierter Stimme, mit 1–3 parallel, und gibt einen Exit-Code zurück, sodass es direkt in einen Cron eingebunden werden kann.
Sie wählen zwischen ElevenLabs Conversational AI, OpenAI Realtime und Gemini Live, oder lassen „auto“ und Kallina entscheidet nach Sprache und Verfügbarkeit. Für die Sprachsynthese in anderen Sprachen als Englisch ist standardmäßig das Modell `eleven_flash_v2_5` aktiv — 32 Sprachen, rund 75 ms; wenn Sie höhere Qualität wollen und mehr Verzögerung akzeptieren, liegt `eleven_turbo_v2_5` bei rund 250 ms. Die OpenAI Realtime-Stimmen sind zehn, und ihre Engine geht bis `gpt-realtime-2.1`.
Eine Zeile: `<script src="https://app.kallina.info/embed.js" data-widget="WIDGET_ID"></script>`, als normales Script geladen, nicht als Modul. Die Datei wird heute ausgeliefert und hat 13.762 Bytes. Wenn Sie Ihre eigene Oberfläche wollen, zeichnet `data-mode="inline"` nichts und lässt Ihnen `start()`, `stop()`, `toggle()` sowie die Ereignisse `state`, `message`, `error`. Achtung beim Host: Die Datei liegt auf `app.kallina.info`, nicht auf `kallina.info` — das sind zwei Anwendungen auf zwei unterschiedlichen Servern.
Nein. Die Reihenfolge in `embed.js` ist: SDK laden, das Mikrofon mit `getUserMedia({audio:true})` anfordern und erst dann `widget-voice-session` aufrufen. Wenn die Person das Mikrofon ablehnt, wird die Sitzungsanfrage gar nicht erst gestellt, also wird auch keine signierte URL ausgegeben und es wird nichts verbraucht.
Ja — Sammelanrufe, 1–10 gleichzeitig, Kontakte aus CSV, Wiederholungsversuche und Follow-up per SMS. Aber ausgehende Anrufe hängen vom Telefonanbieter ab, nicht nur von uns: In unserem Problemlog ist ein Fall dokumentiert, in dem die Vermittlungsstelle des Anbieters begonnen hat, bei allen ausgehenden Anrufen `403 Forbidden` zurückzugeben, bei unveränderter Konfiguration unsererseits und mit normal funktionierenden eingehenden Anrufen. Deshalb testen wir ausgehende Anrufe separat, bevor wir eine Kampagne versprechen.
Die Agentenkonfiguration unterstützt 32 Sprachen, die interne Sprachkarte hat 41 Einträge, und das Administrationspanel ist in 20 Sprachen übersetzt. Rumänisch ist die Standardsprache neuer Agenten.
Nein, und das ist gut zu wissen, bevor Sie einen Start planen. Der GitHub-Workflow im Repo zielt auf ein Supabase-Cloud-Projekt, das gelöscht wurde, daher ist „push auf main = Veröffentlichung“ seit der Migration auf eigene Infrastruktur nicht mehr wahr. Die tatsächliche Veröffentlichung erfolgt per SSH, mit Kopieren und Neustart. Die praktische Konsequenz: Eine dringende Änderung braucht eine Person, nicht nur einen Commit.
Die Übergabe an einen Menschen ist Teil des Szenarios, keine Ausnahme. Jeder Agent hat schriftlich festgelegte Grenzen und einen konfigurierten Transferweg über die Telefonie; und im Gespräch gibt es Schutzmechanismen und Kriterien zur Bewertung des Erfolgs, gerade damit ein Fall außerhalb der Rolle gestoppt und nicht improvisiert wird.
Beispiel zur Veranschaulichung
Ein Nutzungsszenario, ohne Kundendaten oder zugeordnete kommerzielle Ergebnisse.
Jemand ruft die geschäftliche Nummer um 23:40 Uhr an, außerhalb der Öffnungszeiten an der Rezeption.
Asterisk wendet nachts die Arbeitszeitregel an (zum Beispiel 22:00 → 06:00) und gleicht nach Priorität ab: SIP-Diversion-Header, dann die Kallina-Nummer, dann die Ersatzregel. Der Nachtagent antwortet über den in der Konfiguration gewählten Anbieter, klärt das Anliegen und ruft die Werkzeuge auf, die er verwenden darf.
Der Anruf bleibt mit Transcript, Audioaufnahme, Dauer und nach Anbieter aufgeschlüsselten Kosten im Verlauf. Was die Rolle des Agenten überschreitet, wird gestoppt und weitergeleitet, statt improvisiert zu werden.
Was erforderlich ist:Die auf dem SIP-Trunk unserer Asterisk verbundenen Nummer, ausgehende Anrufe, die vom Betreiber erlaubt sind, sofern gewünscht, und Rückrufe, plus ein Agent mit Prompt, freigegebener Wissensdatenbank und schriftlich festgelegten Grenzen.
Möglichkeiten der Zusammenarbeit
Sprachunterstützung auf Basis genehmigter Informationen, mit Weiterleitung an einen Operator und klaren Regeln zur Aufzeichnung und Aufbewahrung der Gespräche.
Wir definieren einen Pilot rund um einen realen Prozess: Nutzer, Daten, Integrationen, Kosten und Abnahmekriterien. Die Erweiterung erfolgt nach der Bewertung des Ergebnisses.
Wir legen die Anforderungen an Zugänglichkeit, Hosting, Datenschutz und Interoperabilität fest. Jede Verbindung mit AGE- oder STISC-Diensten erfordert die Validierung der Berechtigung, des Zugriffs und der Genehmigungen.
Dies sind Anpassungsszenarien, keine Aussagen über bestehende Verträge oder Partnerschaften. Die vorgeschlagenen Funktionen werden im Arbeitsbereich des Projekts bestätigt.
Sprechen Sie über einen PilotEin Assistent, der mit den Informationen Ihres Unternehmens verbunden ist, in den Kanälen, in denen Ihre Kunden Ihnen schreiben.
PlattformGrai ist unsere Forschungsrichtung für Sprachsynthese und an die hier verwendeten Sprachen angepasste Modelle.
Forschung & EntwicklungMegaforms untersucht das Erfassen von Antworten über konversationelle Formulare, einschließlich Sprachantworten und Transkription.
Entwicklung & DemosErzählen Sie uns von Ihrem Prozess. Gemeinsam legen wir fest, was sich zu bauen lohnt, was wir anbinden können und wie wir das Ergebnis prüfen.