מספרי חירום ושיחות חירום

היכולת להתקשר למספרי חירום היא חיונית למכשירים, כי היא צריכה לפעול למשתמשי 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: המספר מגיע מכרטיס ה-SIM
  • EMERGENCY_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 Guard
  • MOUNTAIN_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) לשירותי חירום ולשירותים ידועים אחרים