Les appels d'urgence sont une fonctionnalité fondamentale et essentielle pour les appareils, car ils doivent fonctionner pour les utilisateurs Android tout en respectant les diverses exigences des opérateurs et des organismes de réglementation du monde entier. Le framework Android offre aux utilisateurs une expérience d'appel d'urgence rapide et sûre.
Android 10 améliore la compatibilité avec les fonctions d'appel d'urgence, la maintenance et les mises à jour sur 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 permet également d'appeler les services d'urgence en fonction du type de service d'urgence (police, pompiers ou ambulance, par exemple). Android 10 améliore la 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 pour optimiser le chemin d'appel d'urgence et 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 des numéros d'urgence, y compris les paramètres régionaux, les cartes SIM, les valeurs 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 (police, ambulance, incendie, etc.). - 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 commence par les mêmes chiffres que l'un des numéros d'urgence.
Voici les valeurs pour les sources de numéros d'urgence :
EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING
: le numéro provient du signal réseau.EMERGENCY_NUMBER_SOURCE_SIM
: le numéro provient de la carte SIMEMERGENCY_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 en l'absence de carte SIM. Pour en savoir plus, consultez la section 10 : Appels d'urgence dans 3GPP TS 22.101.
Voici les valeurs des catégories de services d'urgence :
UNSPECIFIED
: appel d'urgence général, toutes catégoriesPOLICE
: PoliceAMBULANCE
: ambulanceFIRE_BRIGADE
: PompiersMARINE_GUARD
: Garde maritimeMOUNTAIN_RESCUE
: Sauvetage en montagneMIEC
: appel d'urgence déclenché manuellementAIEC
: eCall initié automatiquement (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 sur les erreurs.
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 code pays mobile (MCC), le code réseau mobile (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 :
- 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 : A Uniform Resource Name (URN) for Emergency and Other Well-Known Services