多個啟用的配置文件

對於運行 Android 13 或更高版本的設備,Android 支援 eUICC 的多個啟用的設定檔 (MEP)。此功能允許設備使用單一 eSIM 晶片支援雙 SIM 卡,該晶片可以具有多個 SIM 配置文件,並且可以同時連接到兩個不同的運營商。設備製造商必須與 SoC 供應商和 eSIM 晶片組供應商合作,將此功能整合到其設備上。

背景

在運行 Android 12 及更低版本的裝置上,AOSP 提供有限的支持,允許單一 eSIM 同時支援多個設定檔。儘管 eSIM 可以顯著節省空間和成本,但由於缺乏雙 SIM 卡支持,設備製造商無法採用純 eSIM 設備。為了在純 eSIM 設備上提供雙 SIM 卡支持,設備製造商必須將兩個 eSIM 元件封裝到設備中,這會增加物料清單 (BOM) 成本,並導致訂閱管理的用戶體驗不佳。 Android 13 的 AOSP 中提供的 MEP 功能解決了這個問題。

eUICC架構

本節介紹不同 Android 版本具有 MEP 的裝置的 eSIM 晶片架構以及不含 MEP 的裝置的 eSIM 晶片架構。

安卓14

對於運行 Android 14 或更高版本的設備,Android 支援 MEP-A1 和 MEP-B 選項,用於選擇頒發者安全域根 (ISD-R) 以及選擇GSMA SGP V22 3.0中指定的 eSIM 連接埠。以下介紹MEP-A1和MEP-B ISD-R選型機型。

  • MEP-A1:在連接埠 0(命令連接埠為 0)上選擇 ISD-R,在 eSIM 連接埠 1 及更高連接埠上選擇設定檔。 ES10命令總是發送到連接埠0,並且命令連接埠和目標連接埠總是不同的。 LPA 選擇連接埠。

    MEP-A1 ISD-R選型型號

    圖1. MEP-A1 ISD-R選型模型

  • MEP-B:在任何連接埠上選擇ISD-R,並且可以為任何連接埠指派設定檔。啟用和停用命令將發送到需要啟用或停用設定檔(刷新待處理)的連接埠。命令連接埠和目標連接埠始終相同。

    MEP-B ISD-R選型型號

    圖2. MEP-B ISD-R選擇模型

安卓13

在 Android 13 或更高版本中,在支援 MEP 的裝置上,eSIM 插槽包含多個 eUICC 端口,其中可以端口可以具有啟用的配置檔案。如圖 3 所示,在該架構中,單一 eUICC(單一實體插槽)透過將每個 eUICC 連接埠連結到調變解調器基底帶來支援雙 SIM 卡雙待 (DSDS)。 Android 13 HAL 和 API 與 MEP 變體無關。

支援 MEP 的 eSIM 晶片架構

圖 3.支援 MEP 的 eSIM 晶片架構(Android 13 或更高版本)

Android 12 及更低版本

對於運行 Android 12 或更低版本且沒有 MEP 的裝置(如圖 4 所示),eSIM 插槽一次僅支援單一啟用的設定文件,且裝置不支援 DSDS。

不支援 MEP 的 eSIM 晶片架構

圖 4.不支援 MEP 的 eSIM 晶片架構(Android 12 或更低版本)

多個啟用的設定檔的 API 資訊流

圖 5 描述了 Android 13 中 eUICC 的 MEP 資訊流。電話框架包括UiccPort類,它代表 eUICC 上的物理結構。 UiccPort類別用於所有類型的 SIM 卡:實體 SIM (pSIM)、整合 SIM (iSIM) 和嵌入式 SIM (eSIM)。對於具有多個連接埠的 eUICC,單一UiccSlot物件和UiccCard物件映射到多個UiccPort實例。每個UiccPort實例最多可以連結到一個UiccProfile實例。此流程允許UiccPort映射到一個邏輯插槽,並且允許UiccSlot (實體插槽)映射到多個邏輯插槽。

環保署資訊流

圖 5.具有 MEP 支援的 eUICC 資訊流

執行

本節介紹如何實現 MEP 功能,包括有關 HAL 要求、API 和使用者介面的詳細資訊。設備製造商應與 SoC 供應商和 eSIM 晶片組供應商合作支援 MEP。

HAL 要求

