本文へスキップ
Telnyxとの連携

TelnyxのSIPトランクをWixzel Voiceに接続する

Telnyxの番号でAI音声エージェントを動かすには、Telnyx SIP ConnectionsをWixzel Voiceに接続します。発信が受け付けられるようにトランクが返すplatform_ipをauthorised addresses on an IP-authenticated SIP Connectionに追加し、着信をトランクのorigination_uriに送るよう設定します。回線の料金は引き続きTelnyxからお客様の料金で請求され、Wixzel Voiceは音声エンジンの料金を前払い残高から秒単位で課金します。

最終更新日:

公開日

Telnyxは通信事業者で、Wixzel Voiceはその上でエージェントを動かす音声AI APIです。両者は標準のSIPで連携します。Telnyxはその所有者の商標であり、Wixzel VoiceはTelnyxと提携しておらず、Telnyxから推奨を受けているものでもありません。

Telnyx
Wixzel Voice
あなたのエージェント

始める前に何が必要ですか?

  • SIP Connectionsを利用できるTelnyxのアカウントと、トランクのホストと認証情報。
  • Telnyxで所有し、そのトランクに紐付けた電話番号。Wixzel Voiceは電話番号の販売もポーティングも行いません。 コンソールからTelnyxのアカウントを接続すれば、「電話番号」ページからそのアカウントで番号を購入することもできます。料金はTelnyxの価格でTelnyxから請求されます。
  • Wixzel VoiceのAPIキーと前払いのクレジット。最低チャージ額は$5で、無料プランはありません。
  • Wixzel Voiceの同時通話数はデフォルトで1アカウントあたり5件で、リクエストに応じて引き上げます。Webやアプリのセッションも同じ上限に含まれます。

Wixzel VoiceでTelnyxのトランクを作成するには?

Mission Controlが接続に表示するSIPアドレスです。設定ガイドにはTelnyxのホストを記載していないため、ここではなくコンソールからコピーしてください。

cURL
curl https://api.voice.wixzel.com/v1/sip-trunks \
  -H "Authorization: Bearer $WIXZEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Telnyx",
    "host": "<the SIP host Telnyx shows for the connection>",
    "transport": "udp"
  }'

TelnyxがIPではなく認証情報で認証する場合は、リクエストボディにusernameとpasswordを追加します。パスワードは保存時に暗号化され、以降APIから返されることはありません。レスポンスには、次の手順で必要な2つの値platform_ipとorigination_uriが含まれます。

Telnyx側では何を設定しますか?

設定Telnyxでの名称値
Wixzel Voiceからの通話を許可するauthorised addresses on an IP-authenticated SIP Connection187.126.120.231
着信をWixzel Voiceに送る着信の送信先。フィールド名は設定手順に記載されていますsip:187.126.120.231:5090

どちらの値も現時点のものです。ページからコピーするのではなく、GET /v1/sip-trunksからplatform_ipとorigination_uriを読み取ってください。その後、POST /v1/phone-numbersで各番号をトランクに登録し、inbound_agent_idを指定してエージェントが応答するようにします。 これらのリクエストはAI電話通話APIのウォークスルーに、コンソールの各フィールドについてはTelnyxの詳しい設定手順に記載しています。

Telnyxでは何がうまくいかないのですか?

  • トランスポートの不一致は、通信事業者に無視されているように見えます。接続とトランクを同じトランスポートにしてください。標準は両方ともUDPです。
  • Telnyxは先頭の+を前提としているため、send_plusは標準のtrueのままにしてください。

Telnyx経由の通話がつながらなかったのはなぜですか?

Telnyxでよく見られる失敗コード:

failure_code通信事業者の応答意味対処方法
102408通信事業者が時間内に応答しませんでした。トランクのhostとport、そして通信事業者がplatform_ipからのSIPを受け付けているかを確認してください。通信事業者側で通話が受信済みだが応答なしと表示される場合は、send_plusをfalseに設定します。

Telnyxが拒否した通話はstatus: "failed"となり、failure_code(通信事業者からのQ.850原因コード)と、対処方法を示すfailure_reasonが付きます。費用はかかりません。 すべての失敗コード、すべての拒否理由、トランクのデバッグ方法は通信事業者のページにあります。

Telnyx経由のAI通話にはいくらかかりますか?

回線の料金はTelnyxからお客様の料金で請求されます。Wixzel Voiceが課金するのは音声エンジンだけで、実際の使用量に応じて秒単位で、gemini-liveの接続1分あたり$0.0491からdeepgram-agentの$0.1851までです。 すべてのエンジンの料金。

よくある質問

Wixzel Voiceで使えるTelnyxの接続タイプは?

IP認証です。Mission ControlでSIP Connectionを作成し、接続タイプを認証情報やFQDN登録ではなくIP認証に設定して、Wixzel Voiceのトランクが返すplatform_ipを許可アドレスとして追加します。

トランスポートを変えたらTelnyxでの通話がつながらなくなったのはなぜですか?

Telnyxは標準でUDPで配信します。Wixzel Voiceのトランクのtransportがtcpやtlsの場合は、Telnyxの接続のSIP Transport Protocolもそれに合わせて変更する必要があります。そうしないと両端が合いません。

その他の通信事業者

Twilio

Elastic SIP Trunking。TerminationのIP ACLにプラットフォームのIPを登録し、着信用にOrigination SIP URIを設定します。

Plivo

Zentrunk。IP ACLにプラットフォームのIPを登録した発信用トランクと、Primary URIをプラットフォームに向けた別の着信用トランクを用意します。

Vonage

Programmable SIP。SIP DashboardでトランクのACLにプラットフォームのIPを追加し、着信をOrigination URIに送ります。

Bandwidth

SIP REGISTERに対応していないため、固定IPが必要です。ロケーションにプラットフォームのIPを追加し、TerminationとOriginationを別々に設定するか、network bridgeの認証情報を使います。

Exotel

インドの電話番号向けのVirtual SIP Trunking(vSIP)で、TCPを使います。プラットフォームのIPをACLとしてトランクに紐付け、着信用にDestination URIをプラットフォームのTCPポートに向けます。

Vobiz

トランクごとのSIPドメインをホストに使い、トランクのIP ACLにプラットフォームのIPを登録します。「origination URI」はTwilioとは逆の意味です。

Mobily

Saudi Arabia, ordered through Mobily Business sales and delivered over a private link. No one-step connect: your own SBC on the link relays calls, with G.711 A-law and a one-hour call cap.

あらゆるSIPプロバイダー

手順はどこでも同じです。プラットフォームのIPを許可リストに登録し、着信の宛先をOrigination URIに設定し、番号の形式とトランスポートを合わせます。

SIPトランクの持ち込み

トランクの2つの設定の仕組み、すべての失敗コード、すべての通信事業者ガイドを1ページにまとめています。

最初の音声エージェントを構築