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 ist der de-facto-Standard für programmierbare Telefonie:
Telefonnetz → Twilio → WebSocket → Ihr Server → ElevenLabs
(Anrufer) (SIP) (Audio-Stream) (Logic) (ASR + TTS)
// 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') },
}))
}
})
})
Große Unternehmen nutzen SIP (Session Initiation Protocol) statt Twilio:
| Aspekt | Twilio | SIP-Direkt |
|---|---|---|
| Setup | Minuten | Stunden–Tage |
| Kosten | Höher (Aufschlag) | Niedriger (direkt) |
| Kontrolle | Begrenzt | Voll |
| Skalierung | Automatisch | Manuell |
| Compliance | Twilio-Cloud | Eigene Infrastruktur |
SIP-Trunk (z.B. sipgate, Plivo, Deutsche Telekom)
↓
SIP-Server (Asterisk / FreeSWITCH / Kamailio)
↓
Media Server (Audio-Streams verarbeiten)
↓
Voice Agent (ASR → LLM → TTS)
Kunde ruft an → Begrüßung → Intent-Erkennung → Bearbeitung → Abschluss
Best Practices:
Trigger (CRM, Zeitplan) → Voice Agent ruft Kunden an → Gespräch → Ergebnis loggen
Use Cases:
Trotz Voice AI ist DTMF (Dual-Tone Multi-Frequency) weiterhin relevant:
// 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.