Twilio通話を登録する
Twilio通話を登録する
独自のTwilioインフラを使用して、通話をElevenLabsエージェントに接続します。
このガイドでは、Twilioインフラを完全に制御する必要があるデベロッパー向けの高度なインテグレーションパターンを説明します。より簡単に設定するには、設定を自動的に処理するネイティブTwilioインテグレーションの使用をご検討ください。
アプローチごとの使い分け
始める前に、ネイティブインテグレーションと通話登録アプローチの違いを確認しましょう。
概要
通話登録エンドポイントを使用すると、会話にはElevenLabsエージェントを活用しながら、独自のTwilioインフラを使用できます。Twilio番号をElevenLabsにインポートする代わりに、Twilio設定を完全に制御したまま、ElevenLabs APIで通話を登録し、エージェントへの接続に使用するTwiMLを受け取れます。
このアプローチは、次の場合に適しています。
- 既存のTwilioインフラとワークフローを維持する必要がある
- 通話のルーティングと処理をプログラムで制御したい
- エージェントに接続する前にカスタムTwilioロジックが必要な複雑な通話フローがある
- ElevenLabsエージェントを既存の電話システムに統合する必要がある
仕組み
- サーバーがTwilio経由で着信通話を受信するか、発信通話を開始します
- サーバーがエージェントと通話の詳細を指定してElevenLabsの通話登録エンドポイントを呼び出します
- ElevenLabsは、WebSocket経由で通話をエージェントに接続するTwiMLを返します
- このTwiMLをTwilioに返して接続を確立します
通話登録エンドポイントを使用する場合、ElevenLabsはTwilioアカウントの認証情報に直接アクセスできないため、通話転送機能は利用できません。
前提条件
- ElevenLabsアカウント
- 設定済みのElevenLabs会話型AIエージェント(こちらから作成)
- 有効な電話番号を持つTwilioアカウント
- μ-law 8000 Hzオーディオ形式で設定されたエージェント(エージェント設定を参照)
エージェント設定
通話登録エンドポイントを使用する前に、Twilioがサポートする正しいオーディオ形式を使用するようエージェントを設定します。
APIリファレンス
通話登録エンドポイントでは、次のパラメータを受け付けます。
エンドポイントは、Twilioに直接渡すTwiMLを返します。
実装
発信通話
発信通話の場合は、Twilio経由で通話を開始し、Webhook URLをサーバーに指定します。サーバーでElevenLabsへの登録を行います。
会話をパーソナライズする
conversation_initiation_client_dataパラメータを使用して、動的変数を渡し、エージェント設定をオーバーライドします。
Twilioの設定
Twilioの電話番号がサーバーを指すように設定します。
Twilio番号を設定
- Twilio Consoleにアクセスします
- Phone Numbers > Manage > Active numbersに移動します
- 電話番号を選択します
- 「Voice Configuration」で、Webhook URLをサーバーエンドポイントに設定します(例:
https://your-ngrok-url.ngrok.app/twilio/inbound) - HTTPメソッドをPOSTに設定します

制限事項
ネイティブインテグレーションではなく通話登録エンドポイントを使用する場合:
- 通話転送なし:ElevenLabsはTwilio認証情報にアクセスできないため、転送機能は利用できません
- 手動設定:オーディオ形式を設定し、TwiMLのルーティングを自身で処理する必要があります
- ダッシュボードへのインポートなし:この方法で登録した電話番号は、ElevenLabsの電話番号ダッシュボードに表示されません

