شماره‌های اضطراری و تماس اضطراری

تماس اضطراری برای دستگاه‌ها اساسی و حیاتی است زیرا باید برای کاربران Android کار کند و درعین‌حال الزامات مختلف شرکت مخابراتی و مقرراتی را در سراسر جهان برآورده کند. چارچوب Android تجربه تماس اضطراری سریع و ایمنی را برای کاربران فراهم می‌کند.

‫Android 10 بااستفاده از فهرست دقیق شماره‌های اضطراری از سیم‌کارت، شبکه، مودم، و پایگاه داده، پشتیبانی بهبودیافته‌ای برای عملکردهای تماس اضطراری، نگهداری، و به‌روزرسانی در پلاتفرم محلی Android ارائه می‌دهد. ‫Android 10 از تماس اضطراری براساس نوع خدمات اضطراری مثل پلیس، آتش‌نشانی، یا آمبولانس نیز پشتیبانی می‌کند. Android 10 با هم‌رسانی شماره‌های اضطراری از چندین اشتراک در TelephonyManager API، پشتیبانی بهبودیافته‌ای برای دستگاه‌های چندسیم‌کارته ارائه می‌دهد.

در Android 10 با Radio HAL 1.4، تماس اضطراری با جدا کردن تماس‌های اضطراری از تماس‌های عادی در رابط HAL بهبود یافته است تا مسیر تماس اضطراری بهینه‌سازی شود و دستگاه‌ها بتوانند شماره اضطراری مناسب پیکربندی‌شده در پایگاه داده Android را شماره‌گیری کنند.

پیاده‌سازی

برای پیاده‌سازی عملکردهای تماس اضطراری و شماره تلفن اضطراری، میاناهای برنامه‌سازی کاربردی سخت‌افزار و TelephonyManager زیر را پیاده‌سازی کنید.

TelephonyManager APIs

میاناهای برنامه‌سازی کاربردی زیر را پیاده‌سازی کنید:

  • برای دریافت شماره‌های اضطراری معتبر برای تماس اضطراری براساس منبع شماره اضطراری، ازجمله منطقه‌ای، سیم‌کارت‌ها، پیش‌فرض، مودم، پایگاه داده Android، و شبکه، 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: Marine Guard
  • MOUNTAIN_RESCUE: امداد کوهستانی
  • ‫MIEC: تماس اضطراری الکترونیکی آغازشده به‌صورت دستی (MIeC)
  • ‫AIEC: تماس اضطراری خودکار (AIeC)

برای جزئیات بیشتر، بخش ۱۰: تماس‌های اضطراری در 3GPP TS 22.101 را ببینید.

میاناهای برنامه‌سازی کاربردی سخت‌افزار

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، بخش ۱۰: تماس‌های اضطراری
  • ‫3GPP TS 24.008، بخش ۹.۲.۱۳.۴: فهرست شماره‌های اضطراری
  • 3GPP TS 23.167، بخش ۶: شرح عملکردی
  • 3GPP TS 24.503، بخش ۵.۱.۶.۸.۱: عمومی
  • ‫RFC 5031: نام منبع یکنواخت (URN) برای وضعیت اضطراری و دیگر خدمات شناخته‌شده