Çoklu Etkin Profiller,Çoklu Etkin Profiller

Android 13 veya üstünü çalıştıran cihazlarda, Android, eUICC için birden fazla etkin profili (MEP) destekler. Bu özellik, cihazların birden fazla SIM profiline sahip olabilen ve aynı anda iki farklı operatöre bağlanabilen tek bir eSIM yongası kullanarak çift SIM desteğine sahip olmasını sağlar. Cihaz üreticileri, bu özelliği cihazlarına entegre etmek için SoC satıcıları ve eSIM yonga seti satıcılarıyla birlikte çalışmalıdır.

Arka plan

Android 12 ve daha önceki sürümleri çalıştıran cihazlarda AOSP, tek bir eSIM'in aynı anda birden fazla profili desteklemesine izin verme konusunda sınırlı destek sağlar. eSIM'in sunduğu önemli alan ve maliyet tasarrufuna rağmen, çift SIM desteğinin olmaması, cihaz üreticilerinin yalnızca eSIM özellikli cihazları benimsemesini engelliyor. Yalnızca eSIM içeren bir cihazda çift SIM desteği sağlamak için cihaz üreticilerinin cihaza iki eSIM öğesi yerleştirmesi gerekir; bu da malzeme listesi (BOM) maliyetlerini artırır ve abonelik yönetimi açısından kötü kullanıcı deneyimlerine yol açar. Android 13'ten itibaren AOSP'de bulunan MEP özelliği bu sorunu giderir.

eUICC mimarisi

Bu bölüm, farklı Android sürümleri için MEP'li cihazlar için eSIM çip mimarisini ve MEP'siz cihazlar için eSIM çip mimarisini açıklamaktadır.

Android14

Android 14 veya üstünü çalıştıran cihazlar için Android, GSMA SGP V22 3.0'da belirtildiği gibi veren güvenlik etki alanı kökünün (ISD-R) seçimi ve eSIM bağlantı noktalarının seçimi için MEP-A1 ve MEP-B seçeneklerini destekler. Aşağıda MEP-A1 ve MEP-B ISD-R seçim modelleri açıklanmaktadır.

  • MEP-A1: Bağlantı noktası 0'da ISD-R seçilir (komut bağlantı noktası 0'dır) ve eSIM bağlantı noktaları 1 ve üzeri profiller seçilir. ES10 komutları her zaman bağlantı noktası 0'a gönderilir ve komut bağlantı noktası ile hedef bağlantı noktası her zaman farklıdır. LPA bağlantı noktasını seçer.

    MEP-A1 ISD-R seçim modeli

    Şekil 1. MEP-A1 ISD-R seçim modeli

  • MEP-B: Herhangi bir portta ISD-R seçilir ve her porta bir profil atanabilir. Etkinleştirme ve devre dışı bırakma komutları, profilin etkinleştirilmesi veya devre dışı bırakılması gereken (yenilemenin beklendiği) bağlantı noktasına gönderilir. Komut portu ve hedef portu her zaman aynıdır.

    MEP-B ISD-R seçim modeli

    Şekil 2. MEP-B ISD-R seçim modeli

Android 13

Android 13 veya üzeri sürümlerde, MEP'yi destekleyen cihazlarda eSIM yuvası, can bağlantı noktasının etkin bir profile sahip olabileceği birden fazla eUICC bağlantı noktası içerir. Şekil 3'te gösterildiği gibi, bu mimariyle tek bir eUICC (tek bir fiziksel yuva), her eUICC bağlantı noktasının bir modem taban bandına bağlanmasıyla ikili SIM ikili beklemeyi (DSDS) destekler. Android 13 HAL ve API'ler MEP varyantından bağımsızdır.

MEP destekli eSIM çip mimarisi

Şekil 3. MEP destekli eSIM çip mimarisi (Android 13 veya üzeri)

Android 12 ve altı

Şekil 4'te gösterildiği gibi MEP'siz Android 12 veya daha eski bir sürümü çalıştıran cihazlarda, eSIM yuvası aynı anda yalnızca tek bir etkin profili destekler ve cihaz DSDS'yi destekleyemez.

MEP desteği olmayan eSIM çip mimarisi

Şekil 4. MEP desteği olmayan eSIM çip mimarisi (Android 12 veya altı)

Birden çok etkin profil için API bilgi akışı

