Sinch-SIP-Trunking
Sinch-SIP-Trunking
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:
- Eingehende Anrufe: Eine Ihrer Sinch-Voice-Anwendung zugewiesene DID erhält einen Anruf. Sinch sendet den
INVITEan die ElevenLabs-Originierungsadresse, die als statischer Endpunkt in den Einstellungen für eingehende Anrufe des Trunks konfiguriert ist. - 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.
- 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:
- Ein aktives ElevenLabs-Konto mit einem konfigurierten Agenten
- Ein Sinch-Konto mit einer im Sinch-Build-Dashboard erstellten Voice-Anwendung
- 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.
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.
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.
Ausgehende Anrufe konfigurieren (ElevenLabs zu Sinch)
Für ausgehende Anrufe sendet ElevenLabs einen SIP-INVITE an Ihre Sinch-Anwendung und authentifiziert sich dort.
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.
Einrichtung in ElevenLabs abschließen
Telefonnummer des SIP-Trunks importieren
Folgen Sie der Anleitung zum SIP-Trunking, um Ihre Sinch-Nummer mit diesen Einstellungen zu importieren:
Halten Sie die Transport- und Verschlüsselungseinstellungen auf beiden Seiten konsistent.
Agenten zuweisen
Weisen Sie der Nummer im Telefonnummern-Dashboard einen Agenten zu. Eingehende Anrufe an die DID erreichen jetzt diesen Agenten.
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:
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
Eingehende Anrufe können nicht verbunden werden
- Bestätigen Sie, dass der statische Endpunkt für eingehende Anrufe des Trunks auf
sip.rtc.elevenlabs.iomit 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.
Ausgehende Anrufe erhalten 403- oder 407-Antworten
- 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.
Einseitiges Audio oder kein Audio
- 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
AllowedoderRequired. - 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.
Anrufe werden nach dem Auflegen des Agenten nicht beendet
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
Welchen Transport sollte ich verwenden?
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.
Welche Audio-Codecs sind kompatibel?
ElevenLabs unterstützt G711 (8 kHz) und G722 (16 kHz). Lassen Sie G711 als gemeinsamen Nenner auf dem Sinch-Trunk aktiviert.
Wie übergebe ich Anruferkontext an die Konversation?
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.