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, cumplir con varios de los requisitos reglamentarios y de operadores de 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 para 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, implementa las siguientes APIs de interfaz de hardware y TelephonyManager
.
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 proviene 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 deben estar siempre disponibles. 000, 08, 110, 999, 118 y 119 deben estar disponibles cuando no hay ninguna 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 electrónica iniciada de forma manual (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 tipo de respuesta, información del error y número de serie.
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 de 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 maneja 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