تماس اضطراری برای دستگاهها اساسی و حیاتی است زیرا باید برای کاربران اندروید کار کنند و در عین حال الزامات مختلف اپراتورها و مقررات را در سراسر جهان برآورده سازند. چارچوب اندروید یک تجربه تماس اضطراری سریع و ایمن را در اختیار کاربران قرار میدهد.
اندروید ۱۰ با استفاده از فهرست دقیقی از شمارههای اضطراری از سیمکارت، شبکه، مودم و پایگاه داده، پشتیبانی بهبودیافتهای را برای عملکردهای تماس اضطراری، تعمیر و نگهداری و بهروزرسانیها در پلتفرم محلی اندروید ارائه میدهد. اندروید ۱۰ همچنین از تماس اضطراری بر اساس نوع خدمات اضطراری مانند پلیس، آتشنشانی یا آمبولانس پشتیبانی میکند. اندروید ۱۰ با به اشتراک گذاشتن شمارههای اضطراری از چندین اشتراک در API TelephonyManager، پشتیبانی بهبودیافتهای را برای دستگاههای چند سیمکارته ارائه میدهد.
در اندروید ۱۰ با رادیو HAL 1.4، تماس اضطراری با جداسازی تماسهای اضطراری از تماسهای عادی در رابط HAL بهبود یافته است تا مسیر تماس اضطراری بهینه شود و دستگاهها بتوانند با شماره اضطراری مناسب که در پایگاه داده اندروید پیکربندی شده است، تماس بگیرند.
پیادهسازی
برای پیادهسازی توابع تماس اضطراری و شماره اضطراری، TelephonyManager و APIهای رابط سختافزاری زیر را پیادهسازی کنید.
APIهای TelephonyManager
API های زیر را پیاده سازی کنید:
- تابع
getEmergencyNumberListرا برای دریافت شمارههای اضطراری معتبر جهت تماسهای اضطراری بر اساس منبع شماره اضطراری شامل منطقه، سیمکارتها، پیشفرض، مودم، پایگاه داده اندروید و شبکه پیادهسازی کنید. برای هر شماره اضطراری، دسته خدمات اضطراری مربوطه مانند پلیس، آمبولانس و آتشنشانی را مشخص کنید. - برای تشخیص اینکه آیا یک شماره تلفن، شماره اضطراری است یا خیر، از
isEmergencyNumberاستفاده کنید. - تابع
isPotentialEmergencyNumberپیادهسازی کنید تا اگر اعداد اولیه یک شماره با هر یک از شمارههای اضطراری یکسان باشد، آن شماره را به عنوان شماره اضطراری شناسایی کند.
مقادیر مربوط به منابع شماره اضطراری عبارتند از:
-
EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING: شماره از سیگنال شبکه است -
EMERGENCY_NUMBER_SOURCE_SIM: شماره از سیم کارت است -
EMERGENCY_NUMBER_SOURCE_DATABASE: شماره از پایگاه داده نگهداری شده توسط پلتفرم است -
EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG: شماره از پیکربندی مودم گرفته شده است -
EMERGENCY_NUMBER_SOURCE_DEFAULT: شماره به طور پیشفرض در دسترس است. شمارههای ۱۱۲ و ۹۱۱ باید همیشه در دسترس باشند. ۰۰۰، ۰۸، ۱۱۰، ۹۹۹، ۱۱۸ و ۱۱۹ باید در صورت عدم وجود سیمکارت در دسترس باشند. برای جزئیات بیشتر، به بخش ۱۰: تماسهای اضطراری در 3GPP TS 22.101 مراجعه کنید.
مقادیر مربوط به دسته بندی خدمات اورژانس عبارتند از:
-
UNSPECIFIED: تماس اضطراری عمومی، همه دستهها -
POLICE: پلیس -
AMBULANCE: آمبولانس -
FIRE_BRIGADE: آتش نشانی -
MARINE_GUARD: گارد دریایی -
MOUNTAIN_RESCUE: امداد و نجات کوهستان -
MIEC: فراخوانی الکترونیکی (eCall) به صورت دستی (MIeC) -
AIEC: تماس الکترونیکی خودکار (AIeC)
برای جزئیات بیشتر، به بخش ۱۰: تماسهای اضطراری در 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
منابع
برای اطلاعات بیشتر در مورد مشخصات فنی و استانداردهای مرتبط، به موارد زیر مراجعه کنید:
- 3GPP TS 22.101 ، بخش 10: تماسهای اضطراری
- 3GPP TS 24.008 ، بخش 9.2.13.4: فهرست شمارههای اضطراری
- 3GPP TS 23.167 ، بخش 6: شرح عملکرد
- 3GPP TS 24.503 ، بخش 5.1.6.8.1: عمومی
- RFC 5031 : نام منبع یکسان (URN) برای خدمات اورژانسی و سایر خدمات شناخته شده