Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Registro único IMS

Android 12 presenta compatibilidad con un modelo de registro único para proporcionar funciones MMTEL y RCS. Este modelo permite que los dispositivos tengan todas las funciones de IMS administradas a través de un único registro de IMS proporcionado por ImsService del dispositivo y para cumplir con los requisitos introducidos por algunos operadores de telecomunicaciones. En comparación con un modelo de registro dual, donde se administran varios registros IMS en un dispositivo, el registro único reduce el tráfico en la red del operador y aumenta la confiabilidad.

Android 12 soporta este modelo único de registro a través de una arquitectura con un conjunto de APIs que permiten que la pila de telefonía AOSP para gestionar tanto MMTEL características proporcionadas por ImsService y RCS características proporcionadas por los RCS seleccionados por el usuario de mensajería aplicación. Para admitir el registro único de IMS, los fabricantes de dispositivos y los proveedores de SoC deben implementar estas API para habilitar las funciones de RCS en la aplicación de mensajería RCS seleccionada por el usuario.

La Figura 1 ilustra la pila IMS del dispositivo cuando se usa el modelo de registro único IMS. Todas las aplicaciones IMS utilizan el ImsService predeterminado del dispositivo para las funciones MMTEL y RCS en un solo registro IMS. Esto incluye aprovisionamiento, reenvío de mensajes SIP e intercambio de capacidad de usuario RCS.

Arquitectura de modo de registro único

Figura 1. Single arquitectura modelo de registro

Android 11 y versiones inferiores solo admiten un modelo de registro dual para proporcionar funciones MMTEL y RCS, donde MMTEL es proporcionado por ImsService del dispositivo y las funciones RCS se implementan en la parte superior y administran su propia pila IMS y la conexión a la red del operador de forma independiente.

La Figura 2 ilustra la arquitectura del modelo de registro dual. En este modelo, cada aplicación es responsable de conectarse a la red del operador y establecer un registro IMS para las funciones MMTEL y RCS. ImsService del dispositivo implementa MMTEL, utiliza la conexión de datos IMS del dispositivo a la red del operador y opera independientemente de otras aplicaciones RCS.

arquitectura de modo de registro dual

Figura 2. Dual arquitectura modelo de registro

API de registro único de IMS

Los dispositivos que van a los transportistas que requieren IMS único registro debe ser compatible con las APIs de registro IMS individuales y definir la función Android PackageManager#FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION . La Figura 3 muestra las API que admiten el registro único de IMS.

Superficies API que admiten el registro único de IMS

Figura 3. API de alto nivel que las superficies de apoyo IMS de registro único

Los dispositivos Android que admiten el registro único de IMS como parte de la pila de telefonía AOSP deben admitir todas las API de AOSP descritas en la siguiente tabla.

Área de superficie API API de la aplicación RCS API de IMS de proveedor Descripción
Aprovisionamiento RCS ProvisioningManager ImsConfigImplBase Permite que un OEM o operador proporcione una aplicación para actualizar el estado de aprovisionamiento de RCS si el operador utiliza un mecanismo de autorización de operador patentado. ImsService también debe admitir el AutoConfigurationServer (ACS) estándar para el aprovisionamiento de operadores que no utilizan un mecanismo propietario.
Reenvío de mensajes SIP SipDelegateManager SipTransportImplBase Permite que una aplicación RCS a RCS específicos asociados primera función de etiquetas con el dispositivo ImsService , y luego enviar y recibir mensajes SIP y actualizaciones de registro de IMS asociados con esas característica de las etiquetas de RCS.
Notificaciones al portador dedicadas Administrador de conectividad DataCallResponse Permite que una aplicación escuche las notificaciones de QoS en un socket que está asociado con un puerto local específico.
Autenticación GBA bootstrapAuthenticationRequest GbaService Permite que una aplicación RCS se autentique con la red y las claves de acceso utilizadas para las funciones RCS, como la transferencia de archivos.
Intercambio de capacidad de usuario RCS ImsRcsManager RcsCapabilityExchangeImplBase Proporciona a AOSP la capacidad de enviar sus capacidades MMTEL y RCS al proveedor ImsService para que puedan publicarse bajo una entidad en la red para el intercambio de capacidades de usuario RCS. También permite que otras aplicaciones interesadas en las capacidades RCS de uno o más contactos consulten la red para conocer las capacidades RCS de los contactos.

Seguridad y permisos

Android 12 presenta los siguientes permisos para garantizar un acceso seguro a la red del operador y a los datos del usuario:

El android.permission.PERFORM_IMS_SINGLE_REGISTRATION permiso debe ser definido por la aplicación de mensajería con las características de RCS. Para que se otorgue este permiso, debe cumplirse lo siguiente:

  • La aplicación debe instalarse como una aplicación privilegiada, lo que significa que está preinstalada en el dispositivo y puede acceder a permisos privilegiados.
  • La aplicación se debe establecer como papel SMS predeterminada del usuario mediante RoleManager

Si estas dos condiciones no se cumple, la aplicación se le niega el acceso a la android.permission.PERFORM_IMS_SINGLE_REGISTRATION permiso. Esto significa que las aplicaciones de terceros no pueden acceder a las API de registro único de RCS, ya que requieren la certificación del operador en el dispositivo.

El android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE permiso cuando concedió a una aplicación que también tiene el permiso READ_CONTACTS permite que la aplicación solicite las capacidades RCS de números de teléfono mediante RcsUceAdapter . Para que se otorgue este permiso, debe cumplirse lo siguiente:

  • La aplicación debe instalarse como una aplicación privilegiada, lo que significa que está preinstalada en el dispositivo y puede acceder a permisos privilegiados.
  • La aplicación debe ser definido como uno de los siguientes RoleManager papeles:

    • Aplicación de mensajería predeterminada: configurada por el usuario.
    • Aplicación de marcador predeterminada: configurada por el usuario.
    • Los contactos predeterminados aplicación: Una función introducida en Android 12 que permite que el OEM para definir el nombre del paquete a través de los valores de superposición dispositivo config_systemContacts , que deben corresponder a la aplicación Contactos del dispositivo. A esa aplicación se le asigna el rol de contactos.

Para acceder al IMS APN usando ConnectivityManager para configurar y gestionar el tráfico de datos, las aplicaciones también deben solicitar la android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS permiso.

Ejemplos y fuente

Android proporciona una aplicación en AOSP que implementa una aplicación de mensajería de prueba con soporte básico de mensajería RCS para propósitos de prueba y desarrollo. Puede encontrar la aplicación en testapps/TestRcsApp . Cuando la aplicación se instala en un dispositivo, se puede configurar como la aplicación de mensajería predeterminada del usuario y tendrá los permisos necesarios para acceder a las API de registro único de IMS.

Android también proporciona una implementación de muestra de ImsService para RCS. El código fuente está en /testapps/ImsTestService .

Implementación

Para más detalles de implementación, descargar IMS registro individual en Android .

Validación

Para validar su implementación del registro único de IMS, haga lo siguiente:

  • Asegúrese de que los CtsTelephonyTestCases pases del banco de pruebas CTS.
  • Instalar y ejecutar el TestRcsApp para ejecutar los casos de prueba básicos individuales de registro durante la integración.
  • Aprobar la certificación de operador para casos de prueba de registro único de IMS.