Vários perfis ativados

Para dispositivos com o Android 13 ou mais recente, oferece suporte a vários perfis ativados (MEPs, na sigla em inglês) para eUICC. Com esse recurso, os dispositivos ter suporte para dual chip usando um único chip eSIM, que pode ter vários e pode se conectar a duas operadoras diferentes ao mesmo tempo. Dispositivo fabricantes precisam trabalhar com fornecedores de SoC e chipset de eSIM os fornecedores integrem esse recurso aos dispositivos deles.

Contexto

Em dispositivos com o Android 12 e versões anteriores, o AOSP oferece suporte limitado para permitir que um único eSIM aceite vários perfis ao mesmo tempo. ao mesmo tempo. Apesar da economia significativa de espaço e custo que o eSIM oferece, esse A falta de suporte a dual chip impede que os fabricantes de dispositivos adotem o modelo de eSIM dispositivos. Para oferecer suporte para dual chip em um dispositivo que só usa eSIM, faça o seguinte: os fabricantes precisam incluir dois elementos de eSIM no dispositivo, o que aumenta os custos da lista de materiais (BOM, na sigla em inglês) e prejudica a experiência do usuário com relação à assinatura de projetos. O recurso do MEP, disponível no AOSP em O Android 13 resolve esse problema.

Arquitetura eUICC

Esta seção descreve a arquitetura do chip de eSIM para dispositivos com MEP para as diferentes versões do Android e a arquitetura de eSIM para dispositivos sem MEP.

Android 14

Para dispositivos com o Android 14 ou mais recente, o Android oferece suporte aos protocolos MEP-A1 e MEP-B para selecionar a raiz do domínio de segurança do emissor (ISD-R) e as uma seleção de portas eSIM, conforme especificado GSMA SGP V22 3.0. Veja a seguir a descrição dos modelos de seleção MEP-A1 e MEP-B ISD-R.

  • MEP-A1: o ISD-R é selecionado na porta 0 (a porta de comando é 0) e são selecionados nas portas 1 e superiores do eSIM. Os comandos ES10 são sempre enviadas para a porta 0. As portas de comando e de destino são sempre diferentes. O LPA seleciona a porta.

    Modelo de seleção ISD-R MEP-A1

    Figura 1. Modelo de seleção ISD-R MEP-A1

  • MEP-B:o ISD-R é selecionado em qualquer porta, e qualquer porta pode receber perfil. Os comandos de ativação e desativação são enviados para a porta em que o O perfil precisa estar ativado ou desativado (quando uma atualização está pendente). O as portas de comando e de destino são sempre as mesmas.

    Modelo de seleção ISD-R do MEP-B

    Figura 2. Modelo de seleção ISD-R do MEP-B

Android 13

No Android 13 ou mais recente, em dispositivos com suporte ao MEP, O slot do eSIM contém várias portas eUICC, em que a porta pode ter um perfil. Como mostrado na Figura 3, com essa arquitetura, um único eUICC (um único slot físico) é compatível com dual chip dual standby (DSDS), com cada porta eUICC a uma banda de base de modem. A HAL e as APIs do Android 13 são Independente da variante do MEP.

Arquitetura de chip de eSIM compatível com MEP

Figura 3.Arquitetura do chip de eSIM com suporte ao MEP (Android 13 ou mais recente)

Android 12 e versões anteriores

Para dispositivos com o Android 12 ou versões anteriores sem o MEP, conforme mostrado na Figura 4, os O slot do eSIM aceita apenas um perfil ativado por vez, e o dispositivo não oferece suporte ao DSDS.

Arquitetura do chip de eSIM sem suporte ao MEP

Figura 4.Arquitetura do chip de eSIM sem suporte ao MEP (Android 12 ou menor)

Fluxo de informações da API para vários perfis ativados

A Figura 5 descreve o fluxo de informações do MEP para o eUICC em Android 13 A estrutura de telefonia inclui A classe UiccPort, que representa a estrutura física no eUICC. O A classe UiccPort é usada para todos os tipos de chip: chip físico (pSIM), chip integrado (iSIM) e chip incorporado (eSIM). Para um eUICC com vários do Kubernetes, um único objeto UiccSlot e um objeto UiccCard são mapeados para várias instâncias de UiccPort. Cada instância UiccPort pode vincular no máximo uma UiccProfile. Esse fluxo permite que UiccPort faça o mapeamento para um slot lógico e UiccSlot (física) para mapear vários slots lógicos.

Fluxo de informações do MEP

Figura 5. Fluxo de informações sobre eUICC com suporte ao MEP

Implementação

Esta seção descreve como implementar o recurso MEP, incluindo detalhes os requisitos de HAL, as APIs e a interface do usuário. Os fabricantes de dispositivos precisam trabalham com fornecedores de SoC e de chipsset de eSIM para oferecer suporte ao MEP.

Requisitos de HAL

Para oferecer suporte ao MEP para eUICC, implemente as seguintes APIs HAL de IRadio AIDL, localizadas no /platform/hardware/interfaces/radio/aidl/aidl_api

Dispositivos com o Android 14 ou versões mais recentes precisam usar a versão IRadio 2.1 da HAL que usam MultipleEnabledProfileMode (modelo de seleção ID-R compatível com o modem ou eUICC) e passe a APDU ES10 informações de comando durante as operações de canal lógico do ICC.

Status do cartão

O modem precisa ser compatível com CardStatus como uma resposta getIccCardStatusResponse . A resposta precisa incluir o índice da porta e o índice do slot físico especificado por SimPortSlotMapping

