Beberapa Profil yang Diaktifkan

Untuk perangkat yang menjalankan Android 13 atau lebih tinggi, Android mendukung beberapa profil yang diaktifkan (MEP) untuk eUICC. Fitur ini memungkinkan perangkat memiliki dukungan dual SIM menggunakan satu chip eSIM, yang dapat memiliki beberapa profil SIM dan dapat terhubung ke dua operator berbeda secara bersamaan. Produsen perangkat harus bekerja sama dengan vendor SoC dan vendor chipset eSIM untuk mengintegrasikan fitur ini pada perangkat mereka.

Latar belakang

Pada perangkat yang menjalankan Android 12 dan lebih rendah, AOSP memberikan dukungan terbatas yang memungkinkan satu eSIM mendukung beberapa profil secara bersamaan. Meskipun eSIM menawarkan penghematan ruang dan biaya yang signifikan, kurangnya dukungan dual SIM menghalangi produsen perangkat untuk mengadopsi perangkat khusus eSIM. Untuk memberikan dukungan dual SIM pada perangkat khusus eSIM, produsen perangkat harus memasukkan dua elemen eSIM ke dalam perangkat, sehingga meningkatkan biaya bill of material (BOM) dan menyebabkan pengalaman pengguna yang buruk dalam pengelolaan langganan. Fitur MEP yang tersedia di AOSP dari Android 13 mengatasi masalah ini.

arsitektur eUICC

Bagian ini menjelaskan arsitektur chip eSIM untuk perangkat dengan MEP untuk berbagai versi Android dan arsitektur chip eSIM untuk perangkat tanpa MEP.

Android 14

Untuk perangkat yang menjalankan Android 14 atau lebih tinggi, Android mendukung opsi MEP-A1 dan MEP-B untuk pemilihan root domain keamanan penerbit (ISD-R) dan pemilihan port eSIM seperti yang ditentukan dalam GSMA SGP V22 3.0 . Berikut penjelasan model seleksi MEP-A1 dan MEP-B ISD-R.

  • MEP-A1: ISD-R dipilih pada port 0 (port perintah adalah 0) dan profil dipilih pada port eSIM 1 dan lebih tinggi. Perintah ES10 selalu dikirim ke port 0, dan port perintah serta port target selalu berbeda. LPA memilih port.

    Model pemilihan ISD-R MEP-A1

    Gambar 1. Model pemilihan ISD-R MEP-A1

  • MEP-B: ISD-R dipilih pada port mana pun dan port mana pun dapat ditetapkan profilnya. Perintah aktifkan dan nonaktifkan dikirim ke port tempat profil perlu diaktifkan atau dinonaktifkan (di mana penyegaran tertunda). Port perintah dan port target selalu sama.

    Model pemilihan MEP-B ISD-R

    Gambar 2. Model pemilihan MEP-B ISD-R

Android 13

Di Android 13 atau lebih tinggi, pada perangkat yang mendukung MEP, slot eSIM berisi beberapa port eUICC yang mana port tersebut dapat memiliki profil yang diaktifkan. Seperti yang ditunjukkan pada Gambar 3, dengan arsitektur ini, satu eUICC (slot fisik tunggal) mendukung dual SIM dual standby (DSDS) dengan menghubungkan setiap port eUICC ke baseband modem. Android 13 HAL dan API tidak bergantung pada varian MEP.

Arsitektur chip eSIM dengan dukungan MEP

Gambar 3. Arsitektur chip eSIM dengan dukungan MEP (Android 13 atau lebih tinggi)

Android 12 dan lebih rendah

Untuk perangkat yang menjalankan Android 12 atau lebih rendah tanpa MEP seperti yang ditunjukkan pada Gambar 4, slot eSIM hanya mendukung satu profil yang diaktifkan pada satu waktu dan perangkat tidak dapat mendukung DSDS.

Arsitektur chip eSIM tanpa dukungan MEP

Gambar 4. Arsitektur chip eSIM tanpa dukungan MEP (Android 12 atau lebih rendah)

