از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
شماره های اضطراری و تماس اضطراری
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
تماس اضطراری برای دستگاهها اساسی و حیاتی است زیرا باید برای کاربران Android کار کنند و در عین حال الزامات مختلف شرکت مخابراتی و نظارتی را در سراسر جهان برآورده کنند. چارچوب اندروید تجربه تماس اضطراری سریع و ایمن را در اختیار کاربران قرار می دهد.
Android 10 با استفاده از فهرست دقیق شماره اضطراری از سیمکارت، شبکه، مودم و پایگاهداده، پشتیبانی بهبودیافتهای را برای عملکردهای تماس اضطراری، نگهداری و بهروزرسانیها در پلتفرم محلی Android ارائه میکند. اندروید 10 همچنین از تماس اضطراری بر اساس نوع خدمات اضطراری مانند پلیس، آتش نشانی یا آمبولانس پشتیبانی می کند. Android 10 با به اشتراک گذاری شماره های اضطراری از چندین اشتراک در TelephonyManager API، پشتیبانی بهبود یافته ای را از دستگاه های چند سیم کارته ارائه می کند.
در اندروید 10 با رادیو HAL 1.4، تماس اضطراری با جدا کردن تماسهای اضطراری از تماسهای عادی در رابط HAL بهبود مییابد تا مسیر تماس اضطراری بهینه شود و به دستگاهها امکان میدهد شماره اضطراری مناسب پیکربندی شده در پایگاه داده Android را شمارهگیری کنند.
پیاده سازی
برای اجرای توابع تماس اضطراری و شماره اضطراری، TelephonyManager
و API های رابط سخت افزاری زیر را پیاده سازی کنید.
API های TelephonyManager
API های زیر را پیاده سازی کنید:
-
getEmergencyNumberList
برای دریافت شمارههای اضطراری معتبر برای تماسهای اضطراری بر اساس منبع شماره اضطراری از جمله منطقه محلی، سیمکارتها، پیشفرض، مودم، پایگاه داده Android و شبکه پیادهسازی کنید. برای هر شماره اضطراری، دسته خدمات اضطراری مربوطه مانند پلیس، آمبولانس و آتش نشانی را مشخص کنید. - برای تشخیص اینکه آیا شماره تلفن یک شماره اضطراری است،
isEmergencyNumber
را پیاده سازی کنید. - برای شناسایی شماره ای به عنوان شماره اضطراری،
isPotentialEmergencyNumber
پیاده سازی کنید، در صورتی که ارقام شروع آن مشابه هر یک از شماره های اضطراری باشد.
مقادیر منابع شماره اضطراری عبارتند از:
-
EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING
: شماره از سیگنال شبکه است -
EMERGENCY_NUMBER_SOURCE_SIM
: شماره از سیم کارت است -
EMERGENCY_NUMBER_SOURCE_DATABASE
: شماره از پایگاه داده نگهداری شده در پلت فرم است -
EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG
: شماره از پیکربندی مودم است -
EMERGENCY_NUMBER_SOURCE_DEFAULT
: شماره به طور پیش فرض در دسترس است. اعداد 112 و 911 باید همیشه در دسترس باشند. 000، 08، 110، 999، 118 و 119 باید در صورت عدم وجود سیم کارت در دسترس باشد. برای جزئیات بیشتر، به بخش 10 مراجعه کنید: تماس های اضطراری در 3GPP TS 22.101 .
مقادیر برای دسته های خدمات اضطراری عبارتند از:
-
UNSPECIFIED
: تماس اضطراری عمومی، همه دسته ها -
POLICE
: پلیس -
AMBULANCE
: آمبولانس -
FIRE_BRIGADE
: آتش نشانی -
MARINE_GUARD
: گارد دریایی -
MOUNTAIN_RESCUE
: نجات کوهستان -
MIEC
: تماس الکترونیکی دستی (MIeC) -
AIEC
: تماس الکترونیکی با راه اندازی خودکار (AIeC)
برای جزئیات بیشتر، به بخش 10 مراجعه کنید: تماس های اضطراری در 3GPP TS 22.101 .
API های رابط سخت افزاری
emergencyDial
در IRadio.hal
پیاده سازی کنید. برای ارسال پاسخ با نوع پاسخ، شماره سریال و اطلاعات خطا، emergencyDialResponse
در IRadioResponse.hal
پیاده سازی کنید.
برای گزارش لیست فعلی شماره های اضطراری، currentEmergencyNumberList
در IRadioIndication.hal
پیاده سازی کنید. EmergencyNumber
در types.hal
پیاده کنید، که حاوی اطلاعاتی درباره شماره اضطراری از جمله آدرس شماره، کد کشور تلفن همراه (MCC)، کد شبکه تلفن همراه (MNC)، دسته خدمات اضطراری ، نام منبع یکنواخت اضطراری (URN) و منبع شماره اضطراری است.
برای نشان دادن نحوه رسیدگی به تماس اضطراری، از EmergencyCallRouting
استفاده کنید. تماس اضطراری را می توان با استفاده از مسیریابی اضطراری یا مسیریابی تماس معمولی در صورت لزوم درخواست کرد. اگر این UNKNOWN
باشد، مسیریابی بر اساس پیاده سازی تصمیم گیری می شود.
اعتبار سنجی
برای تأیید اعتبار پیاده سازی خود، تست های CTS و VTS زیر را اجرا کنید.
تست های CTS
تست های VTS
مراجع
برای اطلاعات بیشتر در مورد مشخصات فنی و استانداردهای مربوطه، نگاه کنید به:
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],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*"]]