Şekil 5, Android 13'te eUICC için MEP'ye yönelik bilgi akışını açıklamaktadır. Telefon çerçevesi, eUICC'deki fiziksel yapıyı temsil eden UiccPort sınıfını içerir. UiccPort sınıfı tüm SIM kart türleri için kullanılır: fiziksel SIM (pSIM), tümleşik SIM (iSIM) ve yerleşik SIM (eSIM). Birden fazla bağlantı noktasına sahip bir eUICC için, tek bir UiccSlot nesnesi ve UiccCard nesnesi, birden fazla UiccPort örneğiyle eşleşir. Her UiccPort örneği en fazla bir UiccProfile örneğine bağlanabilir. Bu akış, UiccPort mantıksal bir yuvaya eşlenmesine ve UiccSlot (fiziksel yuva) birden fazla mantıksal yuvaya eşlenmesine olanak tanır.

MEP bilgi akışı

Şekil 5. MEP destekli eUICC için bilgi akışı

Uygulama

Bu bölümde HAL gereksinimleri, API'ler ve kullanıcı arayüzüyle ilgili ayrıntılar da dahil olmak üzere MEP özelliğinin nasıl uygulanacağı açıklanmaktadır. Cihaz üreticileri, MEP'yi desteklemek için SoC satıcıları ve eSIM yonga seti satıcılarıyla birlikte çalışmalıdır.

HAL gereksinimleri

eUICC için MEP'yi desteklemek üzere /platform/hardware/interfaces/radio/aidl/aidl_api konumunda bulunan aşağıdaki IRadio AIDL HAL API'lerini uygulayın.

Android 14 veya üstünü çalıştıran cihazlar, MultipleEnabledProfileMode (modem veya eUICC tarafından desteklenen ISD-R seçim modeli) kullanan ve ICC mantıksal kanal işlemleri sırasında ES10 APDU komut bilgilerini aktaran HAL arayüzlerinin IRadio 2.1 sürümünü kullanmalıdır.

Kart Durumu

Modemin getIccCardStatusResponse yöntemine yanıt olarak CardStatus API'sini desteklemesi gerekir. Yanıt, SimPortSlotMapping tarafından belirtilen bağlantı noktası dizinini ve fiziksel yuva dizinini içermelidir.

Android 14 veya üstünü çalıştıran cihazlar için modemin, tüm CardStatus olaylarıyla birlikte desteklenen MEP modunu geçmesi gerekir.

SimSlot Durumu

Modemin, getSimSlotsStatus yöntemine yanıt olarak SimSlotStatus API'sini desteklemesi gerekir. SIM yuvası durumu, bağlantı noktası indeksini, etkin profil için ICCID'yi ve bağlantı noktası durumunu içeren bir SimPortInfo arayüzü dizisini içerir. Modemin en az iki SimPortInfo nesnesi döndürmesi gerekir.

Android 14 veya üzerini çalıştıran cihazlar için modemin, tüm CardStatus olaylarıyla birlikte desteklenen MEP modunu geçmesi gerekir.

setSimSlotMapping

setSimSlotMapping yönteminin bir SimPortSlotMapping dizisini iletmesi gerekir. Dizinin dizini mantıksal yuvadır ve SimPortSlotMapping karşılık gelen eşlenen bağlantı noktasını ve fiziksel yuva dizinini belirtir. setSimSlotMapping yöntemi, bağlantı noktalarından mantıksal yuvalara eşlemeyi ayarlar. LPA uygulaması etkin bağlantı noktasını seçmek için bu yöntemi kullanır.

eUICC için MEP'yi destekleyen API'ler

AOSP telefon yığınının bir parçası olarak birden çok etkin profili destekleyen Android cihazlarının aşağıdaki API'leri desteklemesi gerekir.

UiccCardInfo

  • (Android 13 ve üzeri) isMultipleEnabledProfilesSupported : Bu UICC'nin MEP'yi destekleyip desteklemediğini döndürür.
  • (Android 13 ve üzeri) getPorts : Belirli bir UICC için olası tüm bağlantı noktalarının listesini döndürür. UICC, MEP'yi desteklemeyen bir pSIM veya eSIM ise bir öğenin listesini döndürür.
  • (Kullanımdan kaldırıldı) getIccId : Bir ICCID döndürür. Bir UICC, MEP'li cihazlar için birden fazla ICCID'ye sahip olabileceğinden, bunun yerine UiccPortInfo.getIccId() kullanın.

(Android 13 ve üzeri) UiccPortInfo

  • getIccId : Bu bağlantı noktasında etkin bir abonelik varsa ICCID'yi döndürür.
  • getPortIndex : Bağlantı noktası dizinini döndürür.
  • getLogicalSlotIndex : Etkin mantıksal modem yığını dizinini döndürür.

