前回のTwilio講座 入門編④では、電話番号の概要や購入にあたって必要な申請についてご理解いただけたかと思います。
今回のTwilio講座 入門編⑤では、電話番号を利用して使える機能「Programmable Voice」の概要と、実際にTwilio上で電話番号を購入する方法についてご紹介いたします。
■Twilio講座 入門シリーズ■
【Twilio講座 入門編①】コミュニケーションAPIのTwilioとは?
【Twilio講座 入門編②】アカウントの種類と無料アカウント作成方法
【Twilio講座 入門編③】Twilio管理画面(コンソール)
【Twilio講座 入門編④】電話番号を購入するために必要な手続き
【Twilio講座 入門編⑤】Programmable Voiceとは?
【Twilio講座 入門編⑥】Programmable Voiceの使い方|自動音声応答IVRを作ってみよう!
【Twilio講座 入門編⑦】SIPとWebRTC Clientを使った音声通話の概要
【Twilio講座 入門編⑧】Programmable SMSを使ってSMSを送信してみよう!
目次
Twilio Programmable Voiceの概要
Twilio Programmable Voiceは、音声通話を行うためのサービスです。電話の発着信や自動音声応答を制御したり、通話記録を活用したり、電話に必要なあらゆる機能をプログラムでコントロールできます。
Programmable Voiceでは、主に以下3つの方法で音声通話を実現しています。
電話番号と電話網を使う
Twilio Programmable Voiceは、世界各国の電話網と接続しており、Twilioのプラットフォームを介して電話機同士の発着信を行えます。
SIP/RTPを使う
Twilio Programmable Voiceは、世界100カ国以上の国々でSIP接続ポイントを用意しており、高品質・低遅延性のSIPフォン環境を利用できます。
WebRTC Clientを使う
Twilio Programmable Voiceは、WebRTCを用いた通話を実現するSDKを提供しています。SDKを利用することで、アプリケーション同士の通話はもちろん、アプリケーションと電話機の通話も行えます。
Twilio Programmable Voiceの活用例
たとえば、学校の連絡網を例に挙げて考えてみましょう。
従来の方法では、先生から数名の代表生徒宅に電話をかけ、以降は決められた順番でクラス全体に連絡が回っていきます。そして最後の生徒が先生に報告して、連絡網が完了したことを確認します。
しかしTwilio Programmable Voiceで先生から生徒宅へ一斉発信するプログラムを組めば、簡単に連絡網を実現できるのです。
音声通話コミュニケーションの「強み」
近年ではメールやLINEで連絡網を回している学校・団体も多いでしょう。しかしテキストベースのコミュニケーションの場合、
- 連絡に気付かず、見るのが遅れてしまった
- アドレスを変えてしまっていて届かなかった
- プロバイダの不調でメールがすぐに配信されなかった
など、「情報がきちんと伝わっているか」を送信者が判断できないというデメリットがあります。緊急性の高い連絡には不向きです。
一方、電話は伝えられたかどうかがその場で確定します。また電話番号はあまり変えるものではないため、メールアドレスよりも到達性に信頼性があります。
このように、電話には【到達の確実性】【即時性】という2つの強みがあります。この点を重視する連絡の場合、電話は他のどのツールよりも優れていると言えるでしょう。
Twilio Programmable Voiceが提供する機能
Twilio Programmable Voiceでは、電話の特徴を活用できるさまざまな機能をご用意しています。
- 通話録音と保存
- 電話会議(カンファレンスコール)
- プッシュ操作認識
- 音声文字化(Speech to Text)
- 音声合成化(Text to Speech)
- オーディオ再生
- 通話キューイング(保留)
上記はほんの一例ですが、これらの機能を活用したプログラムを組むことで、規模を問わず本格的なコールセンターを構築できます。
Twilioが提供する電話番号について
Twilioでは、本サービス内で利用できる世界100か国以上の電話番号を発行・提供しています。管理画面やAPIを通じて電話番号を取得することで、電話番号を使った通信が可能になります。
なお、すでに一般電話で使っている電話番号をTwilioで利用することはできません。
※各国の電話番号利用に関する規則やガイドラインについては、Twilio入門講座④ 電話番号を購入するために必要な手続きをご覧ください。
電話番号を購入するには?
この章では、実際にTwilio管理画面から電話番号を取得する流れをご紹介します。
1.電話番号画面の表示
Twilio管理画面にログインし、「#」マークをクリックします。
このマークが表示されていない方は、下記図の#の下にある「…」マークから「Phone Numbers」を選択してください。

2.電話番号追加
画面右上の「Buy a number」をクリックします。

3.購入できる電話番号の検索
国名のプルダウンで表示される国の電話番号が取得できます。国を選んだら検索ボタンをクリックします。
このとき、電話番号の数字並びに希望があれば検索ボックスに希望の並びを入力してください。

「機能」のラジオボタンで、その番号で使える機能をフィルターをかけることができます。たとえば、Twilioでは”050/0120/0800”の3種類の日本番号を提供していますが、これらの番号ではSMSが使えないため、SMSやMMSはグレーアウトされています。アメリカのようにSMSが使える国の番号を選択すると、SMSのチェックボックスが有効になります。
4.購入する電話番号を選択
取得可能な電話番号のリストが表示されます。ご希望の番号の購入ボタンをクリックします。

