Sinch-SIP-Trunking

Verbinden Sie Sinch Elastic SIP Trunking mit ElevenLabs Agents.

Bevor Sie dieser Anleitung folgen, lesen Sie die Anleitung zum ElevenLabs-SIP-Trunking und die Anleitung zum Sinch Voice SIP-Trunking .

Überblick

Diese Anleitung erklärt, wie Sie eine Sinch-Voice-Anwendung direkt mit ElevenLabs Agents verbinden. Die Integration ermöglicht es Ihnen, Ihre Sinch-Nummern und Ihr Routing beizubehalten, während ElevenLabs die KI-Sprachagent-Erfahrung übernimmt.

So funktioniert SIP-Trunking mit Sinch

Ein Sinch SIP-Trunk ist eine bidirektionale Verbindung zwischen dem Sinch-Netzwerk und der ElevenLabs-Plattform:

  1. Eingehende Anrufe: Eine Ihrer Sinch-Voice-Anwendung zugewiesene DID erhält einen Anruf. Sinch sendet den INVITE an die ElevenLabs-Originierungsadresse, die als statischer Endpunkt in den Einstellungen für eingehende Anrufe des Trunks konfiguriert ist.
  2. Ausgehende Anrufe: Von ElevenLabs initiierte Anrufe werden an die SIP-Adresse mit vollständig qualifiziertem Domänennamen (FQDN) Ihrer Anwendung gesendet, die Sinch an das PSTN weiterleitet.
  3. Authentifizierung: Sinch erfordert für ausgehende Anrufe eine Authentifizierung (SIP-Zugangsdaten) und unterstützt die ACL-Authentifizierung (IP-Allowlisting) für Datenverkehr, der über den Trunk eingeht.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  1. Ein aktives ElevenLabs-Konto mit einem konfigurierten Agenten
  2. Ein Sinch-Konto mit einer im Sinch-Build-Dashboard erstellten Voice-Anwendung
  3. Mindestens eine bei Sinch gekaufte und der Anwendung zugewiesene Telefonnummer (DID)

Eingehende Anrufe konfigurieren (Sinch zu ElevenLabs)

Leiten Sie die Anrufe Ihrer Anwendung an die ElevenLabs-SIP-Adresse weiter.

1

Melden Sie sich im Sinch-Build-Dashboard an

Melden Sie sich bei Ihrem Sinch-Konto an und navigieren Sie zu der Anwendung, die Sie verbinden möchten.

2

Fügen Sie einen statischen Endpunkt für ElevenLabs hinzu

Aktualisieren Sie in den Anrufweiterleitungseinstellungen der Anwendung den Call-Event-Handler auf SIP Forwarding und fügen Sie eine statische SIP-URI hinzu, die auf die ElevenLabs-Originierungsadresse verweist:

  • DID: die Sinch-Telefonnummer, die Sie anrufen möchten
  • Adresse: sip.rtc.elevenlabs.io
  • Port und Transport: 5061/TLS, 5060/TCP

Zum Beispiel: sip:15551234567@sip.rtc.elevenlabs.io:5061;transport=tls.

Wenn Ihr ElevenLabs-Workspace eine isolierte Data-Residency-Region oder die SIP-Infrastruktur mit statischen IPs verwendet, nutzen Sie statt sip.rtc.elevenlabs.io den entsprechenden Endpunkt. Verfügbare Regionen finden Sie unter Data Residency.

3

Weisen Sie Ihre DID der Anwendung zu

Weisen Sie dieser Anwendung die Telefonnummer zu, über die Ihr Agent erreichbar sein soll.

Ausgehende Anrufe konfigurieren (ElevenLabs zu Sinch)

Für ausgehende Anrufe sendet ElevenLabs einen SIP-INVITE an Ihre Sinch-Anwendung und authentifiziert sich dort.

1

Notieren Sie den FQDN Ihrer Sinch-Region

