Twilio API のご利用は *.twilio.com に HTTPS 接続できれば貴社サーバや AWS、Azure、GCP など、どのような環境でもご利用可能です。また Twilio から Webhook/Status Callback を受け取る場合は *.twilio.com から HTTPS 接続できる環境であれば問題ありません。
Twilio Client/SIP/Video は別途 IP アドレスやポートの開放が必要です(後述)。
Twilio のネットワーク要件は大きく三種類あります。
-
API Endpoint
-
Webhooks/Callbacks
-
メディアやその他通信
1. API Endpoint
API のリクエスト先である API Endpoint は *.twilio.com のドメインのみとなり、IP アドレスをご案内しておりません。API Endpoint のサーバは可用性のために世界中のデータセンターを利用して冗長化されております。そのため非常に広範囲な IP アドレスを利用しており、ご案内ができません。また可用性のため IP アドレス範囲の制限をすることができません。
IP アドレスの制限はできませんが、API Endpoint への安全な接続には 2 つの方法があります。
Public Key Client Validation (PKCV)
公開鍵を利用して Twilio と通信します。PKCV を設定した場合は Twilio は鍵認証以外の API リクエストを受け付けません。
こちらは弊社営業にお問い合わせいただき提供するサービスとなります。
Proxy 経由のアクセス
特定 IP しか許可できない場合、お客様側で別途 Proxy サーバを用意いただき、Proxy 経由で Twilio にアクセスください。
各種言語での Proxy 経由のアクセス方法をご案内しております。
その他言語の接続方法は上記言語のいずれかを選び、左側の言語メニューから該当言語の Custom HTTP Clients を選択ください。
その他 REST API の概要については下記をご参照ください。
2. Webhooks/Callbacks
Webhook/Status Callback は通話の開始時や終了時、エラー発生時に指定された URL に Twilio からのアクセスになります。
こちらも API Endpoint 同様、可用性のために非常に広範囲な IP アドレスですが、こちらはお申し込みにより IP アドレスの範囲を狭めることが可能です。
もしくは Twilio からの通信にはすべて Twilioからのリクエストを保証する Validating Requests があります。また BASIC 認証にも対応しております。
Static Proxy
いくつかの固定 IP からのアクセスに特定します。
こちらは弊社営業にお問い合わせいただき提供するサービスとなります。
Validating Requests
Twilio からのリクエストには常に X-Twilio-Signature が含まれます。これはお客様と Twilio しか知らない AuthToken をあるルールで変換したものです。
これにより Twilio 以外のリクエストを判定が可能です。
HTTP Authentication
以下のように Basic 認証も利用可能です。
https://username:password@yourdomain.example.com/
3. メディアやその他通信
SIP、Twilio Client、Video は音声や動画を特定の IP とポートを利用して送受信します。
こちらは利用の国や地域によって異なります。詳細は各サービスページをご参照ください。
Twilio Client/Video で利用する WebRTC の IP とポートの開放状況は下記ツールで確認が可能です。
関連情報
本記事は下記記事をベースとしています。こちらもご参照ください。
Twilo の各種 TLS 仕様についてはこちらを参照ください。
0 コメント