Abonelik Bilgileri

  • (Android 13 ve üzeri) getPortIndex : Aboneliğin etkinleştirildiği bağlantı noktası dizinini döndürür. Abonelik devre dışı bırakılırsa INVALID_PORT_ID -1 değerini döndürür.

Euicc Yöneticisi

  • switchToSubscription : Belirli bir aboneliğe geçiş yapar. Etkin aboneliklerde operatör ayrıcalığına sahip olmayan uygulamalar tarafından kullanılır. Platform çağrıldığında, kullanılabilir bağlantı noktası yoksa seçilen etkin aboneliği devre dışı bırakmak için üç seçenekli bir seçim iletişim kutusu aracılığıyla bağlantı noktası dizinini dahili olarak çözer. Android 13 ve üstünü hedefleyen uygulamalar, geçersiz bir abonelik kimliği ileterek bir aboneliği devre dışı bırakmak için bu API'yi kullanmamalıdır; bunun yerine belirtilen bağlantı noktası dizini ile switchToSubscription yöntemini (Android 13'te eklenmiştir) kullanmaları gerekir.
  • (Android 13 ve üzeri) switchToSubscription(int subscriptionId, int portIndex, PendingIntent callback) : Belirli bir aboneliğe geçiş yapar. Etkin abonelikler üzerinde operatör ayrıcalığına sahip uygulamaları çağırmak, aboneliğin hangi bağlantı noktasında etkinleştirileceğini belirtebilir.
  • (Android 13 ve üzeri) isSimPortAvailable : Geçen bağlantı noktası dizininin mevcut olup olmadığını döndürür. Abonelik etkin değilse veya arayan uygulamanın, seçilen bağlantı noktasında yüklü abonelik üzerinde operatör ayrıcalığı varsa, bağlantı noktası kullanılabilir.

EuiccService

  • (Android 13 ve üzeri) onSwitchToSubscriptionWithPort : Belirtilen bağlantı noktasındaki belirli bir aboneliğe geçiş yapar. LPA uygulamasının bunu Android 13 ve sonraki sürümlerde desteklemesi gerekir.

Telefon Yöneticisi

Kullanıcı arayüzü

eSIM bağlantı noktası seçimi konusundaki belirsizliği çözmek için, MEP'yi destekleyen cihazlarda kullanıcıların yeni bir aboneliği etkinleştirmek üzere etkin aboneliklerden birini devre dışı bırakabilmesi gerekir. Android 13'te AOSP, Ayarlar uygulamasından kullanıcı akışlarını etkinleştiren aboneliğe uygulanabilen üç seçenekli iletişim kutusuna sahip bir kullanıcı akışı içerir. Şekil 6'da bu UX akışının bir örneği gösterilmektedir.

MEP SIM aboneliği için kullanıcı akışı

Şekil 6. SIM aboneliğini etkinleştirmek için kullanıcı akışı

Özellik bayrakları

MEP'yi desteklemek için cihazların aşağıdaki özellik bayraklarını bildirmesi gerekir:

LPA uygulaması

MEP'yi desteklemek için LPA uygulamanızın aşağıdaki gereksinimleri karşıladığından emin olun:

  • Birden fazla bağlantı noktasını desteklemek için EuiccService'in API'lerini uygular.
  • Bağlantı noktası seçimi ve profil etkinleştirme için API'leri kullanır.
  • Operatör uygulamalarının seçilen bağlantı noktalarında profilleri etkinleştirmesine olanak tanıyan UX sağlar.

Doğrulama

MEP özelliği uygulamanızı test etmek için yapıların aşağıdaki CTS test senaryolarını (genel API'ler için) geçtiğinden emin olun: /platform/cts/tests/tests/telephony/current/src/android/telephony/euicc/cts .

Cihaz üreticileri ayrıca cihazın aşağıdakileri yapabildiğinden emin olmak için modem, eUICC yongası ve eSIM işletim sistemi satıcılarıyla da çalışmalıdır:

  • İki eSIM profili etkinleştirilebilir ve iki farklı ağa eklenebilir.
  • eSIM profilleri herhangi bir eSIM bağlantı noktasında etkinleştirilebilir ve devre dışı bırakılabilir.
  • Operatör uygulaması tarafından tetiklenen ve kullanıcıların profil değiştirmesine olanak tanıyan bir UX akışı vardır.

Taşıyıcılar için öneri

Kullanıcıların eSIM profillerini bir bağlantı noktasından diğerine taşıdığında hizmeti kaybetmemelerini sağlamak için operatörlerin aşağıdaki konularda destek sağlamasını öneririz:

  • IMEI ve SIM'in sıvı haritalaması
  • Her eUICC tanımlayıcısı (EID) için birden fazla ICCID veya SIM