Vonageインテグレーション
Vonageインテグレーション
WebSocketコネクターを使用して、ElevenAgentsをVonage音声通話と統合します。
概要
WebSocketコネクターアプリケーションを使用して、ElevenLabs AgentsをVonage Voice APIまたはVideo APIの通話に接続します。これにより、PSTN通話、SIPトランク、WebRTCクライアントなどのユースケースで、リアルタイムの双方向オーディオストリーミングが可能になります。
仕組み
Node.jsコネクターはVonageとElevenLabsをブリッジします。
- Vonageが、進行中の通話用にコネクターへのWebSocket接続を開始します。
- コネクターがElevenLabs AgentsエンドポイントへのWebSocket接続を確立します。
- オーディオはVonage(L16)→コネクター→ElevenLabs(base64)の順に中継され、その逆方向にも中継されます。
- コネクターが会話イベント(
user_transcript、agent_response、interruption)を管理します。
セットアップ
1. ElevenLabsの認証情報を取得する
- APIキー:APIキーは、サイドバーからリンクされているDevelopersページのAPI Keysタブにあります。
- エージェントID:ElevenAgentsダッシュボードでエージェントを見つけます。エージェントを選択したら、設定ボタンをクリックして「Copy Agent ID」を選択します。
3. コネクターを公開する(ローカル開発)
ngrokまたは同様のサービスを使用して、コネクター用のパブリックURLを作成します(デフォルトポートは6000)。
パブリックForwarding URL(例:xxxxxxxx.ngrok-free.app)を控えます。Vonageの設定時に**https://を含めないでください**。
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など、必要なクエリパラメーターを渡します。
クラウドデプロイ
本番環境では、パブリックホスト名を持つ安定したホスティングプロバイダー(例:Vonage Cloud Runtime)にコネクターをデプロイします。