Integración con Vonage

Integra ElevenAgents con llamadas de voz de Vonage mediante un conector WebSocket.

Descripción general

Conecta ElevenLabs Agents a llamadas de Vonage Voice API o Video API mediante una aplicación de conector WebSocket. 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

1. Obtén las credenciales de ElevenLabs

2

2. Configura el conector

Clona el repositorio y configura el archivo de entorno.

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
ELEVENLABS_API_KEY = YOUR_API_KEY;
ELEVENLABS_AGENT_ID = YOUR_AGENT_ID;

Instala las dependencias: npm install.

3

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

ngrok http 6000

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

4

4. Ejecuta el conector

Inicia la aplicación:

node elevenlabs-agent-ws-connector.cjs
5

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 con PROCESSOR_SERVER establecido como el nombre de host de tu conector.
  • Actualiza una aplicación existente: Modifica tu Nexmo Call Control Object 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

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.