Hỗ trợ mạng của nhiều nhà mạng

Các thiết bị ra mắt cùng với Android 11 trở lên có thể hỗ trợ nhiều mạng di động mặt đất công cộng (PLMN). Android 11 có các phương thức trong API nhận dạng ô để lấy thông tin về các PLMN được ô hỗ trợ nhằm phân biệt giữa nhà cung cấp dịch vụ di động và nhà khai thác mạng.

Tính năng hỗ trợ nhiều PLMN mang lại sự linh hoạt cho các nhà khai thác mạng di động (MNO) bằng cách cho phép họ phát nhiều danh tính. Điều này chủ yếu là để hỗ trợ các thoả thuận chia sẻ khi nhiều nhà khai thác mạng di động (MNO) dùng chung phần cứng hoặc tháp. Trong trường hợp có nhiều PLMN, khi một thiết bị chọn đăng ký bằng một tháp cụ thể, thiết bị đó sẽ chọn PLMN để sử dụng cho quá trình đăng ký đó, việc này sẽ khoá hồ sơ của thiết bị với PLMN đó cho tất cả các hoạt động giao tiếp sau này. Phương thức getRegisteredPlmn truy xuất PLMN đã đăng ký cho thiết bị.

Triển khai

Để hỗ trợ nhiều PLMN trên các thiết bị chạy Android 11 trở lên, hãy triển khai các hàm ở những vị trí sau trong IRadio.

IRadio.hal và IRadioResponse.hal

Trong Radio 1.5 HAL, để hỗ trợ nhiều PLMN, thông tin về mạng mà thiết bị đăng ký được báo cáo khác với các phiên bản trước. Trước tiên, PLMN đã đăng ký (RPLMN) được báo cáo riêng vì trên các ô có nhiều PLMN, RPLMN có thể không phải là PLMN-ID chính. Và trong các cấu trúc CellIdentity, ô này cung cấp một PLMN-ID chính và danh sách các PLMN-ID bổ sung. RPLMN phải là PLMN-ID chính hoặc một trong các PLMN-ID bổ sung được chỉ ra trong cấu trúc CellIdentity.

Các thay đổi trong Radio 1.5 HAL ảnh hưởng đến 2 phương thức HAL sau đây trong IRadio.hal (và các phương thức phản hồi tương ứng trong IRadioResponse.hal).

  • getDataRegState_1_5getDataRegStateResult_1_5(RegStateResult result)
  • getVoiceRegState_1_5getVoiceRegStateResult_1_5(RegStateresult result)

types.hal

Triển khai nội dung sau trong types.hal:

  • ClosedSubscriberGroupInfo: Được đưa vào tuỳ ý với mọi thực thể CellIdentity. Cấu trúc này được dùng để cung cấp thông tin chi tiết về nhóm thuê bao khép kín mà một ô thuộc về (nếu có). Mã này thường được dùng để nhận dạng các ô nhỏ, chẳng hạn như thiết bị LTE cá nhân. Bạn cũng có thể sử dụng thiết bị này trong các hoạt động triển khai như CBRS LTE.
  • CellIdentityLte: Hỗ trợ danh sách các mã nhận dạng mạng di động công cộng (PLMN-ID) bổ sung.
  • CellIdentityWcdma: Hỗ trợ danh sách các mã nhận dạng mạng di động công cộng (PLMN-ID) bổ sung.
  • CellIdentityTdscdma: Hỗ trợ danh sách các mã nhận dạng mạng di động công cộng (PLMN-ID) bổ sung.
  • RegStateResult: Bao gồm cấu trúc CellIdentity mới và một trường để cho biết RPLMN.

Xác nhận kết quả

Để kiểm thử việc triển khai, hãy chạy thử nghiệm CTS sau: CellInfoTest trong khi đã đăng ký mạng truy cập vô tuyến nhiều nhà khai thác (MORAN) hoặc mạng lõi nhiều nhà khai thác (MOCN).