> 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.

# Intégration Vonage

## Vue d’ensemble

Connectez ElevenLabs Agents aux appels Voice API ou Video API de Vonage à l’aide d’une [application de connecteur WebSocket](https://github.com/nexmo-se/elevenlabs-agent-ws-connector). Cette intégration permet la diffusion audio bidirectionnelle en temps réel pour des cas d’usage tels que les appels PSTN, les trunks SIP et les clients WebRTC.

## Fonctionnement

Le connecteur Node.js fait le lien entre Vonage et ElevenLabs :

1. Vonage établit une connexion WebSocket avec le connecteur pour un appel actif.
2. Le connecteur établit une connexion WebSocket avec le point de terminaison ElevenLabs Agents.
3. L’audio est relayé : Vonage (L16) -> Connecteur -> ElevenLabs (base64), et inversement.
4. Le connecteur gère les événements de conversation (`user_transcript`, `agent_response`, `interruption`).

## Configuration

### 1. Obtenez vos identifiants ElevenLabs

* **Clé API** : les clés API se trouvent dans l’[onglet API Keys de la page Developers](https://elevenlabs.io/app/developers), accessible depuis la barre latérale.
* **ID de l’agent** : recherchez l’agent dans le [Dashboard ElevenAgents](https://elevenlabs.io/app/agents/agents/). Après avoir sélectionné l’agent, cliquez sur le bouton des paramètres et sélectionnez « Copy Agent ID ».

### 2. Configurez le connecteur

Clonez le dépôt et configurez le fichier d’environnement.

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

Ajoutez vos identifiants à `.env` :

**`.env`**

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

Installez les dépendances : `npm install`.

### 3. Exposez le connecteur (développement local)

Utilisez ngrok, ou un service similaire, pour créer une URL publique pour le connecteur (port 6000 par défaut).

```bash
ngrok http 6000
```

Notez l’URL publique `Forwarding` (par exemple, `xxxxxxxx.ngrok-free.app`). **N’incluez pas `https://`** lors de la configuration de Vonage.

### 4. Exécutez le connecteur

Démarrez l’application :

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

### 5. Configurez l’application vocale Vonage

Votre application Vonage doit se connecter au point de terminaison WebSocket du connecteur (`wss://YOUR_CONNECTOR_HOSTNAME/socket`). Il s’agit de l’URL ngrok de l’étape 3.

* **Utiliser l’application exemple** : configurez l’[application exemple Vonage](https://github.com/nexmo-se/voice-to-ai-engines) avec `PROCESSOR_SERVER` défini sur le nom d’hôte de votre connecteur.
* **Mettre à jour une application existante** : modifiez votre [Nexmo Call Control Object](https://developer.vonage.com/en/voice/voice-api/ncco-reference) afin d’inclure une action `connect` ciblant l’URI WebSocket du connecteur (`wss://...`) avec `content-type: audio/l16;rate=16000`. Transmettez les paramètres de requête nécessaires, tels que `peer_uuid` et `webhook_url`.

### 6. Testez

Effectuez un appel entrant ou sortant via votre application Vonage pour interagir avec l’agent ElevenLabs.

## Déploiement dans le cloud

Pour la production, déployez le connecteur chez un fournisseur d’hébergement stable (par exemple, Vonage Cloud Runtime) disposant d’un nom d’hôte public.