2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
긴급 전화번호 및 긴급 전화
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
긴급 전화는 전 세계 다양한 이동통신사와 규제 요구사항을 충족하는 동시에 Android 사용자에게 맞게 작동해야 하므로 기기에 있어 기본적이고도 중요한 기능입니다. Android 프레임워크는 사용자에게 빠르고 안전한 긴급 전화 환경을 제공합니다.
Android 10은 SIM, 네트워크, 모뎀 및 데이터베이스에서 얻은 세분화된 긴급 전화번호 목록을 사용하여 로컬 Android 플랫폼에서 긴급 전화 기능, 유지관리 및 업데이트의 지원을 개선했습니다.
또한, Android 10은 경찰서, 소방서 및 구급차와 같은 응급 서비스 유형을 기준으로 긴급 전화를 지원합니다. Android 10은 TelephonyManager API의 여러 구독에서 긴급 전화번호를 공유하여 멀티 SIM 기기에 관한 지원을 개선했습니다.
Radio HAL 1.4를 사용하는 Android 10에서는 HAL 인터페이스에서 일반 전화와 긴급 전화를 분리하여 긴급 전화 경로를 최적화하고 기기가 Android 데이터베이스에서 구성된 적절한 긴급 전화번호로 전화를 걸 수 있도록 긴급 전화를 개선했습니다.
구현
긴급 전화 및 긴급 전화번호 기능을 구현하려면 아래 TelephonyManager
와 하드웨어 인터페이스 API를 구현하세요.
TelephonyManager API
다음 API를 구현합니다.
긴급 전화번호 소스의 값은 다음과 같습니다.
EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING
: 네트워크 신호에서 가져온 번호입니다.
EMERGENCY_NUMBER_SOURCE_SIM
: SIM 카드에서 가져온 번호입니다.
EMERGENCY_NUMBER_SOURCE_DATABASE
: 플랫폼에서 유지관리하는 데이터베이스에서 가져온 번호입니다.
EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG
: 모뎀 구성에서 가져온 번호입니다.
EMERGENCY_NUMBER_SOURCE_DEFAULT
: 기본값으로 사용할 수 있는 번호입니다. 번호 112와 911은 항상 사용할 수 있어야 합니다. SIM이 없는 경우 000, 08, 110, 999, 118, 119는 사용할 수 있어야 합니다. 자세한 내용은 3GPP TS 22.101의 섹션 10: 긴급 전화를 참조하세요.
응급 서비스 카테고리의 값은 다음과 같습니다.
UNSPECIFIED
: 일반 긴급 전화, 모든 카테고리
POLICE
: 경찰서
AMBULANCE
: 구급차
FIRE_BRIGADE
: 소방서
MARINE_GUARD
: 해양 경비대
MOUNTAIN_RESCUE
: 산악 구조대
MIEC
: 수동으로 시작된 eCall (MIeC)
AIEC
: 자동으로 시작된 eCall(AIeC)
자세한 내용은 3GPP TS 22.101의 섹션 10: 긴급 전화를 참조하세요.
하드웨어 인터페이스 API
IRadio.hal
에 emergencyDial
을 구현합니다. IRadioResponse.hal
에 emergencyDialResponse
를 구현하여 응답 유형, 일련번호 및 오류 정보와 함께 응답을 보냅니다.
긴급 전화번호의 현재 목록을 보고하려면 IRadioIndication.hal
에 currentEmergencyNumberList
를 구현합니다. 번호 주소, 모바일 국가 코드(MCC), 모바일 네트워크 코드(MNC), 응급 서비스 카테고리, 긴급 URN 및 긴급 전화번호 소스와 같은 긴급 전화번호에 관한 정보를 포함하는 EmergencyNumber
를 types.hal
에 구현합니다.
긴급 전화 처리 방법을 표시하려면 EmergencyCallRouting
을 사용합니다.
필요에 따라 긴급 라우팅 또는 일반 전화 라우팅을 사용하여 긴급 전화를 요청할 수 있습니다. UNKNOWN
이라면 라우팅은 구현에 따라 결정됩니다.
유효성 검사
구현의 유효성을 검사하려면 다음 CTS 및 VTS 테스트를 실행합니다.
CTS 테스트
VTS 테스트
참고
관련 기술 사양 및 표준에 관한 자세한 내용은 다음을 참고하세요.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-26(UTC)
[null,null,["최종 업데이트: 2025-07-26(UTC)"],[],[],null,["# Emergency numbers and emergency calling\n\nEmergency calling is fundamental and critical for devices because they must work\nfor Android users while satisfying various carrier and regulatory requirements\nall over the world. The Android framework provides users with a fast and safe\nemergency calling experience.\n\nAndroid 10 provides improved support for emergency call\nfunctions, maintenance, and updates in the local Android platform by using a\ndetailed emergency number list from the SIM, network, modem, and database.\nAndroid 10 also supports emergency calling based on the type of emergency\nservices such as police, fire, or ambulance. Android 10 provides\nimproved support for multi-SIM\ndevices by sharing emergency numbers from multiple subscriptions in\nthe TelephonyManager API.\n\nIn Android 10 with Radio HAL 1.4, emergency calling is\nimproved by separating emergency calls from normal calls in the HAL interface\nto optimize the emergency calling path and allowing devices to dial the\nappropriate emergency number configured in the Android database.\n\nImplementation\n--------------\n\nTo implement the emergency calling and emergency number functions, implement\nthe following\n[`TelephonyManager`](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android16-release/telephony/java/android/telephony/TelephonyManager.java)\nand hardware interface APIs.\n\n### TelephonyManager APIs\n\nImplement the following APIs:\n\n- Implement [`getEmergencyNumberList`](https://developer.android.com/reference/android/telephony/TelephonyManager.html#getEmergencyNumberList()) to get valid emergency numbers for emergency calling based on the emergency number source including the locale, SIM cards, default, modem, Android database, and network. For each emergency number, specify the corresponding emergency service category such as police, ambulance, and fire.\n- Implement [`isEmergencyNumber`](https://developer.android.com/reference/android/telephony/TelephonyManager.html#isEmergencyNumber(java.lang.String)) to identify whether a phone number is an emergency number.\n- Implement [`isPotentialEmergencyNumber`](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android16-release/telephony/java/android/telephony/TelephonyManager.java#10554) to identify a number as an emergency number if it has the same starting digits as any of the emergency numbers.\n\nThe values for emergency number sources are:\n\n- `EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING`: Number is from the network signal\n- `EMERGENCY_NUMBER_SOURCE_SIM`: Number is from the SIM card\n- `EMERGENCY_NUMBER_SOURCE_DATABASE`: Number is from the platform-maintained database\n- `EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG`: Number is from the modem configuration\n- `EMERGENCY_NUMBER_SOURCE_DEFAULT`: Number is available by default. The numbers 112 and 911 must always be available. 000, 08, 110, 999, 118, and 119 must be available when no SIM is present. For more details, see *Section 10: Emergency Calls* in [3GPP TS 22.101](https://www.etsi.org/deliver/etsi_ts/122100_122199/122101/09.01.00_60/ts_122101v090100p.pdf).\n\nThe values for emergency service categories are:\n\n- `UNSPECIFIED`: General emergency call, all categories\n- `POLICE`: Police\n- `AMBULANCE`: Ambulance\n- `FIRE_BRIGADE`: Fire brigade\n- `MARINE_GUARD`: Marine Guard\n- `MOUNTAIN_RESCUE`: Mountain Rescue\n- `MIEC`: Manually Initiated eCall (MIeC)\n- `AIEC`: Automatically Initiated eCall (AIeC)\n\nFor more details, see *Section 10: Emergency Calls* in\n[3GPP TS 22.101](https://www.etsi.org/deliver/etsi_ts/122100_122199/122101/09.01.00_60/ts_122101v090100p.pdf).\n\n### Hardware interface APIs\n\nImplement\n[`emergencyDial`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/IRadio.hal#159)\nin `IRadio.hal`. Implement\n[`emergencyDialResponse`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/IRadioResponse.hal#55)\nin `IRadioResponse.hal` to send a response with response type, serial number,\nand error information.\n\nTo report the current list of emergency numbers, implement\n[`currentEmergencyNumberList`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/IRadioIndication.hal#52)\nin `IRadioIndication.hal`. Implement\n[`EmergencyNumber`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/types.hal#99)\nin `types.hal`, which contains information about the emergency number including\nthe number address, the mobile country code (MCC), mobile network code (MNC),\n[emergency service category](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/types.hal#145),\nemergency uniform resource name (URN), and\n[emergency number source](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/types.hal#170).\n\nTo indicate how an emergency call is handled, use\n[`EmergencyCallRouting`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/types.hal#194).\nAn emergency call can be requested using emergency routing or normal call\nrouting as required. If this is `UNKNOWN`, routing is decided based on the\nimplementation.\n\nValidation\n----------\n\nTo validate your implementation, run the following CTS and VTS tests.\n\n### CTS tests\n\n- [`testGetEmergencyNumberList`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/tests/telephony/current/src/android/telephony/cts/TelephonyManagerTest.java#1235)\n- [`testIsEmergencyNumber`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/tests/telephony/current/src/android/telephony/cts/TelephonyManagerTest.java#1277)\n- [`testIsPotentialEmergencyNumber`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/tests/telephony/current/src/android/telephony/cts/TelephonyManagerTest.java#1304)\n\n### VTS tests\n\n- [`emergencyDial`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/vts/functional/radio_hidl_hal_api.cpp#24)\n- [`emergencyDial_withServices`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/vts/functional/radio_hidl_hal_api.cpp#49)\n- [`emergencyDial_withEmergencyRouting`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.4/vts/functional/radio_hidl_hal_api.cpp#75)\n\nReferences\n----------\n\nFor additional information on related technical specifications and standards,\nsee:\n\n- [3GPP TS 22.101](https://www.etsi.org/deliver/etsi_ts/122100_122199/122101/09.01.00_60/ts_122101v090100p.pdf), *Section 10: Emergency Calls*\n- [3GPP TS 24.008](https://www.etsi.org/deliver/etsi_ts/124000_124099/124008/07.15.00_60/ts_124008v071500p.pdf), *Section 9.2.13.4: Emergency Number List*\n- [3GPP TS 23.167](https://www.etsi.org/deliver/etsi_ts/123100_123199/123167/15.04.00_60/ts_123167v150400p.pdf), *Section 6: Functional description*\n- [3GPP TS 24.503](https://www.etsi.org/deliver/etsi_ts/124500_124599/124503/08.22.00_60/ts_124503v082200p.pdf), *Section 5.1.6.8.1: General*\n- [RFC 5031](https://tools.ietf.org/html/rfc5031): *A Uniform\n Resource Name (URN) for Emergency and Other Well-Known Services*"]]