マルチキャリア対応の IoT SIM を利用していても、デバイスは「いま最も電波が強い通信キャリア」を単純に選ぶわけではありません。ここでは、3GPP TS 23.122 で定義される PLMN Selection の考え方をもとに、デバイスがどのような順序で接続先ネットワークを選ぶのかを整理します。
PLMN Selection は標準化された仕様に基づく挙動です。この考え方から外れる独自実装は、相互接続性の低下やネットワーク接続拒否のリスクにつながります。
標準仕様に沿って設計するには
このページは、PLMN Selection の仕組みを理解するための技術解説です。実際のデバイス実装や運用に落とし込むときは、次の順で確認すると整理しやすくなります。
- まずこのページで、デバイスがどの順序で接続先の PLMN を選ぶかを理解します。
- 実装方針やデバイス選定では、SORACOM Air for セルラーを利用するデバイスを開発するには を確認します。
- 実機で想定どおりにつながらない場合は、STEP 3: デバイスを設定する (APN 設定 / ローミング設定) と データを送受信できない場合の詳細な調査方法 を使って、ローミング設定や実際に接続している通信キャリアを確認します。
この内容が役立つケース
- 複数の通信キャリアに対応する IoT SIM を使っていて、接続先が切り替わる条件を理解する。
- 「一番電波が強い通信キャリアに自動でつながるはず」と考えていたが、実際の挙動が異なる理由を整理する。
- ローミング設定の有効化 / 無効化が、接続先選択にどのように影響するか確認する。
- PLMN 固定や特定通信キャリアの除外を検討しているが、相互接続性への影響を把握する。
本記事の対象
ここで扱うのは、一般的に使われる Auto モードの PLMN Selection です。Manual モードの詳細な手順は扱いません。
PLMN Selection の理解に必要な知識
PLMN (Public Land Mobile Network) は、簡単にいうと「どの通信キャリアのモバイルネットワークか」を識別する番号です。一般には MCC (国コード) と MNC (事業者コード) を組み合わせた PLMN-ID として扱われます。PLMN Selection は、SIM を搭載したデバイスが複数の PLMN の中から接続先を選ぶ流れを指します。
マルチキャリア対応の SIM とは、複数の通信キャリア、つまり複数の PLMN に対応する SIM です。
PLMN Selection では、デバイスと SIM が複数の PLMN リストを保持し、それぞれの優先順序に従って接続先を決めます。なお、通信モジュールがサポートしていない通信方式の PLMN は候補として使われません。主な用語は以下のとおりです。
| 名称 | 意味 | 設計時に見るポイント |
|---|---|---|
| RPLMN | 一度でも接続が成功した PLMN。1 つだけ保持する。 | 過去に接続できた通信キャリアへ再接続しやすくなる。 |
| EPLMN | RPLMN と同等に扱える PLMN。接続時に通信キャリアから配布される。 | RPLMN 以外でも、同等とみなされる PLMN が先に選ばれる。 |
| HPLMN | SIM のホームとなる PLMN。IMSI から識別できる。 | SIM の所属先として最優先候補の一つになる。 |
| EHPLMN | HPLMN と同等に扱える PLMN。SIM に記載される。 | MVNO の協業通信キャリアや補完ネットワークを示すときなどで使われる。 |
| UPLMN | 利用者が設定できる優先 PLMN リスト。 | モジュールによっては AT コマンドで設定できる。 |
| OPLMN | 通信キャリアが設定できる優先 PLMN リスト。 | 国際ローミング時の接続先制御などで使われる。 |
| Other PLMN | どの優先リストにも該当しない PLMN。 | 最終的な候補として使われる。 |
| FPLMN | 接続を拒否された、または接続資格がない PLMN。 | 安易に操作すると相互接続性を損なう可能性がある。 |
| VPLMN | HPLMN / EHPLMN に含まれない訪問先 PLMN。 | ローミング設定の影響を受ける。 |
PLMN Selection の優先順序
PLMN Selection は、電源投入時や圏外状態からの復帰時に実行されます。デバイスはまず基地局から報知情報を受信し、そのあとで保持している PLMN リストと照合して接続先を決定します。

