Telnyx Voice
Setz einen Sprachagenten auf deine Telnyx-Rufnummer. connic legt die Call-Control-Anwendung an und überträgt den Anruf in beide Richtungen, und der Agent antwortet mit deinem Wissen und deinen Tools.
- Publisher
- Von connic
- Modi
- Sync
- Einrichtung
- Dashboard oder connectors/*.yaml
- Dokumentation
- Telnyx Voice Docs
Verbinde eine Telnyx-Nummer ohne SIP-Einrichtung
Speichere deine Telnyx-Connection, wähle eine aktive Nummer und verknüpfe einen Sprachagenten. connic legt eine eigene Call-Control-Anwendung an und ordnet ihr die Nummer zu.
- Eine Connection für Anrufe und Nachrichten
- Speichere den Telnyx-API-Schlüssel und den öffentlichen Ed25519-Schlüssel des Kontos einmal. Auch Verbindungen für Telnyx Messaging können diese Connection nutzen.
- Was connic einrichtet
- connic ordnet die Nummer seiner eigenen Call-Control-Anwendung zu und entfernt Tech Prefix und Zielumschreibung der Nummer. Die bisherige Zuordnung und die alten Werte landen in den Logs der Verbindung. Schalte vorher die Rufumleitung in Telnyx ab.
- Beim Wechseln oder Entfernen
- connic löscht nur die Weiterleitung, die ihm noch gehört, behält deine Änderungen in Telnyx bei und entfernt seine Anwendung, sobald keine Nummer sie mehr nutzt. Eine frühere Zuordnung stellt connic nicht wieder her.
Der Anrufer wählt deine Nummer
Telnyx sendet das Anrufereignis an die Call-Control-Anwendung, die connic für die Nummer angelegt hat.
connic prüft und nimmt an
Der öffentliche Ed25519-Schlüssel des Kontos prüft die Signatur des Ereignisses. connic nimmt den Anruf an und öffnet einen Medienstream in beide Richtungen.
Der Agent spricht
Der Run startet mit den Anrufdaten. Der Agent begrüßt den Anrufer, hört zu und nutzt seine Tools, und wer dazwischenredet, kann die ausstehende Wiedergabe stoppen.
Das Gespräch endet oder geht weiter
Der Agent legt nach seiner Verabschiedung auf oder leitet den Anrufer weiter. Schlägt der Run fehl oder startet der Medienstream nicht, leitet Telnyx den Anruf an deine Ausweichnummer.
Lege Stimme, Begrüßung und Sprecherwechsel fest
Das Gespräch konfigurierst du in voice_config, direkt neben Prompt und Tools, die der Agent schon hat.
- Echtzeitmodelle
- Nutze connic/gemini-3.8-live ohne Zugangsdaten eines Anbieters, abgerechnet über das Projektguthaben. Mit den Zugangsdaten des Anbieters im Projekt nutzt du ein Gemini-Modell mit nativer Audioverarbeitung über Google Gemini oder Vertex AI oder ein Realtime-Modell von OpenAI oder Azure OpenAI.
- Transkripte
- Gemini und Vertex AI transkribieren den Anrufer nativ. Bei OpenAI und Azure OpenAI setzt du transcription_model, damit das Gesagte als Text im Run erscheint.
- Warten auf Tools
- Während ein Tool läuft, spielt ein leiser Ton, der pausiert, sobald jemand spricht. Mit thinking_sound: false schaltest du ihn ab.
- Was Sprachagenten nicht unterstützen
- Guardrails, menschliche Freigaben, strukturierte Ausgaben, fallback_model und context_compression lehnt connic für Sprachagenten ab. Ein Anruf ist ein Run, also begrenzt das Timeout des Agenten seine Länge.
version: "1.0"
name: service-line
type: llm
model: gemini/gemini-3.8-live
description: Answers calls on the service line
system_prompt: |
Keep replies short and natural.
Before you use a tool, say what you are checking.
Say goodbye before you end the call.
tools:
- retrieval_query
- tickets.create_ticket
voice_config:
language: en
greeting: "Hello, this is the service line. How can I help?"
thinking_sound: true
turn_detection:
silence_ms: 600
interruptions:
enabled: true
idle_timeout_seconds: 90Erkenne, wer anruft, und leite weiter
Jeder Run startet mit den Anrufdaten von Telnyx, und Weiterleitungen laufen über Telnyx an Nummern, die du an der Verbindung freigibst.
- Anrufdaten
- call_id ist die Telnyx Call Control ID, caller_name stammt aus caller_id_name, und raw enthält die Nutzdaten von call.initiated mit custom_headers und sip_headers. Weiterleitungen kommen als Diversion-Header in sip_headers an, deshalb bleibt forwarded_from leer.
- Weiterleitungen
- Ein Tool löst TransferCall mit einer von bis zu 20 Weiterleitungsnummern der Verbindung aus, und Telnyx leitet den Anrufer weiter. Jede andere Nummer gibt einen Fehler an den Agenten zurück.
- Tastatureingaben
- Ordne in voice_config Tasten den passenden Tools zu. Ein Tastendruck führt sein Tool ohne Modellantwort aus, also erreicht die 1 den Vertrieb auch während der Begrüßung.
- Ausweichnummer
- Angenommene Anrufe, die nicht weiterlaufen können, gehen an diese Nummer. Ohne Ausweichnummer oder wenn Telnyx die Weiterleitung ablehnt, wird aufgelegt. Anrufe, die connic nicht annimmt, etwa bei pausierter Verbindung, werden nicht weitergeleitet.
{
"call_id": "<call-control-id>",
"from": "+4915112345678",
"to": "+4930123456789",
"provider": "telnyx",
"caller_name": "Alex Example",
"raw": {
"call_control_id": "<call-control-id>",
"caller_id_name": "Alex Example",
"from": "+4915112345678",
"to": "+4930123456789",
"sip_headers": [
{
"name": "Diversion",
"value": "<sip:+4940123456789@carrier>"
}
]
}
}from connic import TransferCall
def transfer_to_sales(context: dict) -> str:
"""Transfer the caller to the sales team."""
raise TransferCall("+4930123456780")
def transfer_to_operator(context: dict) -> str:
"""Transfer the caller to an operator."""
raise TransferCall("+4930123456781")tools:
- phone.transfer_to_sales
- phone.transfer_to_operator
voice_config:
keypad:
"1": phone.transfer_to_sales
"0": phone.transfer_to_operatorDeklariere die Leitung neben dem Agenten
Lege eine Datei in connectors/ an, mit der Nummer im E.164-Format. Das Deployment findet die Nummer in der angegebenen Connection, verknüpft genau einen Sprachagenten und hält den API-Schlüssel aus der Datei heraus.
type: telnyx
name: Service line
connection: support-telnyx
config:
phone_number: "+4930123456789"
transfer_numbers:
- "+4930123456780"
- "+4930123456781"
fallback_number: "+4930123456782"
agents:
- service-lineWas ein Sprachagent über Telnyx übernimmt
Wähle ein Szenario und sieh den Weg des Anrufs und die Agent-YAML dahinter.
Anrufer nennen ihr Gerät, und der Agent führt sie durch die Schritte aus deinen Handbüchern.
version: "1.0"
name: setup-helper
type: llm
model: gemini/gemini-3.8-live
description: Walks callers through device setup
system_prompt: |
Ask which model the caller has.
Read one step at a time from the manual you retrieve.
tools:
- retrieval_query
voice_config:
greeting: "Hi! Which device are you setting up?"
interruptions:
enabled: trueDer Agent fragt nach Bestellnummer und Postleitzahl und nennt dann den aktuellen Versandstand.
version: "1.0"
name: delivery-status
type: llm
model: gemini/gemini-3.8-live
description: Tells callers where their delivery is
system_prompt: |
Ask for the order number and the postcode.
Say that you are checking, then track the order.
tools:
- shipments.track_order
voice_config:
greeting: "Hi! Do you have your order number handy?"
idle_timeout_seconds: 60Der Agent fragt nach dem Fehler und den bereits versuchten Lösungen und legt dann ein Ticket mit allen Angaben an.
version: "1.0"
name: ticket-intake
type: llm
model: gemini/gemini-3.8-live
description: Opens support tickets from phone calls
system_prompt: |
Ask for the device, the error and what the caller
already tried. Read the summary back, then open
the ticket and give the caller its number.
tools:
- tickets.create_ticket
voice_config:
greeting: "Hi! What seems to be the problem?"Anrufer drücken die 1 für den Vertrieb oder die 0 für die Zentrale, oder sie stellen dem Agenten direkt ihre Frage.
version: "1.0"
name: phone-menu
type: llm
model: gemini/gemini-3.8-live
description: Greets callers and routes them by keypad
system_prompt: |
Answer short questions yourself.
Offer the keypad options when the caller hesitates.
tools:
- phone.transfer_to_sales
- phone.transfer_to_operator
voice_config:
greeting: "Welcome. Press 1 for sales or 0 for an operator."
keypad:
"1": phone.transfer_to_sales
"0": phone.transfer_to_operatorFAQ zu Telnyx Voice
Weitere Verbindungen
Apache Kafka
Von connicAgenten verarbeiten Kafka-Topics und veröffentlichen ihre Ergebnisse unter dem Key der Ausgangsnachricht wieder in Topics.
InboundOutboundCron-Scheduler
Von connicEin Cron-Ausdruck legt fest, wann ein Agent ausgeführt wird. connic betreibt den Scheduler für tägliche Zusammenfassungen, stündliche Health-Checks und wöchentliche Audits.
InboundE-Mail (SMTP/IMAP)
Von connicEingehende E-Mails lösen Agenten aus, die Antwortentwürfe per SMTP versenden können. Anhänge werden unterstützt.
InboundOutboundStripe
Von connicStripe-Events wie invoice.payment_failed oder customer.subscription.updated lösen Agenten aus. connic prüft die Webhook-Signaturen.
InboundTelegram
Von connicEin Agent kann einen Telegram-Bot betreiben, Nachrichten lesen, im Chat antworten und Benachrichtigungen an Channels senden.
InboundOutboundWebSocket
Von connicAgenten streamen Tokens über eine bestehende Socket-Verbindung an den Browser. Chat-UIs behalten den Kontext über mehrere Nachrichten hinweg.
Sync