Skip to navigation

Sinch SIP-trunking

Verbind Sinch Elastic SIP Trunking met ElevenLabs Agents.

Overweeg voordat je deze handleiding volgt eerst de ElevenLabs-handleiding voor SIP-trunking en de Sinch Voice-handleiding voor SIP-trunking te lezen.

Overzicht

In deze handleiding wordt uitgelegd hoe je een Sinch Voice-applicatie rechtstreeks met ElevenLabs Agents verbindt. Met de integratie behoud je je Sinch-nummers en routering, terwijl ElevenLabs de ervaring met de voice AI-agent verzorgt.

Hoe SIP-trunking met Sinch werkt

Een Sinch SIP Trunk is een tweerichtingsverbinding tussen het Sinch-netwerk en het ElevenLabs-platform:

  1. Inkomende gesprekken: Een aan je Sinch Voice-applicatie toegewezen DID ontvangt een gesprek. Sinch stuurt de INVITE naar het ElevenLabs-originationadres dat als statisch endpoint is geconfigureerd in de inkomende instellingen van de trunk.
  2. Uitgaande gesprekken: Gesprekken die door ElevenLabs worden gestart, worden naar het SIP-adres met fully qualified domain name (FQDN) van je applicatie gestuurd, dat Sinch naar het PSTN routeert.
  3. Authenticatie: Sinch vereist authenticatie voor uitgaande gesprekken (SIP-credentials) en ondersteunt ACL-authenticatie (IP-allowlisting) voor verkeer dat op de trunk binnenkomt.

Vereisten

Controleer voordat je begint of je het volgende hebt:

  1. Een actief ElevenLabs-account met een geconfigureerde agent
  2. Een Sinch-account met een voice-applicatie die is gemaakt in het Sinch Build-dashboard
  3. Minstens één telefoonnummer (DID) dat je in Sinch hebt aangeschaft en aan de applicatie hebt toegewezen

Inkomende gesprekken configureren (Sinch naar ElevenLabs)

Wijs de doorschakeling van gesprekken voor je applicatie naar het ElevenLabs SIP-adres.

1

Log in bij het Sinch Build-dashboard

Log in bij je Sinch-account en ga naar de applicatie die je wilt verbinden.

2

Voeg een statisch endpoint voor ElevenLabs toe

Werk in de instellingen voor het doorschakelen van gesprekken van de applicatie de handler voor call events bij naar SIP Forwarding en voeg een statische SIP-URI toe die is gericht op het ElevenLabs-originationadres:

  • DID: het Sinch-telefoonnummer dat je wilt bellen
  • Adres: sip.rtc.elevenlabs.io
  • Poort en transport: 5061/TLS, 5060/TCP

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

Als je ElevenLabs-workspace een geïsoleerde data residency-regio of de statische IP-SIP-infrastructuur gebruikt, gebruik dan het bijbehorende endpoint in plaats van sip.rtc.elevenlabs.io. Zie data residency voor beschikbare regio’s.

3

Wijs je DID aan de applicatie toe

Wijs het telefoonnummer dat je agent moet bereiken aan deze applicatie toe.

Uitgaande gesprekken configureren (ElevenLabs naar Sinch)

Voor uitgaande gesprekken stuurt ElevenLabs een SIP-INVITE naar je Sinch-applicatie en authenticeert het zich daartegen.

1

Noteer de FQDN van je Sinch-regio

Haal de SIP FDQN van je Sinch-regio op. Dit is het terminationadres dat je in ElevenLabs invoert. Voer alleen de hostname in, zonder het voorvoegsel sip:.

2

Voer SIP-credentials in

Kopieer de key en secret van je Sinch-applicatie veilig. Deze gebruik je in ElevenLabs als gebruikersnaam en wachtwoord.

3

Doorschakelnummer

Je Sinch-applicatie schakelt het gesprek door naar het doorschakeladres. Om een uitgaand gesprek te voeren naar het nummer dat is opgegeven in de aanvraag voor uitgaande gesprekken, laat je dit veld leeg in de instellingen van je applicatie.

Installatie in ElevenLabs voltooien

1

Importeer het telefoonnummer van de SIP-trunk

Volg de handleiding voor SIP-trunking om je Sinch-nummer te importeren met deze instellingen:

InstellingWaarde
TelefoonnummerJe Sinch DID, bijvoorbeeld 15551234567
TransporttypeTLS
MediaversleutelingDisabled voor TCP; Allowed of Required wanneer de trunk is ingesteld voor TLS en SRTP
AdresDe FQDN van je Sinch-trunk, alleen hostname
SIP-trunkgebruikersnaamKey van de Sinch-applicatie
SIP-trunkwachtwoordSecret van de Sinch-applicatie

Houd de transport- en versleutelingsinstellingen aan beide kanten consistent.

2

Wijs een agent toe

