> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Vonage-integratie

## Overzicht

Koppel ElevenLabs Agents aan gesprekken via de Vonage Voice API of Video API met een [WebSocket-connectorapplicatie](https://github.com/nexmo-se/elevenlabs-agent-ws-connector). Hiermee kun je realtime, bidirectionele audiostreaming gebruiken voor toepassingen zoals PSTN-gesprekken, SIP-trunks en WebRTC-clients.

## Zo werkt het

De Node.js-connector vormt de brug tussen Vonage en ElevenLabs:

1. Vonage start een WebSocket-verbinding met de connector voor een actief gesprek.
2. De connector brengt een WebSocket-verbinding tot stand met het ElevenLabs Agents-endpoint.
3. Audio wordt doorgestuurd: Vonage (L16) -> Connector -> ElevenLabs (base64) en omgekeerd.
4. De connector beheert gespreksgebeurtenissen (`user_transcript`, `agent_response`, `interruption`).

## Instellen

### 1. ElevenLabs-inloggegevens ophalen

* **API Key**: API-sleutels vind je op het tabblad [API Keys op de pagina Developers](https://elevenlabs.io/app/developers), waarnaar in de zijbalk wordt gelinkt.
* **Agent ID**: Zoek de agent in het [ElevenAgents-dashboard](https://elevenlabs.io/app/agents/agents/). Nadat je de agent hebt geselecteerd, klik je op de instellingenknop en kies je "Copy Agent ID".

### 2. De connector configureren

Kloon de repository en stel het omgevingsbestand in.

```bash
git clone https://github.com/nexmo-se/elevenlabs-agent-ws-connector.git
cd elevenlabs-agent-ws-connector
cp .env.example .env
```

Voeg je inloggegevens toe aan `.env`:

**`.env`**

```bash title=".env"
ELEVENLABS_API_KEY = YOUR_API_KEY;
ELEVENLABS_AGENT_ID = YOUR_AGENT_ID;
```

Installeer afhankelijkheden: `npm install`.

### 3. De connector beschikbaar maken (lokale ontwikkeling)

Gebruik ngrok of een vergelijkbare service om een openbare URL voor de connector te maken (standaardpoort 6000).

```bash
ngrok http 6000
```

Noteer de openbare `Forwarding`-URL (bijv. `xxxxxxxx.ngrok-free.app`). **Voeg `https://` niet toe** wanneer je Vonage configureert.

### 4. De connector uitvoeren

Start de applicatie:

```bash
node elevenlabs-agent-ws-connector.cjs
```

### 5. De Vonage-spraakapplicatie configureren

Je Vonage-app moet verbinding maken met het WebSocket-endpoint van de connector (`wss://YOUR_CONNECTOR_HOSTNAME/socket`). Dit is de ngrok-URL uit stap 3.

* **Voorbeeldapp gebruiken**: Configureer de [Vonage-voorbeeldapp](https://github.com/nexmo-se/voice-to-ai-engines) met `PROCESSOR_SERVER` ingesteld op de hostnaam van je connector.
* **Bestaande app bijwerken**: Pas je [Nexmo Call Control Object](https://developer.vonage.com/en/voice/voice-api/ncco-reference) aan om een `connect`-actie op te nemen die is gericht op de WebSocket-URI van de connector (`wss://...`) met `content-type: audio/l16;rate=16000`. Geef benodigde queryparameters door, zoals `peer_uuid` en `webhook_url`.

### 6. Testen

Voer een inkomend of uitgaand gesprek via je Vonage-applicatie om met de ElevenLabs-agent te communiceren.

## Cloudimplementatie

Implementeer de connector voor productie bij een stabiele hostingprovider (bijv. Vonage Cloud Runtime) met een openbare hostnaam.