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

# Integración con Vonage

## Descripción general

Conecta ElevenLabs Agents a llamadas de Vonage Voice API o Video API mediante una [aplicación de conector WebSocket](https://github.com/nexmo-se/elevenlabs-agent-ws-connector). Esto permite la transmisión de audio bidireccional en tiempo real para casos de uso como llamadas PSTN, troncales SIP y clientes WebRTC.

## Cómo funciona

El conector de Node.js conecta Vonage y ElevenLabs:

1. Vonage inicia una conexión WebSocket con el conector para una llamada activa.
2. El conector establece una conexión WebSocket con la ruta de ElevenLabs Agents.
3. El audio se retransmite: Vonage (L16) -> Conector -> ElevenLabs (base64) y viceversa.
4. El conector gestiona eventos de conversación (`user_transcript`, `agent_response`, `interruption`).

## Configuración

### 1. Obtén las credenciales de ElevenLabs

* **Clave de API**: Las claves de API se encuentran en la [pestaña API Keys de la página Developers](https://elevenlabs.io/app/developers), enlazada en la barra lateral.
* **ID del agente**: Busca el agente en el [panel de ElevenAgents](https://elevenlabs.io/app/agents/agents/). Cuando hayas seleccionado el agente, haz clic en el botón de configuración y selecciona "Copy Agent ID".

### 2. Configura el conector

Clona el repositorio y configura el archivo de entorno.

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

Añade tus credenciales a `.env`:

**`.env`**

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

Instala las dependencias: `npm install`.

### 3. Expón el conector (desarrollo local)

Usa ngrok o un servicio similar para crear una URL pública para el conector (puerto predeterminado: 6000).

```bash
ngrok http 6000
```

Anota la URL pública de `Forwarding` (por ejemplo, `xxxxxxxx.ngrok-free.app`). **No incluyas `https://`** al configurar Vonage.

### 4. Ejecuta el conector

Inicia la aplicación:

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

### 5. Configura la aplicación de voz de Vonage

Tu aplicación de Vonage debe conectarse a la ruta WebSocket del conector (`wss://YOUR_CONNECTOR_HOSTNAME/socket`). Esta es la URL de ngrok del paso 3.

* **Usa la aplicación de ejemplo**: Configura la [aplicación de ejemplo de Vonage](https://github.com/nexmo-se/voice-to-ai-engines) con `PROCESSOR_SERVER` establecido como el nombre de host de tu conector.
* **Actualiza una aplicación existente**: Modifica tu [Nexmo Call Control Object](https://developer.vonage.com/en/voice/voice-api/ncco-reference) para incluir una acción `connect` dirigida a la URI WebSocket del conector (`wss://...`) con `content-type: audio/l16;rate=16000`. Pasa los parámetros de consulta necesarios, como `peer_uuid` y `webhook_url`.

### 6. Prueba

Haz una llamada entrante o saliente mediante tu aplicación de Vonage para interactuar con el agente de ElevenLabs.

## Implementación en la nube

Para producción, implementa el conector en un proveedor de alojamiento estable (por ejemplo, Vonage Cloud Runtime) con un nombre de host público.