Twilio Programmable Wireless を使ってみた。


Twilio Programmable Wireless とは

2018年のTwilio SIGNALで発表されたTwilio Programmable Wirelessは、いわゆるSIMのサービスになります。IoT向けでもあるのですが、SIMフリーのスマートフォンにいれて使うことも可能です。
発表当時の動画はこちらこちら

サービスの特徴について

  • いわゆる「縛り」である、最低利用期間は存在しません。
  • Twilio アカウントがあれば、誰でも使えます。
  • データ通信、音声通話(米国)、SMS(米国)の利用が可能です。
  • T-Mobileのネットワークを利用しており、米国内だけでなく世界各国のネットワークを用いたローミング利用できます。

Twilio Programmable Wirelessを使ってみる

以下に使うための流れを記載します。

Twilio Programmable Wirelessの入手する

使用するためには、SIMを発注する必要があります。SIMカードはTwilioのコンソールページから注文することができます。今回はSIMが3枚入っているStarterKitを購入します。

※今回はスマートフォンに入れて利用することが目的であるので、「Narrowband SIM Starter Pack」ではなく、「SIM Starter Pack」を購入しました。

発注後、数日には、国際便で手元に届きました。中を開けると、こんなかんじでした。箱の中身は、3枚のSIMとブランドブック的な本。Twilio大好きな私としては、このブランドブックは非常に嬉しいですね。

Twilio Programmable Wirelessを設定する

届いたSIMカードは自身のTwilioアカウントでアクティベートをします。
アクティベートするためには、まず料金プラン(RatePlan)を作成する必要があります。

料金プラン(RatePlan)を作成する

左メニューからProgrammableWirelessを選択し、そこから料金プラン(RatePlan)を選択します。
このRatePlanでは、

  • SIMが利用する用途(2G/3G/LTEなのか、NARROWBANDなのか)
  • SIMが利用するサービス(データ、音声、SMS)
  • 米国内ローミングと国際ローミングを利用するか
  • Quotaの設定
  • データ上限の設定 が設定できます。 今回、私はスマートフォンにSIMカードを挿入して使う予定なので、以下の設定としました。
項目 設定値
1. What type of SIM are you making a Rate Plan for? 2G/3G/LTE
2. Which services would you like to enable? Dataのみにチェック※
3. Set roaming preferences INTERNATIONAL ROAMINGをENABLED※
4. Set Data Metering plan $10 QUOTA※
5. Set Data Limits INTERNATIONAL ROAMING DATA LIMIT 250MB /Month

※利用するサービスについては、VoiceとMessagingは基本的に米国 onlyなので、Dataだけにしました。
※このSIMは米国のSIMなので、日本で使う場合は国際ローミングとなる。
※ウィザードも用意してありますし、詳しくは料金を参照するとよいです。

SIMカードを登録する

左メニューからProgrammableWirelessを選択し、そこからSiMを選択します。左上のプラスマークをクリックし、「Register a SIM」を選択します。以下のような画面がでてきますので、SIMカードに記載されている10桁のREGISTRATION CODEを入力します。

その他、SIMのユニーク名や先程作成したデータプランを選択します。
「Register SIM Cord」をクリックすると、数分でアクティベートが完了します。

スマートフォンにSIMを挿入。

今回はiPhoneを利用しました。SIMを挿入します。

設定→モバイル通信を選択します。

項目 設定値
モバイルデータ通信 ON
通信のオプション ローミングオン
モバイルデータ通信ネットワーク APNを「wireless.twilio.com」

通信できるようになると、NTT DocomoかSoftbankのローミングとなります。ただし、日本では、データ通信のみとなります。
例えば、SIPレジストを使って、Twilio環境だけでSIPソフトフォンを使ってみたを使えば、実質電話もできるような状態となります。
ちなみに、このSIPレジストは、データ通信ができていれば、どこでも利用できるので、海外に行ったときも利用可能です。私が1週間米国に滞在したときは、ケータイ電話にかかってきた電話はSIPレジストしたTwilio番号に転送するようにしていました。いわゆるキャリアの国際ローミングよりも非常に安価です。

