Números de emergencia y llamadas de emergencia

Las llamadas de emergencia son fundamentales y críticas para los dispositivos, ya que deben funcionar para los usuarios de Android y satisfacer diversos requisitos regulatorios y de operadores de todo el mundo. El framework de Android proporciona a los usuarios una experiencia de llamadas de emergencia rápida y segura.

Android 10 proporciona compatibilidad mejorada para las funciones, el mantenimiento y las actualizaciones de llamadas de emergencia en la plataforma local de Android a través de 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 servicios de emergencia, como policía, bomberos o ambulancia. Android 10 proporciona compatibilidad mejorada para dispositivos con varias SIM, ya que comparte números de emergencia de varias suscripciones en la API de TelephonyManager.

En Android 10 con Radio HAL 1.4, se mejoran las llamadas de emergencia separando las llamadas de emergencia de las llamadas normales en la interfaz de la 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 TelephonyManager y de interfaz de hardware.

APIs de TelephonyManager

Implementa las siguientes APIs:

  • Implementa getEmergencyNumberList para obtener números de emergencia válidos para las llamadas de emergencia según la fuente de números de emergencia, lo que incluye 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 un número 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 para 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. Los números 000, 08, 110, 999, 118 y 119 deben estar disponibles cuando no haya una SIM. Para obtener más detalles, consulta la Sección 10: Llamadas de emergencia en 3GPP TS 22.101.

Los valores para las categorías de servicios de emergencia son los siguientes:

  • UNSPECIFIED: Llamada de emergencia general, todas las categorías
  • POLICE: Policía
  • AMBULANCE: Ambulancia
  • FIRE_BRIGADE: Cuerpo de bomberos
  • MARINE_GUARD: Guardia Marina
  • MOUNTAIN_RESCUE: Rescate de montaña
  • MIEC: Llamada de emergencia iniciada manualmente (MIeC)
  • AIEC: Llamada de emergencia iniciada automáticamente (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 del 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, como la dirección del número, el código móvil de país (MCC), el código de red móvil (MNC), la categoría del servicio de emergencia, el nombre uniforme de recurso (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 con el enrutamiento de emergencia o el enrutamiento de llamadas normal, según sea necesario. Si es UNKNOWN, el enrutamiento se decide según 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 información adicional sobre las especificaciones y los estándares técnicos relacionados, consulta lo siguiente: