Cómo implementar texto en tiempo real

En esta página, se describe cómo implementar texto en tiempo real (RTT) en Android 9. El RTT es una función para usuarios sordos o con hipoacusia que reemplaza la tecnología de teletipo (TTY). Con esta función, los dispositivos pueden usar el mismo número de teléfono para llamadas de voz y RTT, transmitir texto de forma simultánea a medida que se escribe carácter por carácter, admitir comunicaciones al 911 y proporcionar capacidad de compatibilidad con TTY.

En una llamada de RTT, tanto el emisor como el receptor tienen indicaciones de que están en una llamada de RTT. Cuando se conectan, ambos participantes ingresan a la llamada de RTT, en la que se activan el teclado y la entrada de texto. Cuando escribes, el texto aparece y se envía a medida que lo escribes, carácter por carácter.

Ejemplos y fuente

Los componentes del framework están disponibles en AOSP en Call.RttCall y Connection.RttTextStream. Los componentes de IMS/módem son propietarios y deben ser proporcionados por el proveedor de IMS/módem. También está disponible la implementación de referencia del RTT del marcador.

Código del marcador de AOSP para RTT:

Implementación

Para implementar la función de RTT, debes trabajar con un proveedor de SoC o módem, ya que se requiere un módem que admita RTT. Puedes actualizar a Android 9 o transferir una lista de parches del framework de telefonía a Android 8.0. Las APIs agregadas en el AOSP de Android 8.0 no funcionarán.

Esta función usa APIs públicas en AOSP en android.telecom y @SystemApis en android.telephony.ims. Toda la IU se encuentra dentro de com.android.phone y el marcador de AOSP.

Para implementar la función de RTT, importa el código del AOSP y proporciona una pila de IMS que implemente las @SystemApis del lado del IMS para RTT. Para ello, debes seguir estos pasos:

  • Cómo activar o desactivar el RTT con ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
  • Cómo indicar el estado de RTT de una llamada con ImsStreamMediaProfile#mRttMode
  • Se agregó compatibilidad con los siguientes métodos en ImsCallSession:

    • sendRttMessage
    • sendRttModifyRequest
    • sendRttModifyResponse
  • Se agregó compatibilidad para llamar a los siguientes métodos en ImsCallSessionListener:

    • callSessionRttModifyRequestReceived
    • callSessionRttModifyResponseReceived
    • callSessionRttMessageReceived

Personalización

Puedes habilitar o inhabilitar esta función con la configuración del dispositivo, config_support_rtt, en la superposición de configuración del dispositivo para packages/services/Telephony y la marca de configuración del operador, CarrierConfigManager.RTT_SUPPORTED_BOOL, en los archivos de configuración del operador. Según la configuración, la función está disponible en la configuración de Accesibilidad o no. Usa la configuración del dispositivo para cambiar los parámetros de configuración predeterminados. De forma predeterminada, la función está desactivada.

Validación

Para validar tu implementación de RTT, ejecuta pruebas de CTS y realiza pruebas de RTT en el marcador.

Pruebas de CTS

Las pruebas de CTS (android.cts.telecom.RttOperationsTest) abarcan la parte de AOSP de la implementación. Debes proporcionar tus propias pruebas para la parte de la pila de IMS de la implementación.

Pruebas de RTT en el marcador

Descripción del caso Simulación de la IU
Si el RTT está inhabilitado en el dispositivo, se mostrará un diálogo sobre el RTT.

Banner de RTT

En la configuración del Teléfono, hay una pantalla de Texto en tiempo real disponible en Configuración > Accesibilidad que proporciona una opción para elegir un modo de RTT diferente.

Accesibilidad de RTT

Cuando el RTT está habilitado de forma predeterminada, ocurre lo siguiente:
  • Mientras se realiza la llamada, se muestra la IU de marcado estándar durante la llamada.
  • Cuando se conecta la llamada, se muestra la vista del modo de RTT. Si el usuario receptor no establece el modo de RTT como predeterminado, se muestra un banner que indica que se solicitó el modo de RTT mientras se espera una respuesta.

IU de RTT durante la llamada

Si la función de RTT está inhabilitada en el dispositivo, haz lo siguiente:
  • La pantalla de llamada entrante muestra el disco de respuesta estándar y las etiquetas de llamada estándar.

IU de llamada estándar de RTT

Si el RTT está habilitado en el dispositivo y tiene la configuración predeterminada para responder todas las llamadas como RTT:
  • En la pantalla de llamada entrante, se muestran el disco de RTT y las etiquetas de llamada asociadas.
  • Cuando contestas la llamada, se carga la vista del modo de RTT con el teclado habilitado.

Vista del modo de RTT

En la IU de llamada para RTT, se proporcionan opciones para permitir que los usuarios controlen el estado de la llamada de voz y obtengan ayuda general sobre el uso de RTT:
  • Activar o desactivar el micrófono
  • Activa y desactiva el altavoz.
  • Usar el teclado como entrada
  • Agregar otra llamada
  • Cambiar a una llamada de voz desde una llamada de RTT
  • Activa y desactiva la función de mantener.

Opciones de la IU durante la llamada RTT

En la pantalla Detalles de la llamada, si seleccionas el vínculo Ver transcripción, se mostrará una vista completa de la conversación con el texto completo de la sesión de RTT. Se muestran las marcas de tiempo. El usuario puede volver a la pantalla Detalles de la llamada con el botón Atrás.

Detalles de la llamada RTT