2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
다중 운영자 네트워크 지원
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Android 11 이상으로 출시되는 기기는 다중 PLMN(Public Land Mobile Network)을 지원할 수 있습니다. Android 11에는 모바일 서비스 제공업체와 네트워크 운영자를 구분하기 위해 셀에서 지원되는 PLMS의 정보를 가져오도록 셀 식별 API에 메서드가 포함되어 있습니다.
다중 PLMN 지원을 통해 MNO(모바일 네트워크 운영자)가 유연하게 여러 ID를 브로드캐스트할 수 있습니다. 다중 PLMN은 기본적으로 다중 MNO 간에 공통 하드웨어 또는 타워가 사용되는 공유 계약을 지원하는 데 필요합니다. 다중 PLMN 시나리오에서는 기기가 특정 타워를 사용해 등록하도록 선택할 때 등록에 사용할 PLMN을 선택하게 됩니다. 그러면 그 뒤의 모든 통신에 기기의 프로필이 관련 PLMN으로 잠기게 됩니다. getRegisteredPlmn
메서드가 기기의 등록된 PLMN을 검색합니다.
구현
Android 11 이상을 실행하는 기기에서 다중 PLMN를 지원하려면 IRadio
의 다음 위치에서 함수를 구현합니다.
IRadio.hal 및 IRadioResponse.hal
Radio 1.5 HAL에서는 다중 PLMN을 지원하기 위해, 기기가 등록된 네트워크의 정보가 이전 버전과 다르게 보고됩니다. 첫째, 등록된 PLMN(RPLMN)이 별도로 보고됩니다. 다중 PLMN 셀에서는 RPLMN이 기본 PLMN-ID가 아닐 수도 있기 때문입니다. CellIdentity
구조에서 셀은 기본 PLMN-ID와 추가 PLMN-ID 목록을 제공합니다. RPLMN은 기본 PLMN-ID이거나 CellIdentity
구조에 표시된 추가 PLMN-ID 중 하나여야 합니다.
Radio 1.5 HAL의 변경사항은 IRadio.hal
의 다음 두 가지 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)에 등록된 상태에서 CTS 테스트 CellInfoTest
를 실행합니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(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-07-27(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)."]]