若要支援 eUICC 的 MEP,請實作以下 IRadio AIDL HAL API(位於/platform/hardware/interfaces/radio/aidl/aidl_api

運行 Android 14 或更高版本的設備必須使用 IRadio 2.1 版本的 HAL 接口,該接口使用MultipleEnabledProfileMode (調製解調器或 eUICC 支援的 ISD-R 選擇模型)並在 ICC 邏輯通道操作期間傳遞 ES10 APDU 命令資訊。

卡狀態

數據機必須支援CardStatus API 作為對getIccCardStatusResponse方法的回應。回應必須包含SimPortSlotMapping指定的連接埠索引和實體插槽索引。

對於運行 Android 14 或更高版本的設備,數據機必須透過所有 CardStatus 事件支援的MEP 模式

SimSlot狀態

數據機必須支援SimSlotStatus API 作為對getSimSlotsStatus方法的回應。 SIM 插槽狀態包括SimPortInfo介面的數組,其中包括連接埠索引、已啟用設定檔的 ICCID 和連接埠狀態。數據機必須傳回至少兩個SimPortInfo物件。

對於運行 Android 14 或更高版本的設備,數據機必須透過所有 CardStatus 事件支援的MEP 模式

設定SimSlotMapping

setSimSlotMapping方法必須傳遞SimPortSlotMapping數組。陣列的索引是邏輯插槽, SimPortSlotMapping指定對應的映射連接埠和實體插槽索引。 setSimSlotMapping方法設定從連接埠到邏輯槽的對應。 LPA 應用程式使用此方法來選擇活動連接埠。

支援 eUICC MEP 的 API

作為 AOSP 電話堆疊一部分支援多個啟用的設定檔的 Android 裝置需要支援以下 API。

Uicc卡訊息

  • (Android 13 及更高版本) isMultipleEnabledProfilesSupported傳回此 UICC 是否支援 MEP。
  • (Android 13 及更高版本) getPorts傳回特定 UICC 的所有可能連接埠的清單。如果 UICC 是不支援 MEP 的 pSIM 或 eSIM,則傳回一個元素的清單。
  • (已棄用) getIccId傳回 ICCID。由於對於具有 MEP 的設備,UICC 可以有多個 ICCID,因此請改用UiccPortInfo.getIccId()

(Android 13 及更高版本)UiccPortInfo

訂閱訊息

  • (Android 13 及更高版本) getPortIndex傳回啟用訂閱的連接埠索引。如果訂閱已停用,則傳回INVALID_PORT_ID -1

Euicc管理器

  • switchToSubscription切換到給定的訂閱。由不具有有效訂閱運營商權限的應用程式使用。呼叫時,平台會透過三個選擇對話方塊在內部解析連接埠索引,以便在沒有可用連接埠時停用所選的活動訂閱。面向 Android 13 及更高版本的應用程式不得使用此 API 透過傳遞無效的訂閱 ID來停用訂閱;相反,他們必須使用switchToSubscription方法(在 Android 13 中新增)並指定連接埠索引。
  • (Android 13 及更高版本) switchToSubscription(int subscriptionId, int portIndex, PendingIntent callback)切換到給定的訂閱。呼叫對活動訂閱具有運營商權限的應用程式可以指定在哪個連接埠上啟用訂閱。
  • (Android 13及更高版本) isSimPortAvailable傳回傳遞的連接埠索引是否可用。如果連接埠未啟用訂閱,或呼叫應用程式對所選連接埠上安裝的訂閱具有運營商特權,則該連接埠可用。

Euicc服務

  • (Android 13 及更高版本) onSwitchToSubscriptionWithPort切換到指定連接埠上的給定訂閱。 LPA 實作必須在 Android 13 及更高版本上支援此功能。

電話管理器

使用者介面

為了解決 e​​SIM 連接埠選擇的模糊性,在支援 MEP 的裝置上,使用者必須能夠停用其中一項活動訂閱以啟用新訂閱。在 Android 13 中,AOSP 包含一個具有三個選擇對話方塊的使用者串流,該對話方塊可套用於從「設定」應用程式啟用使用者串流的訂閱。圖 6 顯示了此 UX 流程的範例。

MEP SIM 訂閱的使用者流程

圖 6.啟用 SIM 訂閱的使用者流程

功能標誌

為了支援 MEP,設備必須聲明以下功能標誌:

LPA實施

為了支援 MEP,請確保您的LPA實施符合以下要求:

  • 實作EuiccService的 API 以支援多個連接埠。
  • 使用API​​進行連接埠選擇和設定檔啟用。
  • 提供使用者體驗,允許運營商應用程式在選定連接埠上啟用設定檔。

驗證

要測試 MEP 功能的實現,請確保建置通過以下 CTS 測試案例(對於公共 API): /platform/cts/tests/tests/telephony/current/src/android/telephony/euicc/cts

設備製造商還應與其數據機、eUICC 晶片和 eSIM OS 供應商合作,以確保設備能夠執行以下操作:

  • 可以啟用兩個 eSIM 設定檔並將其連接到兩個不同的網路。
  • eSIM 設定檔可以在任何 eSIM 連接埠上啟用和停用。
  • 運營商應用程式觸發了一個用戶體驗流程,允許用戶切換設定檔。

給營運商的建議

為確保用戶將 eSIM 設定檔從一個連接埠移至另一個連接埠時不會遺失服務,我們建議營運商提供以下支援:

  • IMEI 和 SIM 的流體映射
  • 每個 eUICC 識別碼 (EID) 具有多個 ICCID 或 SIM