Numéros d'urgence et appels d'urgence

Les appels d'urgence sont fondamentaux et essentiels pour les appareils, car ils doivent fonctionner pour les utilisateurs Android tout en répondant aux diverses exigences réglementaires et des opérateurs du monde entier. Le framework Android offre aux utilisateurs une expérience d'appel d'urgence rapide et sécurisée.

Android 10 offre une meilleure prise en charge des fonctions, de la maintenance et des mises à jour des appels d'urgence dans la plate-forme Android locale en utilisant une liste détaillée des numéros d'urgence provenant de la carte SIM, du réseau, du modem et de la base de données. Android 10 prend également en charge les appels d'urgence en fonction du type de services d'urgence, tels que la police, les pompiers ou les ambulances. Android 10 offre une meilleure prise en charge des appareils multi-SIM en partageant les numéros d'urgence de plusieurs abonnements dans l'API TelephonyManager.

Dans Android 10 avec Radio HAL 1.4, les appels d'urgence sont améliorés en séparant les appels d'urgence des appels normaux dans l'interface HAL afin d'optimiser le chemin d'appel d'urgence et de permettre aux appareils de composer le numéro d'urgence approprié configuré dans la base de données Android.

Implémentation

Pour implémenter les fonctions d'appel d'urgence et de numéro d'urgence, implémentez les API d'interface matérielle et TelephonyManager suivantes.

API TelephonyManager

Implémentez les API suivantes :

  • Implémentez getEmergencyNumberList pour obtenir des numéros d'urgence valides pour les appels d'urgence en fonction de la source du numéro d'urgence, y compris les paramètres régionaux, les cartes SIM, la valeur par défaut, le modem, la base de données Android et le réseau. Pour chaque numéro d'urgence, spécifiez la catégorie de service d'urgence correspondante, par exemple la police, l'ambulance et les pompiers.
  • Implémentez isEmergencyNumber pour déterminer si un numéro de téléphone est un numéro d'urgence.
  • Implémentez isPotentialEmergencyNumber pour identifier un numéro comme numéro d'urgence s'il comporte les mêmes chiffres de début que l'un des numéros d'urgence.

Les valeurs des sources de numéros d'urgence sont les suivantes :

  • EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING: le numéro provient du signal réseau.
  • EMERGENCY_NUMBER_SOURCE_SIM : le numéro provient de la carte SIM.
  • EMERGENCY_NUMBER_SOURCE_DATABASE: le numéro provient de la base de données gérée par la plate-forme.
  • EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG : le numéro provient de la configuration du modem.
  • EMERGENCY_NUMBER_SOURCE_DEFAULT : le numéro est disponible par défaut. Les numéros 112 et 911 doivent toujours être disponibles. Les numéros 000, 08, 110, 999, 118 et 119 doivent être disponibles lorsqu'aucune carte SIM n'est présente. Pour en savoir plus, consultez la section 10 : Appels d'urgence dans 3GPP TS 22.101.

Les valeurs des catégories de services d'urgence sont les suivantes :

  • UNSPECIFIED : appel d'urgence général, toutes catégories
  • POLICE : police
  • AMBULANCE : ambulance
  • FIRE_BRIGADE : pompiers
  • MARINE_GUARD : garde maritime
  • MOUNTAIN_RESCUE : secours en montagne
  • MIEC : appel d'urgence manuel (MIeC)
  • AIEC : appel d'urgence automatique (AIeC)

Pour en savoir plus, consultez la section 10 : Appels d'urgence dans 3GPP TS 22.101.

API d'interface matérielle

Implémentez emergencyDial dans IRadio.hal. Implémentez emergencyDialResponse dans IRadioResponse.hal pour envoyer une réponse avec le type de réponse, le numéro de série et les informations d'erreur.

Pour signaler la liste actuelle des numéros d'urgence, implémentez currentEmergencyNumberList dans IRadioIndication.hal. Implémentez EmergencyNumber dans types.hal, qui contient des informations sur le numéro d'urgence, y compris l'adresse du numéro, le mobile country code (MCC), le mobile network code (MNC), la catégorie de service d'urgence, le nom de ressource uniforme (URN) d'urgence et la source du numéro d'urgence.

Pour indiquer comment un appel d'urgence est géré, utilisez EmergencyCallRouting. Un appel d'urgence peut être demandé à l'aide du routage d'urgence ou du routage d'appel normal, selon les besoins. Si la valeur est UNKNOWN, le routage est décidé en fonction de l'implémentation.

Validation

Pour valider votre implémentation, exécutez les tests CTS et VTS suivants.

Tests CTS

Tests VTS

Références

Pour en savoir plus sur les spécifications et normes techniques associées, consultez les ressources suivantes :