Lektion 4 von 5·11 Min Lesezeit

Telefonie-Integration

Voice Agents werden erst richtig mächtig, wenn sie Telefonate führen können. Die Integration mit Twilio, SIP-Providern und klassischer Telefonie verbindet die Welt der AI mit der Welt der Telekommunikation.

Twilio-Integration

Warum Twilio?

Twilio ist der de-facto-Standard für programmierbare Telefonie:

  • Globale Telefonnummern in 100+ Ländern
  • Programmierbare Voice API
  • WebSocket-Support für Echtzeit-Audio
  • Zuverlässigkeit: 99,95 % Uptime SLA

Architektur: Twilio + ElevenLabs

Telefonnetz → Twilio → WebSocket → Ihr Server → ElevenLabs
  (Anrufer)   (SIP)   (Audio-Stream)  (Logic)     (ASR + TTS)

Implementation

// 1. Twilio Webhook empfängt eingehenden Anruf
app.post('/api/twilio/incoming', (req, res) => {
  const twiml = new twilio.twiml.VoiceResponse()

  // WebSocket-Verbindung für Echtzeit-Audio
  const connect = twiml.connect()
  connect.stream({
    url: 'wss://your-server.com/api/voice-agent/stream',
    parameters: {
      callSid: req.body.CallSid,
      callerNumber: req.body.From,
    },
  })

  res.type('text/xml').send(twiml.toString())
})

// 2. WebSocket-Handler für Audio-Streaming
wss.on('connection', async (ws, req) => {
  const agent = await initVoiceAgent(req.params)

  ws.on('message', async (data) => {
    const message = JSON.parse(data)

    if (message.event === 'media') {
      // Audio vom Anrufer → ASR → LLM → TTS → Audio zurück
      const audioChunk = Buffer.from(message.media.payload, 'base64')
      const responseAudio = await agent.processAudio(audioChunk)

      ws.send(JSON.stringify({
        event: 'media',
        streamSid: message.streamSid,
        media: { payload: responseAudio.toString('base64') },
      }))
    }
  })
})

SIP-Integration

Für Enterprise-Telefonie

Große Unternehmen nutzen SIP (Session Initiation Protocol) statt Twilio:

AspektTwilioSIP-Direkt
SetupMinutenStunden–Tage
KostenHöher (Aufschlag)Niedriger (direkt)
KontrolleBegrenztVoll
SkalierungAutomatischManuell
ComplianceTwilio-CloudEigene Infrastruktur

SIP-Trunk Konfiguration

SIP-Trunk (z.B. sipgate, Plivo, Deutsche Telekom)
  ↓
SIP-Server (Asterisk / FreeSWITCH / Kamailio)
  ↓
Media Server (Audio-Streams verarbeiten)
  ↓
Voice Agent (ASR → LLM → TTS)

Inbound & Outbound Call Handling

Inbound Calls (eingehend)

Kunde ruft an → Begrüßung → Intent-Erkennung → Bearbeitung → Abschluss

Best Practices:

  • Sofortige Antwort: < 1 Sekunde bis zur Begrüßung
  • Kontexterkennung: Rufnummer → Kundenprofil laden
  • Warteschlangenmanagement: Bei Überlastung: "Ich rufe Sie in 5 Minuten zurück"

Outbound Calls (ausgehend)

Trigger (CRM, Zeitplan) → Voice Agent ruft Kunden an → Gespräch → Ergebnis loggen

Use Cases:

  • Terminbestätigung: "Hallo Frau Müller, Ihr Termin morgen um 14 Uhr steht. Passt das?"
  • Zahlungserinnerung: "Ihre Rechnung Nr. 4711 ist seit 7 Tagen offen..."
  • Umfrage: "Wie zufrieden waren Sie mit unserem Service? 1 bis 5?"
  • Rückruf: "Sie hatten uns kontaktiert. Wie kann ich Ihnen helfen?"

Compliance bei Outbound Calls

  • Einwilligung: Vorherige Zustimmung des Kunden (Opt-In)
  • Uhrzeiten: Nur werktags 8–20 Uhr (in Deutschland)
  • Identifikation: "Hier ist ein automatischer Anruf von Firma XY"
  • Abmeldung: Jederzeit "Bitte rufen Sie mich nicht mehr an"

Call Recording

Warum aufzeichnen?

  • Qualitätssicherung: Gespräche nachträglich analysieren
  • Training: Erfolgreiche Gespräche als Trainings-Material
  • Compliance: Regulatorische Anforderungen (Finanzbranche)
  • Dispute Resolution: Nachweis bei Streitigkeiten

Datenschutz bei Aufzeichnung

  • Ansage: "Dieses Gespräch wird aufgezeichnet" (DSGVO-Pflicht)
  • Einwilligung: Opt-Out anbieten: "Drücken Sie 1, wenn Sie nicht aufgezeichnet werden möchten"
  • Speicherdauer: Definierte Löschfristen (z. B. 90 Tage)
  • Zugriffskontrolle: Nur autorisierte Mitarbeiter
  • Verschlüsselung: Audio-Dateien verschlüsselt speichern

DTMF Handling

Tonwahlverfahren

Trotz Voice AI ist DTMF (Dual-Tone Multi-Frequency) weiterhin relevant:

  • PIN-Eingabe: Kreditkartennummer, Sicherheitscode
  • Menüauswahl: Fallback wenn ASR nicht funktioniert
  • Authentifizierung: Numerische Codes eingeben

Implementation

// DTMF-Erkennung in Twilio
ws.on('message', (data) => {
  const message = JSON.parse(data)

  if (message.event === 'dtmf') {
    const digit = message.dtmf.digit // '0'-'9', '*', '#'
    handleDtmfInput(digit)
  }
})

function handleDtmfInput(digit: string) {
  switch (digit) {
    case '1': transferToSales(); break
    case '2': transferToSupport(); break
    case '0': transferToHuman(); break
    case '*': repeatLastMessage(); break
  }
}

Praxis-Tipp: Starten Sie mit Twilio — das Setup dauert Minuten statt Wochen. Für Enterprise-Kunden mit bestehender SIP-Infrastruktur bieten Sie SIP-Integration als zweite Phase an. Die meisten Kunden starten mit Twilio und migrieren erst bei > 100.000 Anrufen/Monat auf SIP.