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

Registro Único IMS

O Android 12 apresenta suporte para um único modelo de registro para fornecer recursos MMTEL e RCS. Este modelo permite que os dispositivos tenham todos os recursos IMS gerenciados por meio de um único registro IMS fornecido pelo ImsService do dispositivo e cumpram os requisitos introduzidos por algumas operadoras de telecomunicações. Em comparação com um modelo de registro duplo, em que vários registros IMS são gerenciados em um dispositivo, o registro único reduz o tráfego na rede da operadora e aumenta a confiabilidade.

Android 12 suportes este modelo único de matrícula através de uma arquitetura com um conjunto de APIs que permitem que a pilha de telefonia AOSP para gerenciar tanto MMTel recursos fornecidos pelo ImsService e RCS recursos fornecidos pela RCS selecionadas pelo usuário de mensagens aplicativo. Para oferecer suporte ao registro único do IMS, os fabricantes de dispositivos e fornecedores de SoC devem implementar essas APIs para habilitar os recursos RCS no aplicativo de mensagens RCS selecionado pelo usuário.

A Figura 1 ilustra a pilha IMS do dispositivo ao usar o modelo de registro único IMS. Todos os aplicativos IMS usam os recursos ImsService padrão do dispositivo para MMTEL e RCS em um único registro IMS. Isso inclui provisionamento, encaminhamento de mensagens SIP e troca de recursos do usuário RCS.

Arquitetura de modo de registro único

Figura 1. Single arquitetura modelo de registo

O Android 11 e anterior só oferece suporte a um modelo de registro duplo para fornecer recursos MMTEL e RCS, onde MMTEL é fornecido pelo ImsService do dispositivo e os recursos RCS são implementados por cima e gerenciam sua própria pilha IMS e conexão à rede da operadora de forma independente.

A Figura 2 ilustra a arquitetura do modelo de registro duplo. Nesse modelo, cada aplicativo é responsável por se conectar à rede da operadora e estabelecer um registro IMS para os recursos MMTEL e RCS. O ImsService do dispositivo implementa MMTEL, usa a conexão de dados IMS do dispositivo para a rede da operadora e opera independentemente de outros aplicativos RCS.

arquitetura de modo de registro duplo

Figura 2. dupla arquitetura modelo de registo

APIs de registro único IMS

Dispositivos que vão em suportes que requerem IMS único de matrícula deve suportar os IMS APIs de registo únicos e definir o recurso Android PackageManager#FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION . A Figura 3 mostra as APIs que oferecem suporte ao registro único IMS.

Superfícies de API que suportam registro único IMS

Figura 3. Alto nível API superfícies que o apoio IMS único de matrícula

Os dispositivos Android que oferecem suporte ao registro único IMS como parte da pilha de telefonia AOSP são necessários para oferecer suporte a todas as APIs AOSP descritas na tabela a seguir.

Área de superfície API APIs de aplicativo RCS Fornecedor IMS APIs Descrição
Provisionamento RCS ProvisioningManager ImsConfigImplBase Permite que um OEM ou operadora forneça um aplicativo para atualizar o status de provisionamento RCS se a operadora usar um mecanismo de autorização de operadora proprietário. O ImsService também deve oferecer suporte ao AutoConfigurationServer (ACS) padrão para provisionamento para operadoras que não usam um mecanismo proprietário.
Encaminhamento de mensagens SIP SipDelegateManager SipTransportImplBase Permite que um aplicativo RCS para RCS específicas primeira associados possuem etiquetas com o dispositivo ImsService , e, em seguida, enviar e receber mensagens SIP e actualizações de registo no IMS associados a esses característica tags RCS.
Notificações de portador dedicado ConnectivityManager DataCallResponse Permite que um aplicativo ouça notificações de QoS em um soquete associado a uma porta local específica.
Autenticação GBA bootstrapAuthenticationRequest GbaService Permite que um aplicativo RCS se autentique com as chaves de rede e de acesso usadas para recursos RCS, como transferência de arquivos.
Troca de capacidade do usuário RCS ImsRcsManager RcsCapabilityExchangeImplBase Fornece ao AOSP a capacidade de enviar seus recursos MMTEL e RCS ao fornecedor ImsService para que possam ser publicados sob uma entidade para a rede para troca de recursos do usuário RCS. Também permite que outros aplicativos interessados ​​nos recursos RCS de um ou mais contatos consultem a rede em busca dos recursos RCS dos contatos.

Segurança e permissões

O Android 12 apresenta as seguintes permissões para garantir o acesso seguro à rede da operadora e aos dados do usuário:

O android.permission.PERFORM_IMS_SINGLE_REGISTRATION permissão deve ser definido pelo aplicativo de mensagens com as características RCS. Para que essa permissão seja concedida, o seguinte deve ser verdadeiro:

  • O aplicativo deve ser instalado como um aplicativo privilegiado, o que significa que está pré-instalado no dispositivo e tem permissão para acessar permissões privilegiadas
  • O aplicativo deve ser definido como função padrão SMS do usuário usando RoleManager

Se essas duas condições não forem cumpridas, o aplicativo é negado o acesso ao android.permission.PERFORM_IMS_SINGLE_REGISTRATION permissão. Isso significa que aplicativos de terceiros não têm permissão para acessar APIs de registro único RCS, pois exigem certificação de operadora no dispositivo.

O android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE permissão quando concedido a um aplicativo que também tem a permissão READ_CONTACTS permite que o aplicativo para solicitar as capacidades RCS de números de telefone usando RcsUceAdapter . Para que essa permissão seja concedida, o seguinte deve ser verdadeiro:

  • O aplicativo deve ser instalado como um aplicativo privilegiado, o que significa que está pré-instalado no dispositivo e tem permissão para acessar permissões privilegiadas.
  • O aplicativo deve ser definido como um dos seguintes RoleManager papéis:

    • Aplicativo de mensagens padrão: definido pelo usuário.
    • Aplicativo discador padrão: definido pelo usuário.
    • App contatos padrão: O papel de um introduzido no Android 12 que permite que o OEM para definir um nome de pacote através do valor de sobreposição dispositivo config_systemContacts , que devem corresponder aos aplicativo de contatos do dispositivo. Esse aplicativo recebe então a função de contatos.

Para acessar o IMS APN usando ConnectivityManager para configurar e gerenciar o tráfego de dados, aplicativos também deve solicitar a android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS permissão.

Exemplos e fonte

O Android fornece um aplicativo em AOSP que implementa um aplicativo de mensagens de teste com suporte de mensagens RCS básico para fins de teste e desenvolvimento. Você pode encontrar o aplicativo na testapps/TestRcsApp . Quando o aplicativo é instalado em um dispositivo, ele pode ser definido como o aplicativo de mensagens padrão do usuário e terá as permissões necessárias para acessar as APIs de registro único do IMS.

O Android também fornece uma implementação de amostra do ImsService for RCS. O código fonte está em /testapps/ImsTestService .

Implementação

Para mais detalhes de implementação, baixar IMS único de matrícula no Android .

Validação

Para validar sua implementação do registro único IMS, faça o seguinte:

  • Garantir os CtsTelephonyTestCases passes conjunto de testes CTS.
  • Instalar e executar o TestRcsApp para executar casos de teste básicos único de matrícula durante a integração.
  • Passe na certificação da operadora para casos de teste de registro único IMS.