← Automatisierungen

Speech-to-Speech-Agent am SIP-Anschluss mit zweistufiger Buchung.

Ein Java-Gateway nimmt Anrufe per SIP an, wandelt G.711 in das Audioformat von Amazon Nova Sonic und bindet eine Buchungs-API an. Die Buchung läuft zweistufig über preview_booking und book; ohne explizit gemeldete Bestätigungen weist der Code sie mit confirmation_missing zurück.

Architektur

Das Gateway ist selbst ein SIP-Endpunkt und ordnet jeden Anruf über die angerufene Nummer einem Betrieb mit eigenem Prompt, eigener Stimme und eigenen Werkzeugen zu. Pro Anruf wird der Prompt neu gebaut: Uhrzeit in der Zeitzone Berlin, vom Code berechneter Öffnungsstatus, Rufnummer des Anrufers und Leistungsangebot live aus der Buchungs-API. Amazon Nova Sonic über Amazon Bedrock hört und spricht direkt über eine bidirektionale Verbindung, ohne getrennte Spracherkennung und Sprachausgabe. Freie Zeiten liefert find_times, gebucht wird zweistufig. Was der Agent nicht darf, geht per take_message mit Rückrufnummer in den Team-Chat.

Vorher und nachher

Ohne Agent

  • Anrufe während Behandlungen bleiben unbeantwortet
  • Außerhalb der Öffnungszeiten keine Erreichbarkeit
  • Rückrufwünsche ohne strukturierte Erfassung
  • Keine Verbindung zwischen Telefon und Buchungssystem

Mit Agent

  • Annahme per SIP, auch außerhalb der Öffnungszeiten
  • Freie Slots live aus der Buchungs-API
  • Buchung nur mit validiertem Vorschlag und beiden Bestätigungen
  • take_message mit vom Code angehängter Rückrufnummer
  • SMS-Bestätigung aus dem Buchungssystem

Ablauf

  1. 01SIP-Anruf, Zuordnung über die angerufene Nummer, Umwandlung von G.711 in PCM.
  2. 02Prompt-Aufbau pro Anruf: Zeit, Öffnungsstatus, Rufnummer und Leistungsangebot aus der REST-API.
  3. 03find_times liefert freie Slots; der Agent bietet bis zu drei an und liest die Mobilnummer ziffernweise vor.
  4. 04preview_booking legt einen Vorschlag mit eigener Kennung an, den die API validiert.
  5. 05book mit Vorschlagskennung und beiden Bestätigungen; die SMS verschickt das Buchungssystem.

Kontrollprinzip

Bestätigungen als Pflichtparameter

book verlangt, dass das Modell die Bestätigung von Mobilnummer und Pflichthinweisen explizit meldet. Fehlt eine, weist der Code die Buchung mit confirmation_missing und einer Anweisung zum Nachfragen zurück. book akzeptiert nur die Kennung eines vorher validierten Vorschlags; ist der Slot inzwischen belegt, meldet die API slot_unavailable. Ob der Anrufer tatsächlich zugestimmt hat, kann der Code nicht feststellen; die Sperre verhindert, dass das Modell den Schritt überspringt.

Technische DokumentationDatenfluss, Berechtigungen, Kontrollen, Sonderfälle, Datenschutz, Betrieb