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

Các thiết bị chạy Android 11 trở lên có thể hỗ trợ nhiều mạng di động công cộng trên đất liền (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 giúp các nhà khai thác mạng di động (MNO) linh hoạt hơn bằng cách cho phép họ phát nhiều danh tính. Tính năng này chủ yếu cần thiết để hỗ trợ các thoả thuận chia sẻ trong đó nhiều MNO sử dụng phần cứng hoặc cột tháp chung. Trong trường hợp nhiều PLMN, khi một thiết bị chọn đăng ký bằng một cột tháp cụ thể, thiết bị đó sẽ chọn PLMN để sử dụng cho quá trình đăng ký đó, khoá hồ sơ của thiết bị với PLMN đó cho tất cả các hoạt động giao tiếp tiếp theo. 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 ô nhiều PLMN, RPLMN có thể không phải là PLMN-ID chính. Và trong các cấu trúc CellIdentity, ô cung cấp 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ỉ định 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 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: Tuỳ ý được đưa vào mọi thực thể CellIdentity. Cấu trúc này 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ó). Cấu trúc này thường được dùng để nhận dạng các ô nhỏ như thiết bị LTE cá nhân. Cấu trúc này cũng có thể được dùng trong các hoạt động triển khai như CBRS LTE.
  • CellIdentityLte: Hỗ trợ danh sách các PLMN-ID bổ sung.
  • CellIdentityWcdma: Hỗ trợ danh sách các PLMN-ID bổ sung.
  • CellIdentityTdscdma: Hỗ trợ danh sách các PLMN-ID bổ sung.
  • RegStateResult: Bao gồm cấu trúc CellIdentity đã cập nhật và một trường để cho biết RPLMN.

Xác nhận kết quả

Để kiểm thử quá trình triển khai, hãy chạy bài kiểm thử CTS (Bộ kiểm tra tính tương thích) sau: CellInfoTest khi đăng ký vào 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).