Sinch SIPトランキング

Sinch Elastic SIP TrunkingをElevenLabs Agentsに接続します。

このガイドを始める前に、ElevenLabs SIPトランキングガイドとSinch Voice SIPトランキングガイドをお読みください。

概要

このガイドでは、Sinch VoiceアプリケーションをElevenLabs Agentsに直接接続する方法を説明します。このインテグレーションにより、Sinchの番号とルーティングを維持したまま、ElevenLabsがAI音声エージェントの体験を担います。

SinchでのSIPトランキングの仕組み

Sinch SIPトランクは、SinchネットワークとElevenLabsプラットフォーム間の双方向接続です。

  1. 着信通話:Sinch Voiceアプリケーションに割り当てられたDIDに着信があります。Sinchは、トランクの着信設定で静的エンドポイントとして構成されたElevenLabsの発信元アドレスにINVITEを送信します。
  2. 発信通話:ElevenLabsが開始した通話は、アプリケーションの完全修飾ドメイン名(FQDN)のSIPアドレスに送信され、SinchがPSTNにルーティングします。
  3. 認証:Sinchでは発信認証(SIP認証情報)が必要で、トランクに到着するトラフィックにはACL認証(IP許可リスト)を使用できます。

要件

開始する前に、以下を用意してください。

  1. エージェントが設定された有効なElevenLabsアカウント
  2. Sinch Buildダッシュボードで音声アプリケーションを作成済みのSinchアカウント
  3. Sinchで購入し、アプリケーションに割り当てた電話番号(DID)を少なくとも1つ

着信通話の設定(SinchからElevenLabs)

アプリケーションの着信転送先をElevenLabs SIPアドレスに設定します。

1

Sinch Buildダッシュボードにサインインする

Sinchアカウントにログインし、接続するアプリケーションに移動します。

2

ElevenLabs用の静的エンドポイントを追加する

アプリケーションの着信転送設定で、通話イベントハンドラーをSIP Forwardingに更新し、ElevenLabsの発信元アドレスを指定する静的SIP URIを追加します。

  • DID:発信先にするSinchの電話番号
  • アドレス:sip.rtc.elevenlabs.io
  • ポートとトランスポート:5061/TLS、5060/TCP

例:sip:15551234567@sip.rtc.elevenlabs.io:5061;transport=tls。

ElevenLabsワークスペースで分離されたデータレジデンシーリージョンまたは静的IPSIPインフラストラクチャを使用している場合は、sip.rtc.elevenlabs.ioではなく対応するエンドポイントを使用してください。利用可能なリージョンについては、データレジデンシーを参照してください。

3

DIDをアプリケーションに割り当てる

エージェントに到達させる電話番号をこのアプリケーションに割り当てます。

発信通話の設定(ElevenLabsからSinch)

発信通話では、ElevenLabsがSinchアプリケーションにSIP INVITEを送信し、認証を行います。

1

SinchリージョンのFQDNを確認する

SinchリージョンのSIP FDQNを取得します。これはElevenLabsに入力する終端アドレスです。sip:プレフィックスは付けず、ホスト名のみを入力してください。

2

SIP認証情報を入力する

Sinchアプリケーションのキーとシークレットを安全にコピーします。ElevenLabsでは、それぞれユーザー名とパスワードとして使用します。

3

転送先番号

Sinchアプリケーションは、通話を転送先アドレスに転送します。発信通話リクエストで指定した番号に発信するには、アプリケーション設定でこのフィールドを空欄のままにしてください。

ElevenLabsでセットアップを完了する

1

SIPトランクの電話番号をインポートする

SIPトランキングガイドに従って、次の設定でSinch番号をインポートします。

設定値
電話番号Sinch DID。例:15551234567
トランスポートタイプTLS
メディア暗号化TCPの場合はDisabled、トランクをTLSおよびSRTP用に設定している場合はAllowedまたはRequired
アドレスSinchトランクのFQDN。ホスト名のみ
SIPトランクのユーザー名Sinchアプリケーションキー
SIPトランクのパスワードSinchアプリケーションシークレット

トランスポートと暗号化の設定は、両側で一致させてください。

2

エージェントを割り当てる

電話番号ダッシュボードで番号にエージェントを割り当てます。これでDIDへの着信はそのエージェントに届きます。

3

発信通話をテストする

電話番号メニューまたは発信通話APIを使用して、エージェントからSinchアプリケーション経由で通話を発信します。

