Zum Hauptinhalt springen
connic
Starte kostenlos
VerbindungenBeta

SIP Voice

Mit einem connic-Voice-Agenten Anrufe über jede Telefonanlage und jeden Anbieter mit SIP annehmen und führen.

Zuletzt aktualisiert
ModiSync (eingehende Anrufe) und Outbound (ausgehende Anrufe)
YAML-Typsip
ZugangsdatenIn der Verbindung; schickt deine Telefonanlage die Anrufe an connic, legt connic sie an
BridgeNicht unterstützt
Eigene DomainNicht unterstützt
Verknüpfte AgentenGenau ein Agent mit voice_config im Deployment
Pausiertconnic meldet die Leitung ab und lehnt Anrufe deiner Telefonanlage ab.

Einrichtung

  1. Ergänze einen LLM-Agenten um voice_config und ein unterstütztes Realtime-Modell, hinterlege bei Bedarf die Zugangsdaten des Modellanbieters im Projekt und stelle den Agenten im Environment bereit. Siehe connic Voice.

  2. Lege fest, wie deine Telefonanlage und connic zueinander finden. Entweder meldet sich connic wie ein Telefon an: Lege dafür in der Telefonanlage ein SIP-Konto oder eine Nebenstelle für connic an. Oder deine Telefonanlage schickt die Anrufe an connic: Den SIP-Trunk zu connic richtest du im letzten Schritt ein.

  3. Öffne den Agenten. Klicke im Connector Flow auf Add inbound connector, um Anrufe anzunehmen, oder auf Add outbound connector, um anzurufen. Wähle dann Create New Connector und SIP Voice.

  4. Wähle unter Setup die Variante aus Schritt 2 und trage den Server ein, und wenn sich connic anmeldet, auch Benutzername und Passwort des Kontos. Wähle Transport und Media encryption passend zu deiner Telefonanlage und klicke auf Create.

  5. Schickt deine Telefonanlage die Anrufe an connic, öffne die Verbindung und übernimm SIP address, Username und Password in einen neuen SIP-Trunk der Telefonanlage. Leite die Nummern oder Nebenstellen, die der Agent annehmen soll, auf diesen Trunk. Ruf dann eine davon an und öffne den Run.

Im Code