Rufen Sie den SIP-FQDN Ihrer Sinch-Region ab. Dies ist die Terminierungsadresse, die Sie in ElevenLabs eingeben. Geben Sie nur den Hostnamen ohne Präfix sip: ein.

2

Geben Sie SIP-Zugangsdaten ein

Kopieren Sie den Key und das Secret Ihrer Sinch-Anwendung sicher. Diese verwenden Sie in ElevenLabs als Benutzername und Passwort.

3

Weiterleitungsnummer

Ihre Sinch-Anwendung leitet den Anruf an ihre Weiterleitungsadresse weiter. Damit ein ausgehender Anruf an die in der Anfrage für ausgehende Anrufe angegebene Nummer erfolgt, lassen Sie dieses Feld in den Anwendungseinstellungen leer.

Einrichtung in ElevenLabs abschließen

1

Telefonnummer des SIP-Trunks importieren

Folgen Sie der Anleitung zum SIP-Trunking, um Ihre Sinch-Nummer mit diesen Einstellungen zu importieren:

EinstellungWert
TelefonnummerIhre Sinch-DID, zum Beispiel 15551234567
TransporttypTLS
MedienverschlüsselungDisabled für TCP; Allowed oder Required, wenn der Trunk für TLS und SRTP eingerichtet ist
AdresseDer FQDN Ihres Sinch-Trunks, nur der Hostname
SIP-Trunk-BenutzernameKey der Sinch-Anwendung
SIP-Trunk-PasswortSecret der Sinch-Anwendung

Halten Sie die Transport- und Verschlüsselungseinstellungen auf beiden Seiten konsistent.

2

Agenten zuweisen

Weisen Sie der Nummer im Telefonnummern-Dashboard einen Agenten zu. Eingehende Anrufe an die DID erreichen jetzt diesen Agenten.

3

Ausgehenden Anruf testen

Tätigen Sie über Ihre Sinch-Anwendung einen Anruf vom Agenten, entweder über das Telefonnummernmenü oder die API für ausgehende Anrufe:

curl -X POST https://api.elevenlabs.io/v1/convai/sip-trunk/outbound-call \
-H "xi-api-key: $ELEVENLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "agent_7101k5zvyjhmfg983brhmhkd98n6",
"agent_phone_number_id": "phnum_8901k4t9z5defmb8vh3e9361y7nj",
"to_number": "+15551234567"
}'

Das vollständige Anfrageschema finden Sie unter Ausgehender Anruf über SIP-Trunk, Informationen zum Durchführen ausgehender Kampagnen unter Batch-Anrufe.

Weiterleitungen konfigurieren

Agenten übergeben Anrufe mit dem System-Tool transfer_to_number an einen Menschen.

Über einen Sinch-Trunk funktionieren nur Konferenzweiterleitungen. SIP REFER und Blind Transfers schlagen fehl.

Konferenzweiterleitungen

ElevenLabs wählt das Ziel über Ihren Sinch-Trunk, verbindet beide Parteien in einer Konferenz und trennt dann den Agenten.

Stattdessen Sinch Voice API v2 verwenden

Mit der oben beschriebenen Einrichtung übernimmt ElevenLabs den gesamten Sprachpfad. Wenn Sinch die Anrufsteuerung übernehmen soll, kann Sinch Voice API v2 einen Anruf annehmen, eigene Logik anwenden und über SVAML ohne Relay-Server eine zweite Verbindung zu Ihrem ElevenLabs-Agenten herstellen. Dieses Modell eignet sich besser, wenn Sie Sinch-Funktionen wie Anrufbeantwortererkennung, Anrufaufzeichnung oder Rufnummernmaskierung einfügen möchten, bevor der Agent beitritt, oder wenn der Agent ein Schritt in einem größeren Sinch-Anruffluss ist.

Im Tutorial von Sinch ElevenLabs-KI-Agent über SIP integrieren finden Sie weitere typische Szenarien.