Aliran informasi API untuk beberapa profil yang diaktifkan

Gambar 5 menjelaskan alur informasi MEP untuk eUICC di Android 13. Framework telepon menyertakan class UiccPort , yang mewakili struktur fisik di eUICC. Kelas UiccPort digunakan untuk semua jenis kartu SIM: SIM fisik (pSIM), SIM terintegrasi (iSIM), dan SIM tertanam (eSIM). Untuk eUICC dengan banyak port, satu objek UiccSlot dan objek UiccCard dipetakan ke beberapa instance UiccPort . Setiap instance UiccPort dapat terhubung ke paling banyak satu instance UiccProfile . Aliran ini memungkinkan UiccPort untuk memetakan ke slot logis dan UiccSlot (slot fisik) untuk memetakan ke beberapa slot logis.

Arus informasi MEP

Gambar 5. Alur informasi untuk eUICC dengan dukungan MEP

Penerapan

Bagian ini menjelaskan cara mengimplementasikan fitur MEP termasuk detail tentang persyaratan HAL, API, dan antarmuka pengguna. Produsen perangkat harus bekerja sama dengan vendor SoC dan vendor chipset eSIM untuk mendukung MEP.

Persyaratan HAL

Untuk mendukung MEP untuk eUICC, implementasikan API IRadio AIDL HAL berikut, yang terletak di /platform/hardware/interfaces/radio/aidl/aidl_api .

Perangkat yang menjalankan Android 14 atau lebih tinggi harus menggunakan antarmuka HAL versi IRadio 2.1, yang menggunakan MultipleEnabledProfileMode (model pemilihan ISD-R yang didukung oleh modem atau eUICC) dan meneruskan informasi perintah ES10 APDU selama operasi saluran logis ICC.

Status Kartu

Modem harus mendukung API CardStatus sebagai respons terhadap metode getIccCardStatusResponse . Responsnya harus menyertakan indeks port dan indeks slot fisik yang ditentukan oleh SimPortSlotMapping .

Untuk perangkat yang menjalankan Android 14 atau lebih tinggi, modem harus melewati mode MEP yang didukung dengan semua peristiwa CardStatus.

SimSlotStatus

Modem harus mendukung API SimSlotStatus sebagai respons terhadap metode getSimSlotsStatus . Status slot SIM mencakup susunan antarmuka SimPortInfo , yang mencakup indeks port, ICCID untuk profil yang diaktifkan, dan status port. Modem harus mengembalikan setidaknya dua objek SimPortInfo .

Untuk perangkat yang menjalankan Android 14 atau lebih tinggi, modem harus melewati mode MEP yang didukung dengan semua peristiwa CardStatus.

setSimSlotMapping

Metode setSimSlotMapping harus melewati array SimPortSlotMapping . Indeks array adalah slot logis dan SimPortSlotMapping menentukan port yang dipetakan dan indeks slot fisik. Metode setSimSlotMapping mengatur pemetaan dari port ke slot logis. Aplikasi LPA menggunakan metode ini untuk memilih port yang aktif.

API yang mendukung MEP untuk eUICC

Perangkat Android yang mendukung beberapa profil yang diaktifkan sebagai bagian dari tumpukan telepon AOSP diperlukan untuk mendukung API berikut.

Info Kartu Uicc

  • (Android 13 dan lebih tinggi) isMultipleEnabledProfilesSupported : Mengembalikan apakah UICC ini mendukung MEP.
  • (Android 13 dan lebih tinggi) getPorts : Mengembalikan daftar semua kemungkinan port untuk UICC tertentu. Jika UICC adalah pSIM atau eSIM yang tidak mendukung MEP, akan menampilkan daftar satu elemen.
  • (Tidak digunakan lagi) getIccId : Mengembalikan ICCID. Karena UICC dapat memiliki lebih dari satu ICCID untuk perangkat dengan MEP, gunakan UiccPortInfo.getIccId() sebagai gantinya.

(Android 13 dan lebih tinggi) UiccPortInfo

