O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Direitos de serviço IMS

A partir do Android 12, Android inclui suporte para TS.43 Serviço de configuração Direito , uma especificação GSMA que define a etapa de verificação direito para a ativação de serviços, incluindo, Voice-over-Wi-Fi (VoWiFi), Voice-over-LTE (VoLTE) , SMS sobre IP (SMSoIP), Ativação de Serviço no Dispositivo (ODSA) de dispositivos complementares eSIM (associados ao dispositivo solicitante) e informações do plano de dados.

Para suportar esta especificação, o Android fornece um recurso de autorização de serviço IMS que permite a um provedor de serviços informar os dispositivos móveis sobre o status dos serviços de rede IP Multimedia Subsystem (IMS). Esta característica permite que o dispositivo direito para consultar o servidor direito suporte tal como definido pela especificação GSMA TS.43 para o estado direito IMS utilizando autenticação EAP-AKA sem exigir que os usuários de entrada quaisquer credenciais manualmente.

Operadoras com servidores de direitos IMS podem usar o recurso de direitos de serviço IMS para provisionamento de serviço. A adoção do recurso oferece os seguintes benefícios:

  • Reduz os custos de teste e certificação para as operadoras porque esse recurso de autorização pode ser usado em vários produtos e OEMs.
  • Reduz a sobrecarga de desenvolvimento para fabricantes de dispositivos por meio de um aplicativo Android padrão.
  • Permite que fabricantes de dispositivos e operadoras contribuam com código para o recurso, pois o recurso é de código aberto.
  • Fornece gerenciamento de endereço de emergência para operadoras norte-americanas.

Arquitetura

A figura a seguir descreve a arquitetura e o comportamento do recurso de direitos de serviço IMS.

Recurso de autorização TS.43

Figura 1. TS.43 arquitectura característica direito

Conforme mostrado na Figura 1, a arquitetura do recurso de direitos de serviço IMS inclui os seguintes componentes:

  • service_entitlement TS.43 Serviço biblioteca API estática : Esta biblioteca implementa a especificação TS.43, interage com o servidor o direito do portador, e expõe-aplicativo voltado para APIs para cada caso de uso TS.43.
  • ImsServiceEntitlement aplicativo cliente: Este aplicativo usa a API TS.43 Service. O aplicativo implementa elementos de interface do usuário, incluindo webviews para renderizar o portal de serviço da operadora para que os usuários ativem serviços e interaja com outros componentes do Android para gerenciar a experiência do usuário de ponta a ponta.

    Para mais informações sobre como configurar o Android para trabalhar com o servidor direito baseado em TS.43 da operadora, consulte aplicativo ImsServiceEntitlement .

As linhas numeradas na Figura 1 mostram como os componentes do recurso de direitos de serviço IMS se comunicam entre si. O seguinte descreve cada uma das etapas conforme rotuladas:

(1) O aplicativo cliente chama a API TS.43 serviço para iniciar um pedido de autorização de serviço.

(2) O serviço API TS.43 envia uma solicitação HTTP para o servidor o direito do portador para iniciar um desafio EAP-AKA.

(3) Os serviços TS.43 APIs invoca API de telefonia (por exemplo, getIccAuthentication ) para completar o desafio-resposta EAP-AKA.

(4) O serviço TS.43 recebe os serviços autorizados ou os dados de configuração a partir do servidor direito do transportador após a resposta EAP-AKA é verificada.

(5) O serviço TS.43 retorna ao direito ou configuração dados de serviço para o aplicativo cliente.

(6) A aplicação cliente processa os dados e opcionalmente processa portal de serviço do transportador para o utilizador para a activação do serviço de acabamento.

Integração

Esta seção descreve o processo de integração da service_entitlement biblioteca eo ImsServiceEntitlement aplicativo.

Porque não há nenhuma dependência API Android 12, o service_entitlement biblioteca e ImsServiceEntitlement aplicativo pode ser portadas para plataformas Android mais antigos.

biblioteca service_entitlement

Porque o service_entitlement biblioteca é estaticamente ligado no ImsServiceEntitlement app , não são necessários passos adicionais para integrar a biblioteca para o ImsServiceEntitlement aplicativo.

O service_entitlement biblioteca pode ser integrado com seus próprios aplicativos para TS.43 casos de uso, tais como plano de dados e ODSA. A biblioteca também pode ser integrada a um aplicativo para casos de uso de direitos não TS.43 com base no protocolo EAP-AKA.