Fehlerbehebung

  • Bestätigen Sie, dass der statische Endpunkt für eingehende Anrufe des Trunks auf sip.rtc.elevenlabs.io mit dem gewünschten Port und Transport verweist.
  • Bestätigen Sie, dass die DID diesem Trunk zugewiesen ist.
  • Prüfen Sie, ob die Nummer in ElevenLabs der von Sinch gesendeten Nummer entspricht, einschließlich des vorangestellten +.
  • Warten Sie nach Änderungen an Endpunkten oder ACLs mindestens 60 Sekunden und testen Sie dann erneut.
  • Stellen Sie sicher, dass Ihre Firewall die SIP-Signalisierung auf 5060 für TCP oder 5061 für TLS zulässt und RTP nicht blockiert.
  • Bestätigen Sie, dass Benutzername und Passwort des SIP-Trunks in ElevenLabs den Zugangsdaten des Sinch-Trunks entsprechen.
  • Prüfen Sie, dass das Feld Adresse nur den FQDN des Trunks enthält, ohne Präfix sip:.
  • Bestätigen Sie, dass die Länderberechtigungen auf dem Trunk für das Zielland aktiviert sind.
  • Bestätigen Sie, dass die angezeigte Anrufer-ID eine Nummer ist, die Sinch auf diesem Trunk akzeptiert.
  • Wenn Sie ACL-Authentifizierung verwenden, beachten Sie, dass die ElevenLabs-Signalisierung aus einem verteilten Pool von Adressen erfolgt. Wechseln Sie zur Digest-Authentifizierung oder zur Infrastruktur mit statischen IPs.
  • Bestätigen Sie, dass Ihre Firewall RTP über UDP in beide Richtungen zulässt und nicht auf bestimmte statische Adressen beschränkt ist.
  • Prüfen Sie, ob die Medienverschlüsselung übereinstimmt: Ein Sinch-Trunk mit TLS erwartet SRTP. Setzen Sie daher die Medienverschlüsselung in ElevenLabs auf Allowed oder Required.
  • Testen Sie mit TCP und deaktivierter Medienverschlüsselung, um festzustellen, ob das Problem mit TLS oder SRTP zusammenhängt.
  • Stellen Sie sicher, dass G711 auf dem Trunk angeboten wird. ElevenLabs unterstützt G711 und G722.

Eine 481-Antwort auf ein BYE bedeutet normalerweise, dass die Anfrage einen SIP-Server ohne Dialogstatus für diesen Anruf erreicht hat. Senden Sie In-Dialog-Anfragen an die im 200 OK zurückgegebene Contact-URI statt an die gemeinsame Adresse sip.rtc.elevenlabs.io. Wenn BYE oder REFER über TLS bei der Zertifikatsvalidierung fehlschlägt, fügen Sie den FQDN, für den das Zertifikat Ihres Trunks ausgestellt wurde, im Feld Remote domains in den Telefonnummerneinstellungen hinzu.

FAQ

Für die Produktion TLS auf 5061 in Kombination mit SRTP-Medien auf dem Sinch-Trunk. TCP auf 5060 ist ein sinnvoller Ausgangspunkt für die Validierung. UDP ist bei ElevenLabs experimentell und sollte nicht für Produktionsdatenverkehr verwendet werden.

ElevenLabs unterstützt G711 (8 kHz) und G722 (16 kHz). Lassen Sie G711 als gemeinsamen Nenner auf dem Sinch-Trunk aktiviert.

Benutzerdefinierte X--Header im eingehenden INVITE werden als dynamische Variablen verfügbar gemacht. Beispielsweise wird X-Contact-ID zu {{sip_contact_id}}. X-Call-ID und X-Caller-ID werden system__call_sid beziehungsweise system__caller_id zugeordnet. Die vollständigen Normalisierungsregeln finden Sie unter SIP-Trunking.