Twilio Programmable Wirelessを米国に持っていってみた。

さて、このTwilio Programmable Wirelessは、日本で使うときは国際ローミングをONにする必要がありました。これはSIMが米国のものだからです。(日本で使うのにローミングONというのは、ちょっとややこしいのですが)
このSIM、米国に持ち込んで使えるかどうか、確認してきました。
2019/12/02〜06に開催された、AWS re:Inventへ、Twilio Programmable Wireless SIMを導入したスマートフォンを持っていきました。
作業としては、料金プランの変更と、Voice・Messagingの設定追加が必要となります。

料金プランを作成する

日本では、VoiceやSMSは対応しないプランとしましたが、米国ではそれも利用可能となるため、別途米国用のプランを作成しました。

項目 設定値
1. What type of SIM are you making a Rate Plan for? 2G/3G/LTE
2. Which services would you like to enable? Data、Voice、Messagingにチェック
3. Set roaming preferences 両方ともDISABLED※
4. Set Data Metering plan $10 QUOTA
5. Set Data Limits INTERNATIONAL ROAMING DATA LIMIT 250MB /Month

※米国なのでroamingはOFFとする。

音声発信の設定

SIMから音声が発信できるように設定をします。

左メニューからProgrammable Wireless→SIMを選択し、Programmable Voice & SMSタブを開きます。Programmable Voice欄のプラスマークをクリックし、TwiML Binを作成します。
内容は以下のとおりです。※デフォルトでこの内容が入っています。

Route_as_dialed
<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Dial callerId="自分のTwilio番号を記載する">
    <Number>{{To}}</Number>
  </Dial>
</Response>

メッセージ送信の設定

上記の音声発信設定画面の下部にProgrammable SMS があります。
プラスマークをクリックし、TwiML Bin作成します。
内容は以下のとおりです。※デフォルトでこの内容が入っています。

Deliver_message_as_intended_by_device
<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Message from="自分のTwilio番号を記載する" to="{{To}}">{{Body}}</Message>
</Response>

音声着信の設定

Programmable Voiceの着信設定で、SIMに転送する設定を行います。
まずTwiML Binsで以下の内容を作成します。

incomingToVoice
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Dial>
    <Sim>自分のSIMのSIDを記載する</Sim>
    </Dial>
</Response>

これを、該当の電話番号のA CALL COMES INに設定しておきます。

メッセージ受信の設定

まずTwiML Binsで以下の内容を作成します。

incomingToSMS
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Message to="sim:自分のSIMのSIDを記載する" from="{{From}}">
         {{Body}}
    </Message>
</Response>

これを、該当の電話番号のA MESSAGE COMES INに設定しておきます。

iPhone側の設定

国際ローミングではなくなるので、ローミングをOFFにします。以下のような感じになります。

ネットワーク選択や画面左上のキャリア表示が、「Twilio」になるのが感慨深いですね。

検証してみた。

米国番号で電話をかけたり、受けたりすることができるか、実験しました。
米国TwilioSIM → 日本Twilio番号 (動画)
日本Twilio番号 → 米国TwilioSIM (動画)
SMSの受信も確認できました。※Uberを登録する際のSMS認証で確認しました。

これにより、米国の番号が必要なサービス(例えばUberやlyftなど)への登録や、現地でなにか電話が必要な場合でも、気軽に使うことができます。Twilio Programmable Wireless SIMを持っておくと安心ですね。

おまけ

AWS re:InventにてTwilio社がEXPOブースに出店されていたので、訪問してきました。

いきなり拙い英語で話しかけてきた日本人に、優しくご対応いただき、感謝しています。
来年のTwilio SIGNALは参加しますよ!