5.電話番号の詳細確認
選択した番号で使える機能と月額料金が表示されます。

NEXTをクリックしますが、ここではまだ電話番号の取得・料金の引き落としはされません。
6.電話番号を購入
取得する電話番号に規約やガイドラインが課せられている場合、この画面のようにそれらに準拠するための書類と紐付ける画面が表示されます。

一般的に電話番号の利用者情報を登録しますが、この例のように日本番号の場合は、電気通信事業法が定める書類を提出する必要があります。
※書類の提出方法については、Twilio入門講座④ 電話番号を購入するために必要な手続きをご覧ください。
プルダウンから登録済みのBundle SIDを選択し、この番号を利用する人物・サービス拠点の住所情報を「Address Requirement」から選んで画面下のBuyボタンを押すと、番号の取得が完了します。
ちなみにBundle SIDはこの画面に表示されている「Create Regulatory Bundle」からでも作成できます。
料金について
電話番号を取得した瞬間にポイント残高から当月分の料金が差し引かれ、翌月以降は取得日と同じ日・同じ時間に料金の支払いが発生します。
たとえば5月7日の13時40分に取得が完了した場合、以降は毎月7日の13時40分のタイミングで残高から月額料金が差し引かれる……というわけです。
ポイント残高は都度ご確認いただき、必要に応じて適宜チャージしていただくようお願いいたします。
7.電話番号の設定
購入が完了すると、自動的に電話番号の設定画面に遷移します。この画面で、実際にこの電話番号を利用するための各種設定を行います。
ちなみに設定画面は、以下画像の通り左メニュー「#」>「アクティブな番号」から辿ることができます。

FRIENDLY NAME
電話番号一覧リストで表示される名前を付ける部分です。
日本語もOKです。
PHONE NUMBER SID
API経由で電話番号を操作する際に必要となる、この電話番号の識別子です。
Voice&Faxの項目では、この番号で電話を受けるための設定と、通話の状況に応じてTwilioからアクションを起こすための設定を行います。
ACCEPT INCOMING
Voice Callsの場合は音声通話、Faxesの場合はファックスです。音声とファックスを両方受けられる設定にはできません。
※2021年12月17日(太平洋時間)をもちまして、Twilio Programmable Faxの提供を終了させていただきますのでご注意ください。
CONFIGURE WITH
Twilioに電話がかかってきた際の動作の種類を指定します。項目は「Webhooks,TwiML Bins,Functions,Studio,or Proxy」「TwiML App」「SIP Trunk」の3種類で、選んだものによって以降の記入項目も変わります。
画像では、着信時にURLを実行する「Webhooks,TwiML Bins,Functions,Studio,or Proxy」を指定しています。
なお、着信時にご自身で開発したTwilioアプリケーションを実行させたい場合は「TwiML App」を選び、続く下のメニューで該当アプリの名前を選択します。
またTwilioのElastic SIP Trunkingサービス(Twilioとご自身のIP-PBXを連携させる機能)を実行させたい場合は「SIP Trunk」を選び、続く下のメニューで関係付けるトランクの名前を選択します。
A CALL COMES IN
Twilioに電話が掛かってきたときの動作を指定します。
PRIMARY HANDLER FAILES
かかってきた電話に対する最初の処理(前の項目で指定した動作)に失敗した場合、Twilioに実行させるURLを指定します。
A CALL COMES INでご自身のアプリケーションが動作するURLを実行した際にエラーになったとき、そのエラーをご自身の別のアプリケーションに検知させたいときに使います。
CALL STATUS CHANGES
該当のコールのステータス(Twilioが電話を受けた・終話したなど)が変わった際にTwilioに実行させるURLを指定します。通話の状態をリアルタイムで把握したい場合に使います。
CALLER NAME LOOKUP
発信元の電話番号を検索し、「国・キャリア・エリア情報」を取得します。
※日本の番号では対応していません。
8.実際に使ってみる
まずは簡単にご体験いただくため、デフォルトのまま「Saveボタン」をクリックしてください。これで電話番号を使う準備ができました。
それでは、取得した電話番号に電話をかけてみましょう。
A CALL COMES INにはデフォルトで「デモ用のURL」が入力されています。この番号に電話をかけるとこのURLが実行され、Twilioに対して命令(TwiMLと呼びます)が出されます。このTwiMLにはサンプルとして英語を話す命令が書かれているため、電話をかけると英語の音声が流れてから電話が切れます。
このTwiMLを、ご自身のWebサーバーにアップロードしてそのURLを指定するか、TwiML Binsを使って登録したTwiMLを指定することで、この番号に電話がかかってきた際の動作を変更できます。
電話番号設定の注意点
設定画面の最下部、Saveボタンの隣にある「Release this Number」をクリックすると、その電話番号は開放(リリース)されます。電話番号を開放すると、翌月以降の料金がかからなくなる代わりに、利用権も失われます。
解放された電話番号は一定の期間留保されたのち、また管理画面で再販されます。ご利用予定のあるものについては、開放されないようご注意ください。