היכולת להתקשר למספרי חירום היא חיונית למכשירים, כי היא צריכה לפעול למשתמשי Android תוך עמידה בדרישות שונות של ספקי שירותים רגולטוריים ברחבי העולם. מסגרת Android מספקת למשתמשים חוויה מהירה ובטוחה של שיחות חירום.
ב-Android 10 יש תמיכה משופרת בפונקציות של שיחות חירום, בתחזוקה ובעדכונים בפלטפורמת Android המקומית, באמצעות רשימה מפורטת של מספרי חירום מה-SIM, מהרשת, מהמודם וממסד הנתונים. ב-Android 10 יש גם תמיכה בשיחות חירום לפי סוג שירותי החירום, כמו משטרה, מכבי אש או אמבולנס. ב-Android 10 יש תמיכה משופרת במכשירים עם מספרי SIM מרובים, באמצעות שיתוף של מספרי חירום מכמה מינויים ב-TelephonyManager API.
ב-Android 10 עם Radio HAL 1.4, שיחות החירום שופרו על ידי הפרדה של שיחות חירום משיחות רגילות בממשק HAL, כדי לבצע אופטימיזציה של נתיב שיחת החירום ולאפשר למכשירים להתקשר למספר החירום המתאים שהוגדר במסד הנתונים של Android.
הטמעה
כדי להטמיע את הפונקציות של שיחות חירום ומספרי חירום, צריך להטמיע את ממשקי ה-API הבאים של TelephonyManager
ושל ממשק החומרה.
ממשקי API של TelephonyManager
מטמיעים את ממשקי ה-API הבאים:
- מטמיעים את
getEmergencyNumberList
כדי לקבל מספרי חירום תקינים לשיחות חירום על סמך מקור מספרי החירום, כולל האזור, כרטיסי ה-SIM, ברירת המחדל, המודם, מסד הנתונים של Android והרשת. לכל מספר חירום, צריך לציין את קטגוריית שירותי החירום המתאימה, כמו משטרה, אמבולנס וכבאות. - אפשר להטמיע את הפונקציה
isEmergencyNumber
כדי לזהות אם מספר טלפון הוא מספר חירום. - מטמיעים את
isPotentialEmergencyNumber
כדי לזהות מספר כמספר חירום אם יש לו את אותן ספרות התחלה כמו של אחד ממספרי החירום.
הערכים של מקורות מספרי החירום הם:
EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING
: המספר מגיע מהאות של הרשתEMERGENCY_NUMBER_SOURCE_SIM
: המספר מגיע מכרטיס ה-SIMEMERGENCY_NUMBER_SOURCE_DATABASE
: המספר מגיע ממסד הנתונים שמנוהל על ידי הפלטפורמהEMERGENCY_NUMBER_SOURCE_MODEM_CONFIG
: המספר מופיע בתצורת המודםEMERGENCY_NUMBER_SOURCE_DEFAULT
: המספר זמין כברירת מחדל. המספרים 112 ו-911 חייבים להיות זמינים תמיד. המספרים 000, 08, 110, 999, 118 ו-119 חייבים להיות זמינים כשאין כרטיס SIM. פרטים נוספים זמינים בקטע 10: Emergency Calls במסמך 3GPP TS 22.101.
הערכים של קטגוריות שירותי החירום הם:
UNSPECIFIED
: שיחת חירום כללית, כל הקטגוריותPOLICE
: משטרהAMBULANCE
: אמבולנסFIRE_BRIGADE
: שירותי כיבוי אשMARINE_GUARD
: Marine GuardMOUNTAIN_RESCUE
: מבצע חילוץ בהריםMIEC
: קריאה חירום אלקטרונית (eCall) שהופעל באופן ידני (MIeC)AIEC
: קריאה אוטומטית לעזרה (AIeC)
פרטים נוספים זמינים בקטע 10: Emergency Calls במסמך 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) לשירותי חירום ולשירותים ידועים אחרים