Połączenia alarmowe mają fundamentalne i krytyczne znaczenie dla urządzeń, ponieważ muszą działać dla użytkowników Androida, spełniając jednocześnie wymagania różnych operatorów i przepisów na całym świecie. Platforma Android zapewnia użytkownikom szybkie i bezpieczne połączenia alarmowe.
Android 10 zapewnia lepszą obsługę funkcji połączeń alarmowych, konserwacji i aktualizacji na lokalnej platformie Android, korzystając ze szczegółowej listy numerów alarmowych z karty SIM, sieci, modemu i bazy danych. Android 10 obsługuje także połączenia alarmowe w zależności od rodzaju służb ratunkowych, takich jak policja, straż pożarna czy pogotowie ratunkowe. Android 10 zapewnia lepszą obsługę urządzeń z wieloma kartami SIM, udostępniając numery alarmowe z wielu subskrypcji w interfejsie API TelephonyManager.
W systemie Android 10 z radiem HAL 1.4 usprawniono wykonywanie połączeń alarmowych poprzez oddzielenie połączeń alarmowych od zwykłych połączeń w interfejsie HAL w celu optymalizacji ścieżki połączeń alarmowych i umożliwienia urządzeniom wybrania odpowiedniego numeru alarmowego skonfigurowanego w bazie danych systemu Android.
Realizacja
Aby zaimplementować funkcje połączeń alarmowych i numerów alarmowych, zaimplementuj następujące interfejsy API TelephonyManager
i interfejsu sprzętowego.
Interfejsy API TelephonyManager
Zaimplementuj następujące interfejsy API:
- Zaimplementuj
getEmergencyNumberList
, aby uzyskać prawidłowe numery alarmowe do połączeń alarmowych na podstawie źródła numeru alarmowego, w tym ustawień regionalnych, kart SIM, ustawień domyślnych, modemu, bazy danych Androida i sieci. Dla każdego numeru alarmowego określ odpowiednią kategorię służb ratunkowych, taką jak policja, pogotowie ratunkowe i straż pożarna. - Zaimplementuj
isEmergencyNumber
, aby określić, czy numer telefonu jest numerem alarmowym. - Zaimplementuj
isPotentialEmergencyNumber
, aby zidentyfikować numer jako numer alarmowy, jeśli ma takie same cyfry początkowe jak którykolwiek z numerów alarmowych.
Wartości źródeł numerów alarmowych to:
-
EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING
: Numer pochodzi z sygnału sieciowego -
EMERGENCY_NUMBER_SOURCE_SIM
: Numer pochodzi z karty SIM -
EMERGENCY_NUMBER_SOURCE_DATABASE
: Numer pochodzi z bazy danych obsługiwanej przez platformę -
EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG
: Numer pochodzi z konfiguracji modemu -
EMERGENCY_NUMBER_SOURCE_DEFAULT
: Numer jest dostępny domyślnie. Numery 112 i 911 muszą być zawsze dostępne. Numery 000, 08, 110, 999, 118 i 119 muszą być dostępne, gdy nie ma karty SIM. Więcej szczegółów znajdziesz w Sekcji 10: Połączenia alarmowe w 3GPP TS 22.101 .
Wartości kategorii służb ratunkowych to:
-
UNSPECIFIED
: Ogólne połączenie alarmowe, wszystkie kategorie -
POLICE
: Policja -
AMBULANCE
: Ambulans -
FIRE_BRIGADE
: Straż pożarna -
MARINE_GUARD
: Strażnik morski -
MOUNTAIN_RESCUE
: Ratownictwo górskie -
MIEC
: ręcznie inicjowane połączenie eCall (MIeC) -
AIEC
: automatycznie inicjowane połączenie eCall (AIeC)
Więcej szczegółów znajdziesz w Sekcji 10: Połączenia alarmowe w 3GPP TS 22.101 .
Interfejsy API interfejsu sprzętowego
Zaimplementuj emergencyDial
w IRadio.hal
. Zaimplementuj emergencyDialResponse
w IRadioResponse.hal
, aby wysłać odpowiedź zawierającą typ odpowiedzi, numer seryjny i informacje o błędzie.
Aby zgłosić aktualną listę numerów alarmowych, zaimplementuj currentEmergencyNumberList
w IRadioIndication.hal
. Zaimplementuj EmergencyNumber
w types.hal
, który zawiera informacje o numerze alarmowym, w tym adres numeru, kod kraju telefonu komórkowego (MCC), kod sieci komórkowej (MNC), kategorię usług ratunkowych , jednolitą nazwę zasobu alarmowego (URN) i źródło numeru alarmowego .
Aby wskazać sposób obsługi połączenia alarmowego, użyj EmergencyCallRouting
. W razie potrzeby można zamówić połączenie alarmowe, korzystając z przekierowania alarmowego lub normalnego przekierowania. Jeśli jest to UNKNOWN
, o routingu decyduje się na podstawie implementacji.
Walidacja
Aby sprawdzić poprawność implementacji, uruchom następujące testy CTS i VTS.
Testy CTS
Testy VTS
Bibliografia
Aby uzyskać dodatkowe informacje na temat powiązanych specyfikacji technicznych i norm, zobacz:
- 3GPP TS 22.101 , rozdział 10: Połączenia alarmowe
- 3GPP TS 24.008 , sekcja 9.2.13.4: Lista numerów alarmowych
- 3GPP TS 23.167 , Rozdział 6: Opis funkcjonalny
- 3GPP TS 24.503 , sekcja 5.1.6.8.1: Ogólne
- RFC 5031 : Jednolita nazwa zasobu (URN) dla usług awaryjnych i innych dobrze znanych usług