SIM カード1つでOK!SORACOM IoT SIM の planX1 を使ってマルチキャリア環境を試してみた
ソラコムでは国内の主要キャリアである NTTドコモ、KDDI、ソフトバンクのいずれのキャリアも利用することができます。
今回は、ソフトバンク回線を使う必要があったのですが、当初思っていたよりも考慮すべき点があったので紹介したいと思います。
サブスクリプションの選択
今回のシステムは国内で使うためのものですが、諸事情により回線はソフトバンクである必要がありました。そのため利用するサブスクリプションとしては 「plan01s」または「plan01s + planX1 」 を考えました。
それぞれの対応キャリアは下記のとおりです。
- plan01s:NTT ドコモ、ソフトバンク
- planX1:NTT ドコモ、ソフトバンク、KDDI
- NTT ドコモを利用する場合はソラコムへ申請が必要
今回は通信に関する要件として「ソフトバンク回線が使えること」だったので、マルチキャリアである必要はありませんでした。そのため次に料金面を比較してみました。
plan01s ではデータ通信料金が利用する国や地域により変わりますが、日本の場合は「0.2 USD / MiB」となっていました。
- plan01s:
- 初期費用:5.5 USD + 送料(カード型 SIM)
- 基本料金:0.06 USD / 日(アクティブSIM100枚まで)
- データ通信料金 :日本の場合 0.2 USD / MiB
一方で planX1 では、データ通信料金が一桁安く利用できることが分かりました。
- planX1:
- 初期費用:
- サブスクリプション追加費用:3.0 USD
- サブスクリプション利用料金(月額):1.8 USD/月
- データ通信料金:日本 0.02 USD / MiB
- 初期費用:
今回の利用想定ではデータ通信量が多くなることが考えられたので、以上の内容を鑑みて「plan01s」に対して「planX1」を追加サブスクリプションとした「plan01s + planX1」という形で使うことにしました。
サブスクリプション追加時の注意点
適用されるサブスクリプションの優先度
plan01s と planX1 を使う場合、どちらが優先的にサブスクリプションが適用されるのか事前に確認しておく必要があります。
優先順位は「planX3 > planX2 > planX1 > planP1 > plan01s」のようになります。
今回のように「追加サブスクリプションが1つ」という単純な構成であればいいですが、複数の追加サブスクリプションを利用する場合は想定した形で利用できることを確認しておくのがいいかと思います。
詳細は下記のドキュメントが詳しいです。
適用サブスクリプションの課金体系
先程のドキュメントにも記載されていますが、追加サブスクリプションを利用する場合は、元のプライマリサブスクリプションの基本料金は無料になります。
そのため、追加サブスクリプションで通信する場合は対象サブスクリプションの月額費用が発生します。今回の場合だと下記の通り基本料金に大きな差額は発生しません。
- plan01s:0.06 USD / 日なので、1ヶ月( 31 日)で 1.86 USD
- planX1:1.8 USD/月
しかし、先程見たようにデータ通信料金に10倍の差があるので planX1 を追加サブスクリプションとして利用することにしました。
最終的に発生する利用料金についてもしっかり把握しておきましょう。
回線キャリアの指定
今回の「plan01s + planX1」の組み合わせでは、NTT ドコモ、KDDI、ソフトバンクが利用可能ですが、デフォルトでは KDDI とソフトバンクが利用できます。
しかし、今回は「ソフトバンクの回線が使えること」が重要だったので、デバイス側でキャリアを指定する必要がありました。デバイスによってどのような形で指定することができるのか事前に確認しておくことも重要です。
この記事では後ほど iPhone を使って試してみたいと思います。
利用デバイスのサポート状況
今回のようにサブスクリプションコンテナを利用する場合は、利用するデバイスが対応していることも事前に確認しておくことが必要になります。
先程のドキュメントに動作確認済みデバイスが記載されているので参考にされるとよいかと思います。
今回は iPhone で動作確認しましたが、実際には SORACOM Onyx LTE USB ドングル SC-QGLC4-C1 をデバイスに挿して使う予定です。
カバレッジタイプ別に各種設定が必要
普段ソラコムを利用する場合、「イベントハンドラー」機能を使って月次のデータ通信量の監視などを行っていますが、この設定はカバレッジタイプ(日本 / グローバル)ごとに設定が必要です。
plan01s などサブスクリプションコンテナを利用する場合は「グローバル」のカバレッジタイプで設定する必要があるので忘れないようにしましょう。
plan01s を iPhone で試す
それでは動作確認をしてみます。 試した機種は下記になります。
- iPhone 11 Pro
- iOS バージョン:15.6.1
なお、事前に plan01s の IoT SIM は購入済みで、iPhone に挿入してプロファイルもインストール済みとします。
「設定」>「モバイル通信」を開いて、「ネットワーク選択」をタップします。
「自動」を無効にして「NTT DOCOMO」をタップしてみます。
すると画面左上に「docomo 4G」と表示されているのが分かります。
同様に、先程のキャリア選択の画面で「SoftBank」を選択してみます。
下記の通り「SoftBank 4G」と表示されるようになりました。
ちなみに「KDDI」を選択すると「圏外」と表示されてどこにもつながらなくなりました。
plan01s は KDDI に対応していないので想定どおりの動作ですね。
また、ソラコムのコンソール画面の「セッション履歴」では、どのキャリアを使って通信していたのか履歴を確認することが可能です。
また、デバイス側でキャリアを指定する場合、PLMN 番号というものを使いますが、これは下記の画面にある「MCC」と「MNC」の組み合わせで表されます。
NTT ドコモは 44010
で、ソフトバンクは 44020
であることが分かりますね。
PLMN 番号の一覧は下記で公開されています。
国内だと「Y-Mobile(44000
)」や「Rakuten Mobile(44011
)」なども登録されていることが分かります。
サブスクリプションコンテナ ( planX1 ) を追加する
それでは、planX1 を追加してみましょう。追加手順は下記ドキュメントの通りなので割愛します。
追加した直後は下記の通り shipped
というステータスになります。これは OTA の準備ができた状態です。
しばらく待つと ready
という状態に変わります。
さらにしばらく待つと最後にステータスの表示がなくなって完了です。
追加サブスクリプションの状態については、下記のドキュメントにも記載がありますので参考にしてください。
planX1 を iPhone で試す
iPhone には SIM を挿したままですが、すでに planX1 が利用できる状態になっているので確認してみます。
先程と同じように「設定」>「モバイル通信」>「ネットワーク選択」と開いて「 KDDI 」を選択してみます。
画面右上に「au 4G」と表示されて KDDI の回線で接続している状態になりました。
先程の plan01s では KDDI で接続できませんでしたが、planX1 が適用されて接続できたことが分かります。
しかし、先程の iPhone の画面には「KDDI」が 2つ表示されていました。どちらが利用可能であるかは実際に試してみないと分かりませんが、もう一つの「KDDI」は選択しても接続することはできませんでした。
次に SoftBank を選択してみます。
「ネットワーク選択」に「SoftBank」と表示されて、ソフトバンク回線に接続できたことを表しています。
最後に「NTT DOCOMO」を選択してみます。
「ネットワーク選択」には何も表示されていないので、接続できないことが分かります。
実際にブラウザを開いてもインターネットに繋がっていないエラー表示になりました。
コンソールの「セッション履歴」では「planX1」のサブスクリプションが使われていることや、キャリアにはソフトバンクと KDDI が使われていたことなどが分かります。
また、接続した際のそれぞれのキャリアの PLMN 番号は、KDDI が「44051」、ソフトバンクが「44020」であることも分かります。
ちなみに、先程の iPhone の画面では 44052
という番号も表示されていましたが、この番号も KDDI に割り当てられた PLMN 番号です。これは、私の環境でこの電波を受信できているということで接続候補として表示されたものですが、SIM が対応していないので「44052」を選択しても接続はできませんでした。
(下記は https://www.mcc-mnc.com/ より)
plan01s の詳細
ソラコムのコンソール画面では、SIM に関する様々な ID を確認することができます。
例えば、セッション履歴に表示される MCC や MNC の他に、IMSI や ICCID などです。
このうち、ICCID (IC Card IDentifier)は IC カードごとに発行される一意の ID のことです。IC カードの ID なので「ICCID」です。分かりやすいですね。
身近なものだと マイナンバーカードや Suica などがあります。SIM カードの場合は 下記のような体系になっているので、ICCID を見るだけでどのキャリアに対応しているか分かる場合があります。
- 先頭2桁:89(通信業界を意味する)
- 次の2〜3桁:81(日本の国番号)
- 次の1〜4桁:100(NTT ドコモ)200(ソフトバンク)など(事業者の番号)
下記は plan-D(NTT ドコモ)の SIM の詳細画面ですが「ICCID」の先頭7桁が「8981100」となっていることが分かります。
また、IMSI は加入者識別番号のことで、ソラコムの場合だとサブスクリプションを購入すると発行される ID ですが、この IMSI の先頭6桁は 「セッション履歴」の画面に表示されていた「MCC」+「MNC」の番号であり「PLMN」番号を表します。
本記事の前半で plan01s を試した時、セッション履歴の画面から NTT ドコモの PLMN 番号が「44010」だったかと思います。下記のように plan-D の IMSI をみると確かに「44010」と表示されていることが分かります。
一方で plan01s などソラコムが独自に発行している SIM の表示は少々異なります。
下記の「ICCID」は先頭7桁が「8942310」となっています。これはリヒテンシュタイン公国のものでソラコムが取得したものになります。( *1)
IMSI には plan01s と planX1 の2つが表示されていますが、いずれも先頭3桁が「295」であり、これもリヒテンシュタイン公国の MCC (電気通信事業者の運用地域を識別)です。
他のサブスクリプションは確認できていませんが、おそらく同じような ID が採番されていると思います。
最後に
今回はサブスクリプションコンテナの簡単な動作確認や各種 ID を確認してみました。サブスクリプションコンテナにより、SIM カード1つだけで簡単にマルチキャリア環境が実現できる事が分かりました。
次は実際に IoT デバイスで使ってみてキャリア切り替えなどを試してみたいと思います。
以上です。