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 des opérateurs et des autorités réglementaires 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 d'appel d'urgence, de la maintenance et des mises à jour sur la plate-forme Android locale en utilisant une liste détaillée des numéros d'urgence 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, comme la police, les pompiers ou les ambulances. Android 10 offre une meilleure prise en charge des appareils avec plusieurs cartes 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 d'autoriser les appareils à 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 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 de numéros 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, comme la police, les premiers secours 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 un numéro d'urgence s'il commence par les mêmes chiffres 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 nombre provient du signal réseauEMERGENCY_NUMBER_SOURCE_SIM
: le numéro provient de la carte SIMEMERGENCY_NUMBER_SOURCE_DATABASE
: le nombre provient de la base de données gérée par la plate-formeEMERGENCY_NUMBER_SOURCE_MODEM_CONFIG
: le numéro provient de la configuration du modemEMERGENCY_NUMBER_SOURCE_DEFAULT
: le numéro est disponible par défaut. Les numéros 112 et 911 doivent toujours être disponibles. Les valeurs 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 de la 3GPP TS 22.101.
Les valeurs des catégories de services d'urgence sont les suivantes:
UNSPECIFIED
: appel d'urgence général, toutes les catégoriesPOLICE
: PoliceAMBULANCE
: ambulanceFIRE_BRIGADE
: Brigade de pompiersMARINE_GUARD
: garde maritimeMOUNTAIN_RESCUE
: sauvetage en montagneMIEC
: eCall déclenché manuellement (MIeC)AIEC
: eCall déclenché automatiquement (AIeC)
Pour en savoir plus, consultez la section 10: Appels d'urgence de la norme 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 numérique, le mobile country code (MCC), le mobile network code (MNC), la catégorie de service d'urgence, le nom de ressource uniforme d'urgence (URN) 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 techniques et les normes associées, consultez les documents suivants:
- 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éralités
- RFC 5031: Uniform Resource Name (URN) pour les services d'urgence et autres services bien connus