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

# Integracja z Vonage

## Omówienie

Połącz ElevenLabs Agents z połączeniami Vonage Voice API lub Video API za pomocą [aplikacji konektora WebSocket](https://github.com/nexmo-se/elevenlabs-agent-ws-connector). Umożliwia to przesyłanie audio w czasie rzeczywistym i w obu kierunkach w przypadkach użycia takich jak połączenia PSTN, trunki SIP i klienci WebRTC.

## Jak to działa

Konektor Node.js łączy Vonage i ElevenLabs:

1. Vonage inicjuje połączenie WebSocket z konektorem dla aktywnego połączenia.
2. Konektor ustanawia połączenie WebSocket z punktem końcowym ElevenLabs Agents.
3. Audio jest przekazywane: Vonage (L16) -> Connector -> ElevenLabs (base64) i odwrotnie.
4. Konektor zarządza zdarzeniami rozmowy (`user_transcript`, `agent_response`, `interruption`).

## Konfiguracja

### 1. Pobierz dane logowania ElevenLabs

* **Klucz API**: Klucze API znajdziesz na [karcie API Keys na stronie Developers](https://elevenlabs.io/app/developers), do której link jest w pasku bocznym.
* **ID agenta**: Znajdź agenta w [panelu ElevenAgents](https://elevenlabs.io/app/agents/agents/). Po wybraniu agenta kliknij przycisk ustawień i wybierz "Copy Agent ID".

### 2. Skonfiguruj konektor

Sklonuj repozytorium i skonfiguruj plik środowiskowy.

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

Dodaj dane logowania do `.env`:

**`.env`**

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

Zainstaluj zależności: `npm install`.

### 3. Udostępnij konektor (lokalne środowisko deweloperskie)

Użyj ngrok lub podobnej usługi, aby utworzyć publiczny URL konektora (domyślny port to 6000).

```bash
ngrok http 6000
```

Zapisz publiczny URL `Forwarding` (np. `xxxxxxxx.ngrok-free.app`). Podczas konfiguracji Vonage **nie dodawaj `https://`**.

### 4. Uruchom konektor

Uruchom aplikację:

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

### 5. Skonfiguruj aplikację głosową Vonage

Aplikacja Vonage musi połączyć się z punktem końcowym WebSocket konektora (`wss://YOUR_CONNECTOR_HOSTNAME/socket`). To adres URL ngrok z kroku 3.

* **Użyj przykładowej aplikacji**: Skonfiguruj [przykładową aplikację Vonage](https://github.com/nexmo-se/voice-to-ai-engines), ustawiając `PROCESSOR_SERVER` na nazwę hosta konektora.
* **Zaktualizuj obecną aplikację**: Zmień swój [Nexmo Call Control Object](https://developer.vonage.com/en/voice/voice-api/ncco-reference), aby uwzględniał akcję `connect` kierowaną na URI WebSocket konektora (`wss://...`) z `content-type: audio/l16;rate=16000`. Przekaż potrzebne parametry zapytania, takie jak `peer_uuid` i `webhook_url`.

### 6. Test

Wykonaj połączenie przychodzące lub wychodzące przez aplikację Vonage, aby porozmawiać z agentem ElevenLabs.

## Wdrożenie w chmurze

W środowisku produkcyjnym wdroż konektor u stabilnego dostawcy hostingu (np. Vonage Cloud Runtime) z publiczną nazwą hosta.