curl -X POST https://api.elevenlabs.io/v1/convai/sip-trunk/outbound-call \
-H "xi-api-key: $ELEVENLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "agent_7101k5zvyjhmfg983brhmhkd98n6",
"agent_phone_number_id": "phnum_8901k4t9z5defmb8vh3e9361y7nj",
"to_number": "+15551234567"
}'

完全なリクエストスキーマについては​​SIPトランク経由の発信通話を、発信キャンペーンの実行については一括通話を参照してください。

転送の設定

エージェントはtransfer_to_numberシステムツールを使用して、通話を担当者に引き継ぎます。

Sinchトランクで機能するのは会議転送のみです。SIP REFERおよびブラインド転送は失敗します。

会議転送

ElevenLabsはSinchトランク経由で宛先に発信し、両者を会議に接続した後、エージェントを切断します。

代わりにSinch Voice API v2を使用する

上記のセットアップでは、ElevenLabsが音声パス全体を担います。Sinchで通話制御を行う必要がある場合は、Sinch Voice API v2で通話に応答し、独自のロジックを適用してから、リレーサーバーなしでSVAMLを使用してElevenLabsエージェントへの第2レッグをブリッジできます。このモデルは、エージェントが参加する前に留守番電話検出、通話録音、番号マスキングなどのSinch機能を追加したい場合や、エージェントがより大きなSinch通話フローの一工程である場合に適しています。

その他の一般的なシナリオについては、Sinchの​​SIP経由でElevenLabs AIエージェントを統合するチュートリアルを参照してください。

トラブルシューティング

  • トランクの静的着信エンドポイントが、使用するポートとトランスポートでsip.rtc.elevenlabs.ioを指定していることを確認してください。
  • DIDがそのトランクに割り当てられていることを確認してください。
  • ElevenLabsの番号が、先頭の+を含めてSinchが送信する番号と一致していることを確認してください。
  • エンドポイントまたはACLを変更した後は、少なくとも60秒待ってから再テストしてください。
  • ファイアウォールがTCPの場合は5060、TLSの場合は5061でのSIPシグナリングを許可し、RTPをブロックしていないことを確認してください。
  • ElevenLabsのSIPトランクのユーザー名とパスワードが、Sinchトランクの認証情報と一致していることを確認してください。
  • アドレスフィールドには、sip:プレフィックスなしでトランクのFQDNのみが入力されていることを確認してください。
  • 宛先の国に対する国別権限がトランクで有効になっていることを確認してください。
  • 表示する発信者IDが、そのトランクでSinchが受け入れる番号であることを確認してください。
  • ACL認証を使用している場合、ElevenLabsのシグナリングは分散したアドレスプールから到着する点に注意してください。ダイジェスト認証に切り替えるか、静的IPインフラストラクチャに移行してください。
  • ファイアウォールがUDP経由のRTPを双方向で許可しており、特定の静的アドレスに制限されていないことを確認してください。
  • メディア暗号化が一致していることを確認してください。TLSのSinchトランクではSRTPが必要なため、ElevenLabsでメディア暗号化をAllowedまたはRequiredに設定します。
  • 問題がTLSまたはSRTPに関連するものかを切り分けるため、TCPおよびメディア暗号化を無効にしてテストしてください。
  • トランクでG711が提供されていることを確認してください。ElevenLabsはG711とG722をサポートしています。

BYEに対する481レスポンスは通常、リクエストがその通話のダイアログ状態を持たないSIPサーバーに到達したことを意味します。共有のsip.rtc.elevenlabs.ioアドレスではなく、200 OKで返されたContact URIにダイアログ内リクエストを送信してください。TLS経由のBYEまたはREFERで証明書の検証に失敗する場合は、電話番号設定のリモートドメインフィールドに、トランクの証明書が発行されているFQDNを追加してください。

よくある質問

本番環境では、SinchトランクでSRTPメディアと組み合わせた5061のTLSを使用してください。検証の開始点としては、5060のTCPが適しています。UDPはElevenLabsでは実験的な機能であり、本番トラフィックには使用しないでください。

ElevenLabsはG711(8kHz)とG722(16kHz)をサポートしています。共通のコーデックとして、SinchトランクでG711を提供し続けてください。

着信INVITEのカスタムX-ヘッダーは動的変数として公開されます。たとえば、X-Contact-IDは{{sip_contact_id}}になります。X-Call-IDとX-Caller-IDは、system__call_sidとsystem__caller_idにマッピングされます。完全な正規化ルールについては、SIPトランキングを参照してください。

便利なリンク