2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
マルチオペレーター ネットワークのサポート
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Android 11 以上を搭載したデバイスは、複数の公衆陸上モバイル ネットワーク(PLMN)のサポートを提供できます。Android 11 に含まれるセル識別 API のメソッドは、セルでサポートされる PLMN に関する情報を取得して、セルのサービス プロバイダとネットワーク事業者を区別できます。
マルチ PLMN のサポートにより、モバイル ネットワーク事業者(MNO)は複数の ID をブロードキャストできる柔軟性を獲得できます。これは、主として共通のハードウェアまたはタワーを複数の MNO が使用する共有契約をサポートするために必要になります。マルチ PLMN のシナリオでは、デバイスは特定のタワーを使用する登録を選択するとき、その登録に使用する PLMN を選択します。これにより、その後のすべての通信でデバイスのプロファイルがその PLMN にロックされます。getRegisteredPlmn
メソッドは、デバイスの登録済み PLMN を取得します。
実装
Android 11 以上を搭載したデバイスでマルチ PLMN をサポートするには、IRadio
の次の場所に関数を実装します。
IRadio.hal と IRadioResponse.hal
Radio 1.5 HAL では、マルチ PLM をサポートするために、デバイスが登録されているネットワークに関する情報が以前のバージョンとは異なる方法で報告されます。まず、登録済みの PLMN(RPLMN)が個別に報告されます。これは、マルチ PLMN セルでは RPLMN がプライマリ PLMN-ID でない可能性があるためです。CellIdentity
構造で、セルはプライマリ PLMN-ID に加えて追加の PLMN-ID のリストを提供します。RPLMN は、プライマリ PLMN-ID か、CellIdentity
構造に示される追加の PLMN-ID の 1 つでなければなりません。
Radio 1.5 HAL の変更は、IRadio.hal
の次の 2 つの HAL メソッド(および IRadioResponse.hal
の対応するレスポンス メソッド)に影響します。
getDataRegState_1_5
と getDataRegStateResult_1_5(RegStateResult
result)
getVoiceRegState_1_5
と getVoiceRegStateResult_1_5(RegStateresult
result)
types.hal
types.hal
に以下を実装します。
ClosedSubscriberGroupInfo
: すべての CellIdentity
インスタンスにオプションとして含まれています。この構造は、セルが属するクローズド サブスクライバ グループの詳細情報(存在する場合)を提供するために使用されます。通常は、個人向け LTE デバイスなどのスモールセルの識別に使用します。CBRS LTE などのデプロイメントでも使用できます。
CellIdentityLte
: 追加の PLMN-ID のリストをサポートします。
CellIdentityWcdma
: 追加の PLMN-ID のリストをサポートします。
CellIdentityTdscdma
: 追加の PLMN-ID のリストをサポートします。
RegStateResult
: 更新された CellIdentity
構造と、RPLMN を示すフィールドを含みます。
検証
実装をテストするには、複数事業者無線アクセス ネットワーク(MORAN)または複数事業者コア ネットワーク(MOCN)に登録されている場合に、CellInfoTest
で CTS テストを行います。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-03-26 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-03-26 UTC。"],[],[],null,["# Multi-operator network support\n\nDevices launching with Android 11 or higher can provide\nsupport for multiple public land mobile networks (PLMNs). Android\n11 includes methods in the\n[cell identification APIs](https://developer.android.com/reference/android/telephony/CellIdentity)\nto get information about a cell's supported PLMNs to distinguish between\ncellular service providers and network operators.\n\nMulti-PLMN support provides flexibility to mobile network operators (MNOs) by\nallowing them to broadcast multiple identities. This is primarily required to\nsupport sharing agreements where common hardware or towers are used by multiple\nMNOs. In a multi-PLMN scenario, when a device chooses to register using a\nparticular tower, it selects the PLMN to use for that registration, which locks\nthe device's *profile* to that PLMN for all ensuing communication. The\n[`getRegisteredPlmn`](https://developer.android.com/reference/android/telephony/NetworkRegistrationInfo#getRegisteredPlmn())\nmethod retrieves the registered PLMN for the device.\n\nImplementation\n--------------\n\nTo support multi-PLMN on devices running Android 11\nor higher, implement the functions in the following locations in\n[`IRadio`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.5/).\n\n### IRadio.hal and IRadioResponse.hal\n\nIn the Radio 1.5 HAL, to support multi-PLMN, information about the network the\ndevice registers on is reported differently than previous versions. First, the\nregistered PLMN (RPLMN) is reported separately because on multi-PLMN cells, the\nRPLMN might not be the primary PLMN-ID. And in the `CellIdentity` structures,\nthe cell provides a primary PLMN-ID and a list of additional PLMN-IDs. The RPLMN\nmust be the primary PLMN-ID or one of the additional PLMN-IDs indicated in the\n`CellIdentity` structure.\n\nThe changes in the Radio 1.5 HAL impact the following two HAL methods in\n[`IRadio.hal`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.5/IRadio.hal)\n(and their corresponding response methods in\n[`IRadioResponse.hal`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.5/IRadioResponse.hal)).\n\n- `getDataRegState_1_5` and `getDataRegStateResult_1_5(RegStateResult\n result)`\n- `getVoiceRegState_1_5` and `getVoiceRegStateResult_1_5(RegStateresult\n result)`\n\n### types.hal\n\nImplement the following\nin [`types.hal`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.5/types.hal):\n\n- `ClosedSubscriberGroupInfo`: Included optionally with every `CellIdentity` instance. This structure is used to provide details about the closed subscriber group to which a cell belongs, if any. This is commonly used to identity *small cells* such as personal LTE devices. It can also be used in deployments such as CBRS LTE.\n- `CellIdentityLte`: Supports a list of additional PLMN-IDs.\n- `CellIdentityWcdma`: Supports a list of additional PLMN-IDs.\n- `CellIdentityTdscdma`: Supports a list of additional PLMN-IDs.\n- `RegStateResult`: Includes an updated `CellIdentity` structure and a field to indicate the RPLMN.\n\nValidation\n----------\n\nTo test your implementation, run the following CTS test:\n[`CellInfoTest`](https://android.googlesource.com/platform/cts/+/3c3d33a/tests/tests/telephony/src/android/telephony/cts/CellInfoTest.java)\nwhile registered to a multi-operator radio access network (MORAN) or\nmulti-operator core network (MOCN)."]]