Vonageインテグレーション

WebSocketコネクターを使用して、ElevenAgentsをVonage音声通話と統合します。

概要

WebSocketコネクターアプリケーションを使用して、ElevenLabs AgentsをVonage Voice APIまたはVideo APIの通話に接続します。これにより、PSTN通話、SIPトランク、WebRTCクライアントなどのユースケースで、リアルタイムの双方向オーディオストリーミングが可能になります。

仕組み

Node.jsコネクターはVonageとElevenLabsをブリッジします。

  1. Vonageが、進行中の通話用にコネクターへのWebSocket接続を開始します。
  2. コネクターがElevenLabs AgentsエンドポイントへのWebSocket接続を確立します。
  3. オーディオはVonage(L16)→コネクター→ElevenLabs(base64)の順に中継され、その逆方向にも中継されます。
  4. コネクターが会話イベント(user_transcript、agent_response、interruption)を管理します。

セットアップ

1

1. ElevenLabsの認証情報を取得する

2

2. コネクターを設定する

リポジトリをクローンし、環境ファイルをセットアップします。

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

認証情報を.envに追加します。

.env
ELEVENLABS_API_KEY = YOUR_API_KEY;
ELEVENLABS_AGENT_ID = YOUR_AGENT_ID;

依存関係をインストールします:npm install。

3

3. コネクターを公開する(ローカル開発)

ngrokまたは同様のサービスを使用して、コネクター用のパブリックURLを作成します(デフォルトポートは6000)。

ngrok http 6000

パブリックForwarding URL(例:xxxxxxxx.ngrok-free.app)を控えます。Vonageの設定時に**https://を含めないでください**。

4

4. コネクターを実行する

アプリケーションを起動します。

node elevenlabs-agent-ws-connector.cjs
5

5. Vonage音声アプリケーションを設定する

Vonageアプリは、コネクターのWebSocketエンドポイント(wss://YOUR_CONNECTOR_HOSTNAME/socket)に接続する必要があります。これはステップ3で取得したngrok URLです。

  • サンプルアプリを使用:サンプルVonageアプリで、PROCESSOR_SERVERをコネクターのホスト名に設定します。
  • 既存アプリを更新:Nexmo Call Control Objectを変更し、content-type: audio/l16;rate=16000を指定してコネクターのWebSocket URI(wss://...)を対象とするconnectアクションを含めます。peer_uuidやwebhook_urlなど、必要なクエリパラメーターを渡します。
6

6. テスト

Vonageアプリケーション経由で着信または発信し、ElevenLabsエージェントと対話します。

クラウドデプロイ

本番環境では、パブリックホスト名を持つ安定したホスティングプロバイダー(例:Vonage Cloud Runtime)にコネクターをデプロイします。