En esta página, se describe cómo implementar el 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 mientras se escribe carácter por carácter, admitir comunicaciones al 911 y brindar retrocompatibilidad con TTY.
En una llamada de RTT, tanto el emisor como el receptor tienen indicaciones de que se encuentran en una llamada de RTT. Cuando se establece la conexión, ambas partes ingresan a la llamada de RTT, donde se activan la entrada de texto y el teclado. Cuando escribes, el texto aparece y se envía a medida que se escribe, 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 del IMS o del módem son de propiedad exclusiva y deben ser proporcionados por el proveedor del IMS o del módem. También está disponible la implementación de referencia de RTT del dialer.
Código de marcado del AOSP para RTT:
- En llamada: /java/com/android/incallui/rtt
- Registro de llamadas: /java/com/android/dialer/rtt
Implementación
Para implementar el RTT, debes trabajar con un proveedor de módem o SoC, ya que se requiere un módem compatible con RTT. Puedes actualizar a Android 9 o portar a versiones anteriores 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 dialer de AOSP.
Para implementar RTT, importa el código de AOSP y proporciona una pila de IMS que implemente @SystemApis del lado de 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
Compatibilidad con los siguientes métodos en
ImsCallSession
:sendRttMessage
sendRttModifyRequest
sendRttModifyResponse
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 estará disponible a través de la configuración de accesibilidad o no. Usa la configuración del dispositivo para cambiar la configuración predeterminada. 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 del 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 del dialer
Descripción de la situación | Maqueta de la IU |
---|---|
Si el RTT está inhabilitado en el dispositivo, se mostrará un diálogo sobre el RTT. | |
En la configuración del Teléfono, hay una pantalla de Texto en tiempo real disponible en Configuración > Accesibilidad, que proporciona la opción de elegir otro modo de RTT. | |
Cuando la RTT está habilitada de forma predeterminada, ocurre lo siguiente:
|
|
Si la función RTT está inhabilitada en el dispositivo:
|
|
Si el RTT está habilitado en el dispositivo y tiene la configuración predeterminada para responder todas las llamadas como RTT, ocurrirá lo siguiente:
|
|
En la IU de la llamada de 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:
|
|
En la pantalla Detalles de la llamada, si seleccionas el vínculo Ver transcripción, se mostrará una vista de conversación completa 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. |