A seguir, uma descrição das APIs a serem usadas nesses casos de uso:

  • TS.43 aplicativo usando o protocolo HTTP TS.43 implementada na biblioteca: Use as APIs do ServiceEntitlement classe
  • Não TS.43 aplicativo usando o protocolo EAP-AKA implementada na biblioteca: Use as APIs expostas na EapAkaHelper classe

Aplicativo ImsServiceEntitlement

Por padrão, o Android inclui o ImsServiceEntitlement aplicativo instalado na partição do produto como um aplicativo privilegiado. Para configurar o aplicativo, use as seguintes chaves CarrierConfig:

Chave Valor
KEY_ENTITLEMENT_SERVER_URL_STRING URL do servidor de autorização da operadora. O https:// prefixo devem ser incluídos.
KEY_FCM_SENDER_ID_STRING ID de remetente do FCM da operadora.

Não defina esse valor se o FCM não for exigido pela operadora.
KEY_SHOW_VOWIFI_WEBVIEW_BOOL Defina para true se a transportadora exige uma UI portal web para os usuários a se inscrever no serviço VoWiFi. Por exemplo, consentir com os termos e condições ou inserir um endereço de emergência.

Isso normalmente é exigido pelas operadoras da América do Norte.
KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING
Definido para com.android.imsserviceentitlement/.WfcActivationActivity , se KEY_SHOW_VOWIFI_WEBVIEW_BOOL é true .
KEY_IMS_PROVISIONING_BOOL Defina para true se a transportadora exige rede de provisionamento de serviços no fundo IMS (VoLTE / VoWiFi / SMSoIP).

Isso é exigido por algumas operadoras europeias.
KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL Definir a true se KEY_IMS_PROVISIONING_BOOL é true .

O tráfego HTTP para o servidor de autorização de uma operadora e portal da web passa pela rede padrão, por exemplo, dados móveis padrão ou Wi-Fi gratuito.

GMS parceiros: As seguintes companhias são suportados pelo aplicativo TS.43 direito no Android 12, seguindo especificação TS.43 v5.0:

  • US: CSpire, US Cellular
  • França: laranja

IU adicional do sistema para provisionamento IMS

Esta seção descreve como os OEMs podem oferecer suporte a elementos adicionais da IU do sistema relacionados ao provisionamento de serviço IMS (por exemplo, ao mostrar uma notificação quando o VoWiFi é provisionado).

Os ImsServiceEntitlement conjuntos de aplicativos do VoWiFi provisionamento estado na plataforma usando o ProvisioningManager.setProvisioningIntValue(KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE, value) sistema API. Este API também é usado para VoLTE (com KEY_VOLTE_PROVISIONING_STATUS ) e SMSoIP (com KEY_SMS_OVER_IP_ENABLED ).

A interface do usuário do sistema pode, em seguida, ler o estado de provisionamento usando getProvisioningIntValue ou por registrar um retorno de chamada para monitorar a mudança de estado de provisionamento através registerProvisioningChangedCallback .

Substituindo configurações para teste

Use os seguintes procedimentos para alterar temporariamente a ImsServiceEntitlement comportamento app para fins de teste. Para mais detalhes sobre como substituir configurações de operadora, consulte Substituindo configurações de operadora .

Ignorando o processo de inscrição VoWiFi

Para pular o processo de inscrição VoWiFi, permitindo VoWiFi para ser ligado directamente, substituir a configuração transportadora KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING e define seu valor como uma cadeia vazia.

Ignorando provisionamento IMS

Para pular IMS provisionamento, fazendo serviços IMS disponível e permitindo aos utilizadores ligar tais serviços sem rede de provisionamento, portador override configuração KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL e defina seu valor como false .

Alterar URL do servidor de autorização

Para alterar o direito servidor URL, portador override configuração KEY_ENTITLEMENT_SERVER_URL_STRING e defina seu valor para a cadeia URL esperado. Você deve incluir o https:// prefixo.

Substituindo configurações de operadora

A partir do Android 11, os comandos de substituição de configuração da operadora são integrados e estão disponíveis com privilégios de root.

O comando a seguir é um exemplo de como substituir a chave de configuração transportadora carrier_volte_provisioning_required_bool e defina seu valor como false . Você pode executar o comando várias vezes para substituir várias configurações.

adb root
adb shell cmd phone cc set-value -p carrier_volte_provisioning_required_bool false

Para limpar todas as substituições, use o seguinte comando:

adb shell cmd phone cc clear-values

Para obter mais informações, execute o seguinte comando:

adb shell cmd phone cc