Info Berlangganan

  • (Android 13 dan lebih tinggi) getPortIndex : Mengembalikan indeks port tempat langganan diaktifkan. Jika langganan dinonaktifkan, kembalikan INVALID_PORT_ID -1 .

Manajer Euicc

  • switchToSubscription : Beralih ke langganan tertentu. Digunakan oleh aplikasi yang tidak memiliki hak istimewa operator pada langganan aktif. Saat dipanggil, platform secara internal menyelesaikan indeks port melalui dialog pemilihan tiga pilihan untuk menonaktifkan langganan aktif yang dipilih jika tidak ada port yang tersedia. Aplikasi yang menargetkan Android 13 dan lebih tinggi tidak boleh menggunakan API ini untuk menonaktifkan langganan dengan meneruskan ID langganan yang tidak valid ; sebagai gantinya, mereka harus menggunakan metode switchToSubscription (ditambahkan di Android 13) dengan indeks port yang ditentukan.
  • (Android 13 dan lebih tinggi) switchToSubscription(int subscriptionId, int portIndex, PendingIntent callback) : Beralih ke langganan tertentu. Memanggil aplikasi dengan hak istimewa operator melalui langganan aktif dapat menentukan port mana yang akan mengaktifkan langganan.
  • (Android 13 dan lebih tinggi) isSimPortAvailable : Mengembalikan apakah indeks port yang lewat tersedia. Port tersedia jika langganan tidak diaktifkan atau aplikasi panggilan memiliki hak istimewa operator atas langganan yang diinstal pada port yang dipilih.

Layanan Euicc

  • (Android 13 dan lebih tinggi) onSwitchToSubscriptionWithPort : Beralih ke langganan tertentu pada port tertentu. Implementasi LPA harus mendukung hal ini di Android 13 dan lebih tinggi.

Manajer Telepon

Antarmuka pengguna

Untuk mengatasi ambiguitas pemilihan port eSIM, pada perangkat yang mendukung MEP, pengguna harus dapat menonaktifkan salah satu langganan aktif untuk mengaktifkan langganan baru. Di Android 13, AOSP menyertakan alur pengguna dengan dialog tiga pilihan yang dapat diterapkan ke langganan yang memungkinkan alur pengguna dari aplikasi Pengaturan. Gambar 6 menunjukkan contoh aliran UX ini.

Alur pengguna untuk berlangganan SIM MEP

Gambar 6. Alur pengguna untuk mengaktifkan langganan SIM

Bendera fitur

Untuk mendukung MEP, perangkat harus mendeklarasikan tanda fitur berikut:

pelaksanaan LPA

Untuk mendukung MEP, pastikan implementasi LPA Anda memenuhi persyaratan berikut:

  • Menerapkan API dari EuiccService untuk mendukung banyak port.
  • Menggunakan API untuk pemilihan port dan pengaktifan profil.
  • Menyediakan UX yang memungkinkan aplikasi operator mengaktifkan profil pada port yang dipilih.

Validasi

Untuk menguji implementasi fitur MEP Anda, pastikan build lulus kasus uji CTS berikut (untuk API publik): /platform/cts/tests/tests/telephony/current/src/android/telephony/euicc/cts .

Produsen perangkat juga harus bekerja sama dengan modem, chip eUICC, dan vendor OS eSIM mereka untuk memastikan bahwa perangkat dapat melakukan hal berikut:

  • Dua profil eSIM dapat diaktifkan dan dilampirkan ke dua jaringan berbeda.
  • Profil eSIM dapat diaktifkan dan dinonaktifkan pada port eSIM mana pun.
  • Ada aliran UX yang dipicu oleh aplikasi operator yang memungkinkan pengguna beralih profil.

Rekomendasi untuk operator

Untuk memastikan bahwa pengguna tidak kehilangan layanan saat mereka memindahkan profil eSIM dari satu port ke port lainnya, kami menyarankan operator memberikan dukungan untuk hal berikut:

  • Pemetaan cairan IMEI dan SIM
  • Beberapa ICCID atau SIM untuk setiap pengidentifikasi eUICC (EID)