選択の大きな流れは以下のとおりです。選ばれた PLMN が FPLMN に含まれる場合や、その PLMN への接続に失敗した場合は、次の候補へ進みます。
- 基地局から報知情報を受信します。
- RPLMN または EPLMN を照合します。
- EHPLMN または HPLMN を照合します。
- UPLMN を照合します。
- OPLMN を照合します。
- Other PLMN を照合します。
重要なのは、RPLMN / EPLMN と HPLMN / EHPLMN が、ユーザー定義やオペレーター定義のリストより先に評価されることです。したがって、複数の通信キャリアに対応していても、毎回電波状況だけで接続先が決まるわけではありません。
設計で押さえるポイント
RPLMN / EPLMN は「素早く再接続するための仕組み」
PLMN Selection は、基地局の報知情報と複数のリストを照合しながら接続試験を行うため、毎回最初から探索すると時間がかかります。そのため、過去に接続できた PLMN を優先して再利用する仕組みとして RPLMN / EPLMN が使われます。
このため、複数の通信キャリアに接続できる SIM でも、RPLMN / EPLMN が残っている状態では、まずそこへ接続しに行きます。電波が少し弱くなった程度では、すぐに別の通信キャリアへ切り替わるとは限りません。
一方で、最初に意図していない通信キャリアへ接続できてしまうと、その PLMN の圏外へ移動しない限り、以後も同じ通信キャリアへ再接続を試み続ける可能性があります。例えば、通信テストを国内で実施した後に同じ SIM を使って海外で通信しようとした場合に過去に接続できた PLMN を一定時間探し続けることがあり、実装次第ではそこでタイムアウトするケースが散見されます。3GPP TS 23.122 では、この再接続による接続性の偏りを緩和するために、RPLMN / EPLMN があっても EHPLMN / HPLMN を優先してよい例外挙動をキャリアオプションとして持てることも規定されています。
HPLMN / EHPLMN とローミング設定の関係
ステップ 2 で接続先が決まらない場合は、EHPLMN / HPLMN を照合します。HPLMN は SIM 発行事業者の PLMN です。EHPLMN は、HPLMN と同等に扱える PLMN で、たとえば MVNO の協業キャリアのネットワークを補完的に使う場合などに利用されます。
ここで重要なのが VPLMN の考え方です。HPLMN が EHPLMN に含まれない PLMN へ接続する場合、デバイスは訪問先ネットワーク、つまり VPLMN にいると認識します。このとき、デバイス側でローミングが無効になっていると、その PLMN での接続は行いません。
したがって、グローバルカバレッジタイプの IoT SIM やローミングを利用するサブスクリプションを使う場合は、デバイスのローミング設定を有効化しておく必要があります。設定方法は、STEP 3: デバイスを設定する (APN 設定 / ローミング設定) を参照してください。
UPLMN / OPLMN / Other PLMN / FPLMN の見かた
UPLMN は、利用者が個別に特定の PLMN を優先する場合に使うリストです。OPLMN は、通信キャリアが制御する接続先を示すリストです。どちらにも該当しない場合に、最終的な候補として Other PLMN が使われます。
FPLMN は優先順序の並びには現れませんが、各ステップで頻繁に参照される重要なリストです。接続を拒否された PLMN や接続資格のない PLMN を記録することで、不要な接続試行を減らして接続時間を短縮する役割があります。そのため、FPLMN を安易に書き換える運用を想定した設計は避けます。
よくある疑問への整理
複数の通信キャリアから一番電波が強いものを選べるか
常にそうなるわけではありません。電波の強さのような「PLMN そのもの以外の要素」で選べるのは、一度もネットワークへ接続しておらず、RPLMN / EPLMN がなく、さらに HPLMN / EHPLMN、UPLMN、OPLMN でも候補が決まらない場合に限られます。
つまり、マルチキャリア対応 SIM であっても、日常的には「最も電波が強い通信キャリアを毎回選ぶ」挙動ではなく、「優先度の高い PLMN リストから順に照合し、接続できたものを使う」挙動になります。
特定の通信キャリアへの接続だけを止められるか
一見すると FPLMN に登録すれば実現できそうですが、FPLMN は PLMN Selection の各段階で頻繁に参照され、接続時間の短縮にも使われます。容易に操作すると、著しく相互接続性を損なう可能性があります。
ユースケースによっては有効な場合もあるため、個別要件がある場合は SORACOM サポートへ相談してください。
久しぶりに電源を入れると接続まで時間がかかるのはなぜか
RPLMN には、最後に接続していた PLMN だけでなく、周波数やセル情報、テンポラリーな識別子など、接続を早めるための情報も含まれます。長時間電源を切っていた場合、こうした情報がすでに無効になっていて、RPLMN への接続に失敗することがあります。
その場合は PLMN Selection が最初からやり直されるため、結果的に接続完了まで時間がかかります。
国内では通信できていたのに海外で通信できないのはなぜか
多くの場合は、一度国内で通信したことで RPLMN に国内キャリアが登録されており、海外でもその RPLMN への再接続を試行している間に接続処理プロセスがタイムアウトしているケースで、接続処理プロセスの実装がこうしたケースを考慮できていない場合に起こり得ます。
短期的には RPLMN を消去するか、こうしたケースを考慮した接続処理プロセスの実装が必要になります。
サブスクリプションコンテナとの違い
ここまでの説明は、planX1 のような「単一のサブスクリプションの中で複数の PLMN に接続できる SIM」を想定しています。これと、SORACOM の サブスクリプションコンテナ (追加サブスクリプション) は別の仕組みです。
サブスクリプションコンテナでは、1 枚の IoT SIM に複数のサブスクリプションを保存できます。どのサブスクリプションを適用するかは、電波の強さではなく、デバイスが存在する国や地域に応じて自動的に決定されます。したがって、「単一サブスクリプション内の PLMN Selection」と「サブスクリプションコンテナによるサブスクリプション選択」は分けて考える必要があります。
関連する SORACOM ドキュメント
- 実装方針の案内: SORACOM Air for セルラーを利用するデバイスを開発するには
- サブスクリプションの全体像: サブスクリプションの種類
- 複数サブスクリプションの仕組み: サブスクリプションコンテナ (追加サブスクリプション)
- ローミング設定: STEP 3: デバイスを設定する (APN 設定 / ローミング設定)
- 接続先通信キャリアの確認方法: データを送受信できない場合の詳細な調査方法
- 用語の確認: 用語集
元記事
本記事は、SORACOM Blog で公開した技術ブログの内容を、アーキテクチャーセンター向けに設計判断しやすい形へ再構成したものです。背景や元の説明の流れもあわせて確認する場合は、以下のオリジナル記事を参照してください。