Para dispositivos com o Android 14 ou mais recente, o modem precisa passar o valor Modo MEP com todos os eventos CardStatus.

SimSlotStatus

O modem precisa ser compatível com SimSlotStatus como uma resposta getSimSlotsStatus . O status do slot do chip inclui uma matriz SimPortInfo , que inclui o índice da porta, o ICCID do perfil ativado e o estado da porta. O modem precisa retornar pelo menos dois objetos SimPortInfo.

Para dispositivos com o Android 14 ou mais recente, o modem precisa passar o valor Modo MEP com todos os eventos CardStatus.

setSimSlotMapping

O setSimSlotMapping deve passar uma matriz de SimPortSlotMapping O índice da matriz é o slot lógico e SimPortSlotMapping especifica a porta mapeada e o slot físico correspondentes. índice. O método setSimSlotMapping define o mapeamento de portas para portas slots. O aplicativo da página de destino da página de destino usa método para selecionar a porta ativa.

APIs com suporte ao MEP para eUICC

Dispositivos Android compatíveis com vários perfis ativados como parte do AOSP da pilha de telefonia são necessárias para oferecer suporte às APIs a seguir.

Informações do cartão Uicc

  • (Android 13 e versões mais recentes) isMultipleEnabledProfilesSupported : retorna se este UICC é compatível com MEP.
  • (Android 13 e versões mais recentes) getPorts: Devoluções a lista de todas as portas possíveis para um UICC específico. Se o UICC for um pSIM ou eSIM incompatível com MEP, retorna uma lista de um elemento.
  • (Descontinuado) getIccId: Retorna um ICCID. Como um UICC pode ter mais de um ICCID para dispositivos com o MEP, use UiccPortInfo.getIccId().

(Android 13 e versões mais recentes) UiccPortInfo

Informações da inscrição

  • (Android 13 e versões mais recentes) getPortIndex: Retorna o índice de porta em que a assinatura está ativada. Se o a assinatura está desativada, retorna INVALID_PORT_ID -1.

Gestor Euicc

  • switchToSubscription: Muda para uma determinada assinatura. Usado por apps que não têm operadora em assinaturas ativas. Quando chamada, a plataforma resolve internamente o índice da porta com uma seleção de três opções. caixa de diálogo para desativar a assinatura ativa selecionada se não houver portas disponíveis. Os apps destinados ao Android 13 e versões mais recentes não podem usar essa API para desativar uma inscrição passando uma ID de assinatura inválido Em vez disso, devem usar o switchToSubscription método (adicionado no Android 13) com o índice de porta especificado.
  • (Android 13 e versões mais recentes) switchToSubscription(int subscriptionId, int portIndex, PendingIntent callback): Muda para uma determinada assinatura. Chamadas de apps com privilégios de operadora sobre as assinaturas ativas podem especificar qual porta ativar
  • (Android 13 e versões mais recentes) isSimPortAvailable: Retorna se o índice da porta de passagem está disponível. Uma porta está disponível se a assinatura não estiver ativada ou se o app de chamadas tiver o privilégio de operadora pela assinatura instalada na porta selecionada.

Serviço Euicc

  • (Android 13 e versões mais recentes) onSwitchToSubscriptionWithPort: Muda para uma determinada assinatura em uma porta especificada. Implementação de LPA vai precisar oferecer suporte a isso no Android 13 e versões mais recentes.

Gerente de telefonia

Interface do usuário

Para resolver a ambiguidade da seleção de porta do eSIM, em dispositivos compatíveis com MEP: os usuários devem poder desativar uma das assinaturas ativas para ativar uma nova assinatura. No Android 13, o AOSP inclui um fluxo de usuário com três opções caixa de diálogo que podem ser aplicadas à assinatura, permitindo fluxos de usuários no app Configurações. A Figura 6 mostra um exemplo desse fluxo de UX.

Fluxo do usuário para assinatura do chip do MEP

Figura 6. Fluxo do usuário para ativar a assinatura do chip

Sinalizações de recursos

Para oferecer suporte ao MEP, os dispositivos precisam declarar as seguintes flags de recursos:

Implementação de LPA

Para apoiar o MEP, certifique-se de que LPA (link em inglês) a implementação atende aos seguintes requisitos:

  • implementa as APIs do EuiccService; para permitir várias portas.
  • usa as APIs para selecionar portas e ativar perfis.
  • Fornece UX que permite que apps de operadoras ativem perfis nas portas selecionadas.

Validação

Para testar sua implementação do recurso MEP, verifique se os builds passam o seguintes casos de teste de CTS (para APIs públicas): /platform/cts/tests/tests/telephony/current/src/android/telephony/euicc/cts

Os fabricantes de dispositivos também precisam trabalhar com o modem, o chip eUICC e o eSIM. os fornecedores para garantir que o dispositivo possa fazer o seguinte:

  • Dois perfis de eSIM podem ser ativados e conectados a duas redes diferentes.
  • Os perfis de eSIM podem ser ativados e desativados em qualquer porta de eSIM.
  • Há um fluxo de UX acionado pelo app da operadora que permite aos usuários mudar de perfil.

Recomendação para transportadoras

Para que os usuários não percam o serviço ao mover perfis de eSIM de outro fazer a portabilidade para outro, recomendamos que as operadoras ofereçam suporte para o seguinte:

  • Mapeamento fluido de IMEI e chip
  • Vários ICCIDs ou chips para cada identificador eUICC (EID)