Les appels d'urgence sont fondamentaux et critiques pour les appareils, car ils doivent fonctionner pour les utilisateurs d'Android tout en satisfaisant aux diverses exigences des opérateurs et des réglementations du monde entier. Le framework Android offre aux utilisateurs une expérience d'appel d'urgence rapide et sûre.
Android 10 offre une prise en charge améliorée des fonctions d'appel d'urgence, de maintenance et de mises à jour sur la plate-forme Android locale en utilisant une liste détaillée de 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 l'ambulance. Android 10 offre une prise en charge améliorée 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 pour optimiser le chemin des appels d'urgence et en permettant aux appareils de composer le numéro d'urgence approprié configuré dans la base de données Android.
Mise en œuvre
Pour implémenter les fonctions d’appel d’urgence et de numéro d’urgence, implémentez les API TelephonyManager
et d’interface matérielle 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, notamment 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, précisez la catégorie de service d'urgence correspondante, telle que la police, l'ambulance et les pompiers. - Implémentez
isEmergencyNumber
pour identifier 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épart que l’un des numéros d’urgence.
Les valeurs des sources de numéros d'urgence sont :
-
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 plateforme. -
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. 000, 08, 110, 999, 118 et 119 doivent être disponibles lorsqu'aucune carte SIM n'est présente. Pour plus de détails, voir Section 10 : Appels d'urgence dans 3GPP TS 22.101 .
Les valeurs pour les catégories de services d'urgence sont :
-
UNSPECIFIED
: Appel d'urgence général, toutes catégories -
POLICE
: Policier -
AMBULANCE
: Ambulance -
FIRE_BRIGADE
: Pompiers -
MARINE_GUARD
: Garde Marine -
MOUNTAIN_RESCUE
: Secours en Montagne -
MIEC
: eCall lancé manuellement (MIeC) -
AIEC
: eCall lancé automatiquement (AIeC)
Pour plus de détails, voir 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, notamment l'adresse du numéro, l'indicatif du pays mobile (MCC), le code du réseau mobile (MNC), la catégorie du service d'urgence , le nom de la ressource uniforme d'urgence (URN) et la source du numéro d'urgence. .
Pour indiquer comment un appel d'urgence est traité, utilisez EmergencyCallRouting
. Un appel d'urgence peut être demandé en utilisant le routage d'urgence ou le routage d'appel normal, selon les besoins. S'il s'agit de 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.
Essais CTS
Essais VTS
Les références
Pour plus d’informations sur les spécifications techniques et les normes associées, voir :
- 3GPP TS 22.101 , Section 10 : Appels d'urgence
- 3GPP TS 24.008 , section 9.2.13.4 : Liste des numéros d'urgence
- 3GPP TS 23.167 , Section 6 : Description fonctionnelle
- 3GPP TS 24.503 , section 5.1.6.8.1 : Général
- RFC 5031 : Un nom de ressource uniforme (URN) pour les services d'urgence et autres services bien connus