Las llamadas de emergencia son fundamentales y críticas para los dispositivos, ya que deben funcionar para los usuarios de Android y, al mismo tiempo, satisfacer varios requisitos regulatorios y de operadores en todo el mundo. El framework de Android les brinda a los usuarios una experiencia de llamadas de emergencia rápida y segura.
Android 10 proporciona compatibilidad mejorada con las funciones de llamadas de emergencia, el mantenimiento y las actualizaciones en la plataforma local de Android mediante una lista detallada de números de emergencia de la SIM, la red, el módem y la base de datos. Android 10 también admite llamadas de emergencia según el tipo de servicio de emergencia, como policía, bomberos o ambulancia. Android 10 proporciona compatibilidad mejorada para dispositivos con varias SIMs, ya que comparte números de emergencia de varias suscripciones en la API de TelephonyManager.
En Android 10 con la HAL de Radio 1.4, se mejora la llamada de emergencia, ya que se separan las llamadas de emergencia de las normales en la interfaz de HAL para optimizar la ruta de llamadas de emergencia y permitir que los dispositivos marquen el número de emergencia adecuado configurado en la base de datos de Android.
Implementación
Para implementar las funciones de llamadas de emergencia y números de emergencia, usa las siguientes APIs de TelephonyManager
y de interfaz de hardware.
APIs de TelephonyManager
Implementa las siguientes APIs:
- Implementa
getEmergencyNumberList
para obtener números de emergencia válidos para llamadas de emergencia según la fuente de números de emergencia, incluida la configuración regional, las tarjetas SIM, la configuración predeterminada, el módem, la base de datos de Android y la red. Para cada número de emergencia, especifica la categoría de servicio de emergencia correspondiente, como policía, ambulancia y bomberos. - Implementa
isEmergencyNumber
para identificar si un número de teléfono es de emergencia. - Implementa
isPotentialEmergencyNumber
para identificar un número como número de emergencia si tiene los mismos dígitos iniciales que cualquiera de los números de emergencia.
Los valores de las fuentes de números de emergencia son los siguientes:
EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING
: El número proviene de la señal de red.EMERGENCY_NUMBER_SOURCE_SIM
: El número es de la tarjeta SIM.EMERGENCY_NUMBER_SOURCE_DATABASE
: El número proviene de la base de datos que mantiene la plataforma.EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG
: El número proviene de la configuración del módem.EMERGENCY_NUMBER_SOURCE_DEFAULT
: El número está disponible de forma predeterminada. Los números 112 y 911 siempre deben estar disponibles. 000, 08, 110, 999, 118 y 119 deben estar disponibles cuando no hay una SIM. Para obtener más detalles, consulta la Sección 10: Llamadas de emergencia en el 3GPP TS 22.101.
Los valores de las categorías de servicios de emergencia son los siguientes:
UNSPECIFIED
: Llamada de emergencia general, todas las categoríasPOLICE
: PolicíaAMBULANCE
: AmbulanciaFIRE_BRIGADE
: Cuerpo de bomberosMARINE_GUARD
: Guardia costeraMOUNTAIN_RESCUE
: Rescate de montañaMIEC
: Llamada de emergencia iniciada manualmente (MIeC)AIEC
: Llamada de emergencia automática (AIeC)
Para obtener más detalles, consulta la Sección 10: Llamadas de emergencia en 3GPP TS 22.101.
APIs de interfaz de hardware
Implementa emergencyDial
en IRadio.hal
. Implementa emergencyDialResponse
en IRadioResponse.hal
para enviar una respuesta con el tipo de respuesta, el número de serie y la información de error.
Para informar la lista actual de números de emergencia, implementa currentEmergencyNumberList
en IRadioIndication.hal
. Implementa EmergencyNumber
en types.hal
, que contiene información sobre el número de emergencia, incluida la dirección del número, el código de país móvil (MCC), el código de red móvil (MNC), la categoría de servicio de emergencia, el nombre de recurso uniforme (URN) de emergencia y la fuente del número de emergencia.
Para indicar cómo se controla una llamada de emergencia, usa EmergencyCallRouting
.
Se puede solicitar una llamada de emergencia mediante el enrutamiento de emergencia o el enrutamiento de llamadas normal según sea necesario. Si es UNKNOWN
, el enrutamiento se decide en función de la
implementación.
Validación
Para validar tu implementación, ejecuta las siguientes pruebas de CTS y VTS.
Pruebas de CTS
Pruebas de VTS
Referencias
Para obtener más información sobre las especificaciones y los estándares técnicos relacionados, consulta lo siguiente:
- 3GPP TS 22.101, Sección 10: Llamadas de emergencia
- 3GPP TS 24.008, Sección 9.2.13.4: Lista de números de emergencia
- 3GPP TS 23.167, Sección 6: Descripción funcional
- 3GPP TS 24.503, Sección 5.1.6.8.1: General
- RFC 5031: Un nombre de recurso uniforme (URN) para servicios de emergencia y otros servicios conocidos