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

## Überblick

Verbinden Sie ElevenLabs Agents über eine [WebSocket-Connector-Anwendung](https://github.com/nexmo-se/elevenlabs-agent-ws-connector) mit Anrufen über die Vonage Voice API oder Video API. Dies ermöglicht bidirektionales Audio-Streaming in Echtzeit für Anwendungsfälle wie PSTN-Anrufe, SIP-Trunks und WebRTC-Clients.

## So funktioniert es

Der Node.js-Connector verbindet Vonage und ElevenLabs:

1. Vonage initiiert für einen aktiven Anruf eine WebSocket-Verbindung zum Connector.
2. Der Connector stellt eine WebSocket-Verbindung zum ElevenLabs-Agents-Endpunkt her.
3. Audio wird weitergeleitet: Vonage (L16) -> Connector -> ElevenLabs (base64) und umgekehrt.
4. Der Connector verwaltet Gesprächsereignisse (`user_transcript`, `agent_response`, `interruption`).

## Einrichtung

### 1. ElevenLabs-Zugangsdaten abrufen

* **API Key**: API-Keys finden Sie im Tab [API Keys auf der Seite Developers](https://elevenlabs.io/app/developers), die in der Seitenleiste verlinkt ist.
* **Agent ID**: Suchen Sie den Agent im [ElevenAgents-Dashboard](https://elevenlabs.io/app/agents/agents/). Nachdem Sie den Agent ausgewählt haben, klicken Sie auf die Schaltfläche für die Einstellungen und wählen Sie "Copy Agent ID".

### 2. Connector konfigurieren

Klonen Sie das Repository und richten Sie die Umgebungsdatei ein.

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

Fügen Sie Ihre Zugangsdaten zu `.env` hinzu:

**`.env`**

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

Installieren Sie die Abhängigkeiten: `npm install`.

### 3. Connector bereitstellen (lokale Entwicklung)

Verwenden Sie ngrok oder einen ähnlichen Dienst, um eine öffentliche URL für den Connector zu erstellen (Standardport 6000).

```bash
ngrok http 6000
```

Notieren Sie die öffentliche `Forwarding`-URL (z. B. `xxxxxxxx.ngrok-free.app`). \*\*Fügen Sie bei der Konfiguration von Vonage nicht `https://` ein \*\*.

### 4. Connector ausführen

Starten Sie die Anwendung:

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

### 5. Vonage-Voice-Anwendung konfigurieren

Ihre Vonage-App muss eine Verbindung zum WebSocket-Endpunkt des Connectors herstellen (`wss://YOUR_CONNECTOR_HOSTNAME/socket`). Dies ist die ngrok-URL aus Schritt 3.

* **Beispiel-App verwenden**: Konfigurieren Sie die [Vonage-Beispiel-App](https://github.com/nexmo-se/voice-to-ai-engines), wobei `PROCESSOR_SERVER` auf den Hostnamen Ihres Connectors gesetzt ist.
* **Bestehende App aktualisieren**: Ändern Sie Ihr [Nexmo Call Control Object](https://developer.vonage.com/en/voice/voice-api/ncco-reference), um eine `connect`-Aktion einzuschließen, die auf die WebSocket-URI des Connectors (`wss://...`) mit `content-type: audio/l16;rate=16000` verweist. Übergeben Sie erforderliche Abfrageparameter wie `peer_uuid` und `webhook_url`.

### 6. Testen

Führen Sie über Ihre Vonage-Anwendung einen eingehenden oder ausgehenden Anruf durch, um mit dem ElevenLabs-Agent zu interagieren.

## Cloud-Bereitstellung

Für den Produktionseinsatz stellen Sie den Connector bei einem stabilen Hosting-Anbieter (z. B. Vonage Cloud Runtime) mit einem öffentlichen Hostnamen bereit.