Zum Hauptinhalt springen
connic
Starte kostenlos

Telnyx Voice

Von connic
Sync

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.
  1. Der Anrufer wählt deine Nummer

    Telnyx sendet das Anrufereignis an die Call-Control-Anwendung, die connic für die Nummer angelegt hat.

  2. 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.

  3. 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.

  4. 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.
agents/service-line.yaml
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: 90

Erkenne, 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.
context["payload"]
{
  "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>"
      }
    ]
  }
}
tools/phone.py
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")
agents/service-line.yaml
tools:
  - phone.transfer_to_sales
  - phone.transfer_to_operator
voice_config:
  keypad:
    "1": phone.transfer_to_sales
    "0": phone.transfer_to_operator

Deklariere 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.

connectors/service-line.yaml
type: telnyx
name: Service line
connection: support-telnyx
config:
  phone_number: "+4930123456789"
  transfer_numbers:
    - "+4930123456780"
    - "+4930123456781"
  fallback_number: "+4930123456782"
agents:
  - service-line
create: connectors/service-line.yaml (telnyx)

Was 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.

Anrufer
Telnyx Voice
setup-helper
Schritte aus deinen Handbüchern
agents/setup-helper.yaml
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: true

Der Agent fragt nach Bestellnummer und Postleitzahl und nennt dann den aktuellen Versandstand.

Kunde
Telnyx Voice
delivery-status
Status am Telefon
agents/delivery-status.yaml
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: 60

Der Agent fragt nach dem Fehler und den bereits versuchten Lösungen und legt dann ein Ticket mit allen Angaben an.

Anrufer
Telnyx Voice
ticket-intake
Ticket im Helpdesk
agents/ticket-intake.yaml
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.

Anrufer
Telnyx Voice
phone-menu
Weiterleitung an Vertrieb oder Zentrale
agents/phone-menu.yaml
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_operator

FAQ zu Telnyx Voice

Nein. Beim Speichern der Verbindung legt connic eine Call-Control-Anwendung an, ordnet ihr deine Nummer zu und überträgt den Anruf über das Media Streaming von Telnyx.

Nein. Du wählst eine vorhandene aktive Nummer aus deinem eigenen Telnyx-Konto. Nummern kaufst du weiterhin in Telnyx, und dort verwaltest du auch das Konto.

Ja. Beide verwenden dieselbe gespeicherte Connection mit API-Schlüssel und Public Key. Lege eine Verbindung für Anrufe und eine für Nachrichten an, jeweils mit eigener Nummer oder eigenem Absender. SMS, WhatsApp und RCS übernimmt Telnyx Messaging.

Nein. Telnyx Voice nimmt nur eingehende Anrufe an. Der Agent kann einen Anrufer an eine der Weiterleitungsnummern der Verbindung übergeben.

Beim Speichern ordnet connic die Nummer seiner Call-Control-Anwendung zu und schreibt die bisherige Zuordnung in die Logs der Verbindung. Entfernst du die Verbindung, löscht connic nur seine eigene Weiterleitung und stellt die frühere Zuordnung nicht wieder her.