Wijs een agent toe aan het nummer in het Phone Numbers-dashboard. Inkomende gesprekken naar de DID bereiken nu die agent.

3

Test een uitgaand gesprek

Plaats vanuit de agent een gesprek via je Sinch-applicatie, via het telefoonnummermenu of de API voor uitgaande gesprekken:

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"
}'

Zie Uitgaand gesprek via SIP-trunk voor het volledige requestschema en Batchgesprekken voor het uitvoeren van uitgaande campagnes.

Transfers configureren

Agents dragen gesprekken over aan een persoon via de systeemtool transfer_to_number.

Alleen conference transfers werken via een Sinch-trunk. SIP REFER en blind transfers mislukken.

Conference transfers

ElevenLabs belt de bestemming via je Sinch-trunk, voegt beide partijen samen in een conference en verbreekt vervolgens de verbinding met de agent.

Gebruik in plaats daarvan Sinch Voice API v2

Met de bovenstaande installatie krijgt ElevenLabs het volledige voicepad. Als je wilt dat Sinch de call control beheert, kan Sinch Voice API v2 een gesprek beantwoorden, eigen logica toepassen en via SVAML zonder relayserver een tweede verbinding met je ElevenLabs-agent overbruggen. Dit model past beter wanneer je Sinch-functies zoals voicemaildetectie, gespreksopname of nummerafscherming wilt invoegen voordat de agent deelneemt, of wanneer de agent één stap is in een grotere Sinch-callflow.

Zie de tutorial van Sinch over een ElevenLabs AI-agent integreren via SIP voor andere gebruikelijke scenario’s.

Problemen oplossen

  • Controleer of het statische inkomende endpoint van de trunk is gericht op sip.rtc.elevenlabs.io via de poort en het transport die je wilt gebruiken.
  • Controleer of de DID aan die trunk is toegewezen.
  • Controleer of het nummer in ElevenLabs overeenkomt met wat Sinch verstuurt, inclusief de voorloop-+.
  • Wacht na het wijzigen van endpoints of ACL’s minimaal 60 seconden en test vervolgens opnieuw.
  • Controleer of je firewall SIP-signaling op 5060 voor TCP of 5061 voor TLS toestaat en RTP niet blokkeert.
  • Controleer of de SIP-trunkgebruikersnaam en het wachtwoord in ElevenLabs overeenkomen met de credentials op de Sinch-trunk.
  • Controleer of het veld Adres alleen de FQDN van de trunk bevat, zonder het voorvoegsel sip:.
  • Controleer of de landspecifieke rechten op de trunk zijn ingeschakeld voor het land van bestemming.
  • Controleer of de caller ID die je presenteert een nummer is dat Sinch voor die trunk accepteert.
  • Als je ACL-authenticatie gebruikt, houd er dan rekening mee dat ElevenLabs-signaling afkomstig is van een gedistribueerde pool van adressen. Schakel over op digest authentication of gebruik de statische IP-infrastructuur.
  • Controleer of je firewall RTP via UDP in beide richtingen toestaat en niet is beperkt tot specifieke statische adressen.
  • Controleer of mediaversleuteling overeenkomt: een TLS Sinch-trunk verwacht SRTP, dus stel mediaversleuteling in ElevenLabs in op Allowed of Required.
  • Test met TCP en uitgeschakelde mediaversleuteling om te bepalen of het probleem verband houdt met TLS of SRTP.
  • Controleer of G711 op de trunk wordt aangeboden. ElevenLabs ondersteunt G711 en G722.

Een 481-reactie op een BYE betekent meestal dat de aanvraag een SIP-server bereikte zonder de dialog state voor dat gesprek. Stuur in-dialog-aanvragen naar de Contact-URI die wordt teruggegeven in de 200 OK, in plaats van naar het gedeelde adres sip.rtc.elevenlabs.io. Als BYE of REFER via TLS de certificaatvalidatie niet doorstaat, voeg je de FQDN waarvoor het certificaat van je trunk is uitgegeven toe aan het veld Remote domains in de telefoonnummerinstellingen.

Veelgestelde vragen

Gebruik voor productie TLS op 5061, gekoppeld aan SRTP-media op de Sinch-trunk. TCP op 5060 is een redelijk beginpunt voor validatie. UDP is experimenteel bij ElevenLabs en mag niet voor productieverkeer worden gebruikt.

ElevenLabs ondersteunt G711 (8 kHz) en G722 (16 kHz). Zorg dat G711 op de Sinch-trunk wordt aangeboden als gemeenschappelijke basis.

Aangepaste X--headers op de inkomende INVITE worden beschikbaar gemaakt als dynamische variabelen. Zo wordt X-Contact-ID bijvoorbeeld {{sip_contact_id}}. X-Call-ID en X-Caller-ID worden toegewezen aan system__call_sid en system__caller_id. Zie SIP-trunking voor de volledige normalisatieregels.