Twilio との接続ガイド
Twilio 側(外部サービス)の設定を含む、クラコールSIP trunkとの接続手順です。
公開日 更新日
- このガイドでは、クラコールSIP trunkとの接続に必要なTwilio 側(お客様が契約された外部サービス)の設定手順もご案内します。
- 各社の画面や仕様は変わることがあります。最新の内容は、各社の公式ドキュメントをご確認ください。
Twilio Bring Your Own Carrier (BYOC) Trunking は、Twilio Programmable Voice に対して独自のSIPトランク・キャリア回線を持ち込んで接続できる仕組みです。クラコールSIP trunkは、このBYOC Trunkingと組み合わせてご利用いただけます。
通話の流れ
着信も発信も、通話は必ずクラコールの SBC(東京・大阪)を通ります。向きによって、宛先になるアドレスが変わります。
着信日本の電話から、Twilio へ
- 電話回線日本
- クラコールの SBC東京・大阪
- Termination SIP DomainTwilio の受け口(手順3)
- BYOC TrunkTwilio(手順2)
- お客様のアプリVoiceUrl(Webhook)
発信Twilio から、日本の電話へ
- お客様のアプリbyoc を指定して発信(手順4)
- BYOC TrunkOrigination Connection Policy
- お客様専用のドメインクラコールの受け口
- クラコールの SBC東京・大阪
- 電話回線日本
着信は Twilio の Termination SIP Domain(例:{example}.sip.jp1.twilio.com)へ、発信はお客様専用のドメイン(例:xyz.customer.clocall.jp)へ向かいます。発信で byoc を指定しないと、Twilio の通常の回線から発信され、クラコールを通りません。
どの接続先にも共通のルール(認証・電話番号の形式・音声の形式など)は、接続の基本ルールをご覧ください。
つなぐ手順
「0 はじめに用意するもの」をそろえてから、次の5つの手順(1〜5)で進めます。各手順には、作業者(クラコール/お客様)を記載しています。
-
0お客様
はじめに用意するもの
- クラコールSIP trunk(BYOC 接続)のご契約
- Twilio のアカウント(お客様がご自身で契約されたもの)
- ご利用になる電話番号(+81 から始まる E.164 形式)
-
1
クラコール ⇄ お客様お申し込みと、接続に使う情報のやりとり
お申し込み後に、クラコールから接続に使う情報をお渡しします。お客様からは、Twilio 側の情報をお知らせください。
クラコールからお渡しする情報
- お客様専用のドメイン(例:
xyz.customer.clocall.jp。実際のドメイン名はお申し込み後にお知らせします) - クラコールの SBC の IP アドレス(東京・大阪。すべて許可してください)
- ご利用いただく電話番号(+81 から始まる E.164 形式)
- 使える方式:UDP・TCP(暗号化の有料オプションでは TLS・SRTP)
- 音声の形式:G.711 μ-law
(PCMU)
お客様からお知らせいただく情報
- Twilio の SIP ドメイン(
Termination SIP URI。手順3で決めます) - 使う方式とポート番号(UDP・TCP、または TLS)
- 暗号化(TLS・SRTP)の有料オプションを使うかどうか
- ご利用になる電話番号と、使う方向(着信・発信・両方)
お問い合わせの本文に「BYOC 接続」とお書きのうえ、お送りください。BYOC では、着信・発信とも、INVITE の宛先(Request-URI)・To・From の電話番号を +81 から始まる E.164 形式にしてください(例:03-1234-5678 →
+81312345678)。- お客様専用のドメインには複数の IP アドレス(東京・大阪)が登録されています。返ってくるアドレスはすべて使えるようにしてください。
- SIP の REFER(通話の転送)には、クラコールは対応していません(接続の基本ルール)。
- お客様専用のドメイン(例:
-
2
お客様(Twilio)BYOC Trunk を作り、発信先にクラコールを登録する
Twilio の BYOC Trunking(Elastic SIP Trunking ではありません)で、次の3つを順に作ります。トランク(
BYOC Trunk)は1つだけ作ってください。Origination Connection Policy(発信先の設定):Twilio からクラコールへの発信先をまとめるものです。Origination URI(API ではTarget):お客様専用のドメインを登録します。Priority・Weight・Enabledの項目もあります。BYOC Trunk:上の発信先の設定(ConnectionPolicySid)と、着信の受け側(VoiceUrl)を結びつけます。
Twilio の API で作る場合の例です(認証は環境変数から読みます)。
ターミナル(curl):1. 発信先の設定(Origination Connection Policy)を作る
curl -X POST "https://voice.twilio.com/v1/ConnectionPolicies" \ -u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKENターミナル(curl):2. 発信先にクラコール(お客様専用のドメイン)を登録する
curl -X POST "https://voice.twilio.com/v1/ConnectionPolicies/NYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/Targets" \ --data-urlencode "Target=sip:xyz.customer.clocall.jp" \ -u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKENターミナル(curl):3. BYOC Trunk を作る(発信先の設定と、着信の受け側を結びつける)
curl -X POST "https://voice.twilio.com/v1/ByocTrunks" \ --data-urlencode "FriendlyName=clocall" \ --data-urlencode "ConnectionPolicySid=NYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ --data-urlencode "VoiceUrl=https://example.com/twilio/voice" \ -u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN$TWILIO_ACCOUNT_SID・$TWILIO_AUTH_TOKEN:Twilio のアカウント SID と認証トークンを入れた環境変数です(コマンドに直接書かないでください)。NYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:1.の応答に入っているNYで始まる SID です。Target:sip:で始めます(sips:には対応していません)。xyz.customer.clocall.jpは例です。手順1でお渡しするドメインに置き換えてください。VoiceUrl:着信を受けたときに Twilio が呼び出す、お客様のアプリの URL(Webhook)です。通話の扱いを TwiML で指示します。Console ではApplication ConfigurationのA Call Comes Inにあたります。- 3.の応答に入っている
BYで始まる SID(BYOC Trunk の SID)は、手順4の発信で使います。 - Twilio CLI でも作れます:
twilio api:voice:v1:connection-policies:create、twilio api:voice:v1:connection-policies:targets:create、twilio api:voice:v1:byoc-trunks:create
Twilio は、BYOC の発信でユーザー名・パスワードによる認証に対応していません。クラコールも、ユーザー名・パスワードによる認証は使いません。認証は、お客様専用のドメインと発信者番号(caller ID)で行います。
参考(公式):Twilio 公式ドキュメント:ByocTrunk Resource(英語)
このページのCreate a ByocTrunk resourceの項に、FriendlyName・VoiceUrl・ConnectionPolicySidの説明があります。
Twilio 公式ドキュメント:ConnectionPolicyTarget Resource(英語)
このページのCreate a ConnectionPolicyTarget resourceの項に、Targetの説明があります。
Twilio 公式ドキュメント:Bring Your Own Carrier (BYOC)(英語)
このページのOrigination Connection Policy - Settingsの項にOrigination URI・Priority・Weight・Enabledが、Trunksの項にApplication Configurationがあります。 -
3
お客様(Twilio)着信の設定:クラコールの SBC から受ける口を作る
手順2の
BYOC Trunkに、着信を受けるドメイン(Termination SIP Domain)を結びつけます。Twilio の Console で、次の順に進めます。Voice > BYOC Trunksで、手順2のトランクを開きます(新しく作らないでください)。Termination SIP Domainsで、ドメインを選ぶか、横の「+」で新しく作ります。Termination SIP URIを決めます。東京(Asia Pacific Tokyo)の URI は{example}.sip.jp1.twilio.comの形です({example}の部分はお客様が決める名前です)。IP Access Control Lists(許可リスト)に、手順1の SBC の IP アドレスをすべて登録します(CIDR 形式のCIDR Network Addressで入れます)。クラコールは、パスワード(Credentials Lists)は使いません。
音声の形式は G.711 μ-law
(PCMU)です。 決めた SIP ドメイン(Termination SIP URI)を、クラコールへお知らせください。クラコール側で、着信の宛先に設定します。参考(公式):Twilio 公式ドキュメント:Bring Your Own Carrier (BYOC)(英語)
このページのTermination SIP Domains - Settingsの項に、Termination SIP URI・IP Access Control Lists・Credentials Listsの説明があります。
Twilio 公式ドキュメント:IP Addresses(英語)
ページ名のとおり、Twilio の IP アドレスの一覧です。東京のゲートウェイ(シグナリング)の行に、IP アドレスとポートがあります。お客様のネットワークで Twilio との通信を制限している場合にご確認ください。 -
4
お客様(Twilio)発信の設定:BYOC Trunk を指定して、クラコール経由でかける
発信では、かけるたびに手順2の
BYOC Trunk(BYで始まる SID)を指定します。指定すると、そのトランクの発信先(お客様専用のドメイン)へ送られ、クラコールの SBC から日本の電話へつながります。指定しないと、Twilio の通常の回線から発信され、クラコールを通りません。どちらの方法でも、指定するのは2つです。BYOC Trunk(クラコールを通すため)と、発信者番号(相手に表示される、お客様のクラコールの番号)です。
TwiML:
<Dial>のcallerIdで発信者番号、<Number>のbyocで BYOC Trunk を指定する<Response> <Dial callerId="+81312345678"> <Number byoc="BYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx">+81355550000</Number> </Dial> </Response>ターミナル(curl):Calls API の
Fromで発信者番号、Byocで BYOC Trunk を指定する# Byoc に手順2の BYOC Trunk の SID を入れると、クラコール経由で発信されます curl -X POST "https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Calls.json" \ --data-urlencode "Byoc=BYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ --data-urlencode "From=+81312345678" \ --data-urlencode "To=+81355550000" \ --data-urlencode "Url=https://example.com/twiml" \ -u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKENBYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:手順2で作ったBYOC Trunkの SID です。callerId(TwiML)・From(Calls API):発信者番号です。お客様のクラコールの番号(例:+81312345678)を入れます。クラコールへ送られる SIP の From ヘッダーに入り、クラコールはこの番号で発信を認証します。P-Asserted-Identity には対応していません。- TwiML で
callerIdを省くと、Twilio は元の通話の番号を発信者番号に使います。クラコールの番号にならないと発信は拒否されるため、必ず指定してください。 - Twilio では、発信者番号に使えるのは Twilio で買った番号か、Twilio で確認(Verified Caller IDs)した番号です。クラコールの番号は、下の「番号認証」で先に確認してください。
<Number>の中・To(宛先番号):かける相手の番号(例:+81355550000)。どちらも +81 から始まる E.164 形式にしてください。Url:通話が始まったあとの指示(TwiML)を返す、お客様のアプリの URL です。
発信者番号の確認(番号認証 / caller ID verification)
Twilio でクラコールの番号を発信者番号に使うには、先に Twilio の
Verified Caller IDsで番号を確認します。Twilio はその番号に電話(または SMS)で確認コードを送るため、次の順で進めてください。- 確認を始める前に、クラコールへご連絡ください(確認したい番号をお知らせください)。
- クラコールが、その番号への着信を、お客様が受けられる電話へ一時的に転送します。
- Twilio の画面で確認を進め、かかってきた電話で確認を終えます。
- 終わったらクラコールへお知らせください。クラコールが転送を元に戻します。
参考(公式):Twilio 公式ドキュメント:Bring Your Own Carrier (BYOC)(英語)
このページのMaking Outbound Calls to your PSTN Carrier (Origination)の項に、TwiMLとAPIの例があります。
Twilio 公式ドキュメント:TwiML Voice: <Dial>(英語)
このページのcallerIdの項に、発信者番号に使える番号(Twilio の番号、または確認済みの番号)の説明があります。
Twilio 公式ドキュメント:OutgoingCallerIds resource(英語)
このページに、Twilio 以外の番号を発信者番号として確認する方法があります。ご注意:クラコールへ送れなかった発信は、Twilio の回線へ自動で切り替わります(Super Network Failover)
Twilio は、BYOC Trunk の発信先(
Origination Connection Policyに登録したすべてのOrigination URI)で発信が失敗すると、標準の設定では、その通話を Twilio 自身の回線(Twilio Super Network)からかけ直します。この通話はクラコールを通らないため、Twilio の発信料金がお客様の Twilio アカウントにかかります。クラコール側の障害や設定の誤りで発信が失敗し続けると、気づかないうちに Twilio の料金が増えることがあります。- 切り替わったかどうかは、Twilio の Console の
Debugger(エラーログ)で確認できます。切り替わった通話には32401(failover to Twilio default routing)が、切り替えを止めている状態で失敗した通話には32400(failover routing disabled)が記録されます。 - この切り替えを止める項目は、Twilio の API(
ByocTrunk・ConnectionPolicy)にも、BYOC の公式ドキュメントにもありません。止めたい場合は、Twilio のサポートへお問い合わせください。 - 止めた場合、クラコールへ送れなかった発信は、Twilio の回線にも切り替わらず、そのまま失敗します。
参考(公式):Twilio 公式ブログ:Announcing Twilio’s Bring Your Own Carrier (BYOC) Trunking for Programmable Voice(英語)
この記事のSuper Network Failoverの項に、発信先がすべて失敗すると Super Network が標準で切り替え先になる、という説明があります。
Twilio 公式ドキュメント:Error 32401(英語)・Error 32400(英語)
切り替わった場合と、切り替えを止めている場合のエラーの説明です。 -
5
クラコール ⇄ お客様つながることを確認する
- 着信:クラコールの電話番号へ携帯電話などからかけ、お客様のアプリ(
VoiceUrl)に電話が届くことを確認します。 - 発信:手順4の方法で携帯電話などの日本の番号へかけ、電話が鳴ること、相手に発信者番号(+81 から始まる E.164 形式)が表示されることを確認します。
- 両方の向きで、相手の声が聞こえることを確認します。
うまくつながらないときは、うまくつながらないときをご覧ください。 - 着信:クラコールの電話番号へ携帯電話などからかけ、お客様のアプリ(
通信の暗号化(有料オプション)
通信の暗号化(TLS・SRTP)は有料オプション(料金はお問い合わせください)です。標準ではご利用いただけません。お申し込みの場合の対応は次のとおりです。
- TLS:TLS 1.3・1.2 に対応しています。
- SRTP:RFC 3711 の RTP/SAVP です。RFC 5124 の RTP/SAVPF には対応していません。
- SRTP の暗号方式:AES_CM_128_HMAC_SHA1_80
- Twilio 側では、
Secure Media(TLS・SRTP)を有効にします。この設定は着信(Twilio が受ける側)の通信にだけ効き、発信には影響しません。標準では有効にしないでください。
うまくつながらないとき
- 発信がクラコールを通らない:
<Number>のbyoc属性、または Calls API のByocに、BYOC Trunk の SID を入れているか確認してください(手順4)。 - 発信はつながるが、Twilio から発信料金がかかっている:クラコールへ送れず、Twilio の回線へ自動で切り替わっている可能性があります。
Debuggerに32401がないか確認してください(手順4のご注意)。 - 発信できない:
Origination URIにお客様専用のドメインを正しく登録したか、Enabledが有効か、確認してください(手順2)。 - 発信が拒否される:TwiML の
callerId(Calls API のFrom)にクラコールの番号を +81 から始まる E.164 形式で入れたか、その番号を Twilio で確認(Verified Caller IDs)したか、確認してください。 - 着信が届かない:手順1の SBC の IP アドレスを、すべて
IP Access Control Listsに登録したか、確認してください(手順3)。 - 着信がお客様のアプリに届かない:Twilio の SIP ドメイン(
Termination SIP URI)が、クラコールへお知らせしたものと同じか、VoiceUrlが正しいか、確認してください。 - 着信は届くが声が聞こえない:
Secure Mediaを有効にしている場合は、暗号化の有料オプションをお申し込みか、確認してください。 - 上を確認してもつながらない場合は、お問い合わせの本文に「BYOC 接続」と書き、つながらない向き(着信・発信)と、試した時刻をお知らせください。
Twilio のマニュアル(英語)との用語対応
Twilio のマニュアルで探すときの用語は、次のとおりです。
| このページ | Twilio のマニュアル |
|---|---|
| BYOC のトランク(trunk) | BYOC Trunk |
| 着信の受け口(終端・termination のドメイン) | Termination SIP Domains(URI は Termination SIP URI) |
| 東京の終端 URI | Asia Pacific Tokyo |
| 着信の受け側(Webhook) | Application Configuration の A Call Comes In(API では VoiceUrl) |
| 発信先の設定(Twilio からクラコールへ) | Origination Connection Policy |
| 発信先のアドレス | Origination URI(API では Target) |
| 発信でトランクを指定する | byoc(TwiML)、Byoc(Calls API) |
| Twilio の回線への自動切り替え | Super Network Failover(エラー 32401・32400) |
| 許可リスト(allow list / ACL) | IP Access Control Lists |
| 暗号化(TLS・SRTP)の切り替え | Secure Media |
- 記載の社名・サービス名は各社の商標または登録商標です。クラコールは各社と提携・協業しておらず、各社から推奨・承認・認定を受けているものではありません。
- Twilio and all related logos are trademarks of Twilio Inc. or its affiliates.
- クラコールはAI機能を提供するものではありません。Twilio の利用条件・料金・動作は同社の定めによります。
- 最終確認日:2026.10.23(各社の公式ドキュメントを確認した日)
- 掲載内容は最終確認日時点の公開情報に基づくもので、各社の仕様・条件の変更により変わることがあります。動作・互換性・継続的な利用を保証するものではありません。