Lege die Verbindung in connectors/*.yaml an. Das Passwort gehört in eine Variable. Setze Rufnummern und Nebenstellen in Anführungszeichen; ohne liest YAML sie als Zahl und das Deployment schlägt fehl.

connectors/support-line.yaml
type: sip
config:
  setup: register
  server: pbx.example.com
  transport: tls
  username: "200"
  password: ${PBX_LINE_PASSWORD}
  transfer_numbers:
    - "+4930123456789"
  allowed_callers:
    - "+4915112345678"
  fallback_number: "+4930987654321"
agents:
  - support-voice

Konfiguration

Die Felder einer SIP-Voice-Verbindung, gleich in connectors/*.yaml, der REST-API und connic MCP. Die Beschreibungen nennen die passende Einstellung im Dashboard. Für Anrufe muss die SIP-Voice-Verbindung mit einem bereitgestellten Agenten verknüpft sein, der voice_config enthält. Das Dashboard übernimmt den Agenten, von dessen Seite aus die Verbindung angelegt wird, oder fragt unter Voice agent danach. Über REST-API und connic MCP lässt sich der Agent beim Anlegen mit dem optionalen Feld agent_name verknüpfen.

FeldTypStatusBeschreibung
typestringRequiredsip.
modestringOptionalsync nimmt Anrufe an die Leitung an; outbound ruft an, sobald ein Run des Agenten startet. Lässt sich nach dem Anlegen nicht mehr ändern. Dashboard: Mode.Default: sync
configobjectRequiredEinstellungen für SIP Voice.
setupstringRequiredregister: connic meldet sich wie ein Telefon an der Telefonanlage an. trunk: Die Telefonanlage schickt die Anrufe an connic und meldet sich mit Zugangsdaten an, die connic anlegt. Dashboard: Setup.Default: register
serverstringOptionalHostname der Telefonanlage oder des SIP-Anbieters. Pflicht bei register und für ausgehende Anrufe. Dashboard: SIP server.
portintegerOptionalDer SIP-Port des Servers. Dashboard: Port.Default: 5060, mit TLS 5061
transportstringRequiredtls, tcp oder udp. Dashboard: Transport.Default: tls
usernamestringOptionalBei register, dort Pflicht. Das SIP-Konto oder die Nebenstelle, mit der sich connic anmeldet. Dashboard: Username.
passwordstringOptionalBei register, dort Pflicht. Das Passwort des Kontos, ohne Leerzeichen und Semikolons. Dashboard: Password.
auth_usernamestringOptionalBei register. Nur nötig, wenn sich das Konto mit einem anderen Namen als dem Benutzernamen anmeldet. Dashboard: Authentication username.
caller_idstringOptionalDie Nummer oder Nebenstelle, von der ausgehende Anrufe kommen. Dashboard: Caller ID.
media_encryptionstringRequiredsrtp verschlüsselt das Gesprächsaudio, none überträgt es unverschlüsselt. Dashboard: Media encryption.Default: srtp
codecsstringRequiredg722,alaw,ulaw bevorzugt G.722 (HD-Telefonie); alaw,ulaw nutzt nur G.711. Dashboard: Codecs.Default: g722,alaw,ulaw
tostringOptionalNur Outbound. Die anzurufende Nummer, wenn die Eingabe eines Runs kein to enthält. Dashboard: Default number to call.
ring_secondsintegerOptionalNur Outbound. Wie lange es klingelt, 5 bis 120 Sekunden, bevor der Run fehlschlägt, weil niemand abgenommen hat. Dashboard: Ring time (seconds).Default: 30
transfer_numbersstring[]OptionalRufnummern im E.164-Format, an die Tools des Agenten Anrufer mit TransferCall weiterleiten dürfen. Höchstens 20. Dashboard: Transfer numbers.
allowed_callersstring[]OptionalNur Sync. Nur diese Nummern können den Agenten anrufen, im E.164-Format. Höchstens 100. Anrufe von anderen und unterdrückten Nummern werden abgewiesen, bevor sie angenommen werden; siehe Erlaubte Anrufer. Dashboard: Allowed callers.
fallback_numberstringOptionalNur Sync. Rufnummer im E.164-Format, die angenommene Anrufe erhält, die der Agent nicht zu Ende führen kann, und Anrufe, die die maximale Wartezeit erreicht haben. Dashboard: Fallback number.
max_wait_secondsintegerOptionalNur Sync. Wie lange Anrufer auf den Agenten warten, wenn er schon so viele Anrufe führt, wie sein Limit für gleichzeitige Runs erlaubt, von 0 bis 900 Sekunden. Dashboard: Maximum wait (seconds).Default: 30
hold_audio_pathstringOptionalNur Sync. Pfad einer MP3- oder WAV-Datei in deinem Projektordner, etwa assets/hold.mp3, höchstens 10 Minuten lang. Sie wird mit dem Projekt deployt. Wartende Anrufer hören sie in Dauerschleife. Dashboard: Hold audio.

Erzeugte Werte

Bei trunk zeigt die Verbindung eine SIP address (sip.connic.co), einen Username und ein Password für den Trunk deiner Telefonanlage. Sie bleiben gleich, wenn du die Verbindung bearbeitest.

Eingabe für den Agenten

Ein eingehender Anruf startet den Run mit der Nummer des Anrufers und der angerufenen Nummer oder Nebenstelle:

input.json
{
  "call_id": "1730900000.42",
  "from": "+4915112345678",
  "to": "200",
  "provider": "sip"
}

Anrufe

Im Sync-Modus nimmt SIP Voice Anrufe an die Leitung an und überträgt das Audio zwischen deiner Telefonanlage und dem Agenten in beide Richtungen. Bis der Agent sprechen kann, hört der Anrufer ein Freizeichen. Tastatureingaben und Auflegen richten sich nach den Voice-Einstellungen des Agenten.

Ausgehende Anrufe

Im Outbound-Modus ist jeder Run des verknüpften Agenten ein Anruf. Die Runs startest du wie jeden anderen, etwa über einen Webhook-Connector oder aus einem anderen Agenten mit trigger_agent. Sobald ein Run startet, ruft connic über die Leitung die Nummer im Feld to der Eingabe an, oder die voreingestellte Nummer der Verbindung, wenn die Eingabe keine enthält. Mit greeting spricht der Agent zuerst, sobald jemand abnimmt; ohne Begrüßung wartet er, bis sein Gegenüber spricht. Durch Telefonmenüs kommt der Agent mit press_keys, das die Tasten über die Leitung sendet, und in einer Warteschleife kann er warten, bis sich jemand meldet. Runs über das max_concurrent_runs des Agenten hinaus warten, bevor connic wählt. Der Run schlägt fehl, wenn innerhalb der Klingeldauer niemand abnimmt, besetzt ist oder der Anruf nicht zustande kommt. Die Fehlermeldung nennt den Grund. Nimmt eine Mailbox ab, hört der Agent ihre Ansage wie die einer Person. Schreib deshalb in den System-Prompt des Agenten, was er dann tun soll, etwa nach dem Signalton eine kurze Nachricht hinterlassen und auflegen.

connectors/reminder-calls.yaml
type: sip
mode: outbound
config:
  setup: register
  server: pbx.example.com
  transport: tls
  username: "201"
  password: ${PBX_OUTBOUND_PASSWORD}
  caller_id: "+4930123456"
agents:
  - reminder-calls

Erlaubte Anrufer

Mit erlaubten Anrufern weist connic Anrufe von allen anderen und von unterdrückten Nummern ab, bevor sie angenommen werden. Sie starten also keinen Run. connic vergleicht die Nummer des Anrufers so, wie deine Telefonanlage sie sendet. Die Anlage muss Nummern deshalb im E.164-Format senden. Die Logs der Verbindung zeigen jeden abgewiesenen Anruf mit seiner Nummer. Anrufernummern lassen sich fälschen. Verlass dich zum Schutz sensibler Daten deshalb nicht allein auf diese Liste.

Wartende Anrufer

Jeder Anruf ist ein Run. Der Agent führt also so viele Anrufe gleichzeitig, wie max_concurrent_runs erlaubt. Alle weiteren Anrufer warten und kommen in der Reihenfolge an die Reihe, in der sie angerufen haben. Während sie warten, hören sie das Freizeichen oder die Warteschleifenmusik der Verbindung. Wer nach der maximalen Wartezeit noch wartet, landet bei der Ausweichnummer. Gibt es keine, endet der Anruf und sein Run schlägt fehl.

Weiterleitung und Ausweichnummer

Löst ein Tool des Agenten TransferCall mit einer der Weiterleitungsnummern der Verbindung aus, bittet connic deine Telefonanlage, den Anruf dorthin zu übergeben. Meldet sich dort niemand, endet der Anruf. Die Ausweichnummer gilt nur für eingehende Anrufe im Sync-Modus und nicht für Weiterleitungen. Kann ein angenommener Anruf nicht weiterlaufen, etwa weil der Run fehlschlägt oder der Anrufer die maximale Wartezeit erreicht hat, geht er stattdessen an die Ausweichnummer. Ohne Ausweichnummer endet der Anruf. Deine Telefonanlage muss Weiterleitungen von der Leitung erlauben.

Einrichtung der Telefonanlage

connic erreicht deine Telefonanlage von sip.connic.co aus: SIP über Port 5060 mit UDP oder TCP und 5061 mit TLS, das Gesprächsaudio über die UDP-Ports 10000 bis 20000. Nimmt die Telefonanlage nur bekannte Adressen an, gib diese Adresse frei. Bei register hält connic die Leitung angemeldet und versucht es nach einer fehlgeschlagenen Anmeldung alle 30 Sekunden erneut, nach einer Ablehnung durch den Server alle 5 Minuten. Eine Verbindung für ausgehende Anrufe meldet die Leitung nicht an, sondern weist sich bei jedem Anruf aus. Sie kann deshalb dasselbe Konto nutzen wie eine Verbindung für eingehende Anrufe.

Grenzen und Fehler

GrenzeWert
Verknüpfte AgentenGenau einer, mit voice_config im aktiven Deployment des Environments
Weiterleitungsnummern20 pro Verbindung
Erlaubte Anrufer100 pro Verbindung
Maximale Wartezeit0 bis 900 Sekunden, standardmäßig 30
WarteschleifenmusikMP3 oder WAV, bis zu 10 Minuten
Klingeldauer5 bis 120 Sekunden, standardmäßig 30
CodecsG.722 und G.711 (A-law und µ-law)
Geänderte EinstellungenGelten nach etwa 15 Sekunden für die Leitung
GesprächsdauerDas Timeout des Agenten, begrenzt durch das Run-Timeout des Plans; bei Pro 60 Minuten
Fehler oder SymptomWas zu tun ist
Could not sign in to the SIP serverDie Logs der Verbindung zeigen die Antwort des Servers. Prüfe Server, Port, Transport, Benutzername, Passwort und Anmeldename und ob die Telefonanlage Anmeldungen von sip.connic.co annimmt.
Nobody answered the callInnerhalb der Klingeldauer hat niemand abgenommen. Erhöhe ring_seconds oder prüfe die Nummer.
The call could not be connectedDie Telefonanlage hat den Anruf abgelehnt. Prüfe, ob die Leitung diese Nummer anrufen darf und ob die Nummer vollständig ist, bei Bedarf mit Ländervorwahl.
Password can't contain spaces, semicolons or characters outside ASCIIVergib in der Telefonanlage ein Passwort ohne diese Zeichen.
Anrufe kommen nicht beim Agenten anPrüfe, ob die Verbindung aktiv ist und mit genau einem Agenten mit voice_config im aktiven Deployment verknüpft ist und ob deine Telefonanlage die Anrufe an die Leitung leitet.