הקטע הזה מחולק לשניים:
- תוכן – מה התוכן של הודעות ELS.
- פורמטים – האופן שבו ההודעות האלה נשלחות ואיך לפענח אותן (במקרה הצורך).
תוכן
ELS גרסה 1
הודעות ELS שנשלחות ב-SMS תואמות למפרט העדכני של ETSI AML. הזה נקראת ELS V1, וזו הגישה הנפוצה ביותר שנבחרה על ידי שותפי ELS. אלה הקטעים הרלוונטיים ביותר:
שם מפתח | ערך | יחידות | דוגמה |
A"ML |
גרסה | - | 1 |
lt |
קו רוחב | מעלות | +37.42175 |
lg |
קו אורך | מעלות | -122.08461 |
top |
חותמת הזמן של המיקום | yyyyMMddHHmmss לפי שעון UTC | 20150613010948 |
rd |
קביעת מיקום יותר מדויקת | מטרים | 20.0 |
lc |
ודאות המיקום | אחוז סמך | 68 |
pm |
שיטת מיקום (Wi-Fi, GPS, תא, Null) | 'W', 'G', 'C', 'N' | W |
si |
IMSI (מכיל רק את 6 הספרות הראשונות של ה-IMSI המקורי, ואת הספרות שנותרו מוחלפים ב-0) | - | 123456000000000 |
ei |
IMEI | - | 355458061005220 |
mcc |
חשבון ניהול (MCC) ברשת | - | 310 |
mnc |
רשת MNC | - | 260 |
ml |
אורך ההודעה (כולל אורך וכותרת ההודעה) | - | 123 |
שיטת המיקום
מיקום אפס
דוגמאות
ללא מיקום:
A"ML=1;lt=+00.00000;lg=+000.00000;rd=N;top=20220131173734;lc=0;pm=N;si=234159000000000;ei=123456789012345;mcc=234;mnc=15;ml=127
המיקום מחושב:
A"ML=1;lt=+51.53321;lg=-0.12601;rd=14;top=20220131171748;lc=68;pm=W;si=234159000000000;ei=123456789012345;mcc=234;mnc=15;ml=126
גרסת בטא של ELS
פורמט ניסיוני של מספר שותפים הוא ELS בטא, תוכן שנותן לשותפים הזדמנות לנסות תחומים שונים.
אלה הקטעים הרלוונטיים ביותר:
שם מפתח | ערך | יחידות | דוגמה |
A"ML |
גרסה | - | 2 |
en |
מספר חירום | - | 911 |
et |
חותמת הזמן של שיחת החירום | זמן Epoch של UNIX בשניות (מספר שלם) | 1593187189 |
lo |
מיקום (קו רוחב, קו אורך, דיוק) – קו הרוחב וקו האורך נקצר ל-5 ספרות אחרי הנקודה העשרונית, ודיוק לנקודה עשרונית אחת — דיוק של 0 מייצג לא ידוע | מעלות (צף), מעלות (צף), מטרים (צף) | 37.42175,-122.08461,20.1 |
lt |
זמן המיקום (ביחס לזמן החירום) - ייתכן שהמערכת תתעלם מהשדה הזה אם אין שדה מיקום (lo) או שאין שדה חותמת זמן (et) כיום | שניות (שלמים) | 5 |
lc |
ודאות המיקום | ודאות באחוזים (מספר שלם) | 68 |
lz |
מיקום אנכי (גובה, דיוק אנכי) - שדה זה יכול להיות המערכת מתעלמת ממנו אם לא קיים שדה מיקום (lo) - כל השדות נחתכו לנקודה עשרונית אחת - דיוק של 0 מייצג לא ידוע | מטרים (צף), מטרים (צף) | -10.1,10.1 |
ls |
מקור מיקום (Wi-Fi, תא, GPS, התכה, לא ידוע) - שדה זה יכול להיות המערכת מתעלמת ממנו אם לא מוצג שדה מיקום (lo) | 'W', 'G', 'C', 'F', 'U' | W |
ei |
IMEI | - | 355458061005220 |
nc |
חשבון ניהול (MCC)/MNC ברשת | - | 310260 |
hc |
MNC/MNC בבית | - | 310260 |
lg |
תגי שפה | IETF BCP 47 | en-US |
רמת סמך
גובה (ציר ה)
התכונה 'נתוני מיקום לשירותי חירום' (ELS) מדווחת על מיקום אנכי ודיוק בהודעות בטא של ELS. גובה lz
מדווח במטרים מעל האליפסואיד אסמכתה של WGS84 (WGS הוא ההפניה
המערכת הגאודטית העולמית שמשתמשת ב-GPS) ודיוק במטרים (גובה, אנכי)
). אם לא מוצג שדה מיקום (lo
), אפשר להתעלם מהשדה הזה. הכול
שדות שנחתכו לספרה אחת אחרי הנקודה העשרונית, ורמת הדיוק של 0.0
מייצגת
unknown
. דיוק אנכי מוגדר כמו דיוק מיקום
אחוזון הסמך מוגדר על ידי השותף. ערך ברירת המחדל הוא 68%.
במידה רבה. מידע נוסף זמין במסמכי התיעוד של Android עבור
getVerticalAccuracyMeters().
דוגמאות
המיקום עדיין לא חושב:
A"ML=2;en=911;et=1643816841;ei=123456789012345;nc=23415;hc=23415
חישוב המיקום בוצע בהצלחה:
A"ML=2;en=911;et=1643816929;lo=51.53321,-0.12601,14.7;lt=6;lc=68;lz=77.6,1.0;ls=W;ei=123456789012345;nc=23415;hc=23415
פורמטים
ניתן לשלוח הודעות ELS ב-SMS בפורמטים הבאים:
- הודעת טקסט SMS: הודעת SMS רגילה רגילה. הפורמט הזה נתמך החל מ- Android P.
- SMS נתונים: תוכן ההודעה זהה לחלוטין ל-SMS בהודעת טקסט, הוא מקודד (פרטים נוספים בהמשך). פורמט זה נתמך על ידי כל מכשיר מבוסס Android שתואם לתכונה 'נתוני מיקום לשירותי חירום' (ELS).
הודעת טקסט ב-SMS
התהליך של קריאה וניתוח של הודעות טקסט הוא פשוט יחסית. ניידים רבים מפעילים מציעים את השירות הזה ויכולים לספק לך דחיפה או למשוך ממשקי API כדי לקבל תוכן ההודעות שנשלחות למספר טלפון רגיל.
הודעת SMS עם נתונים
פורמט טקסט רגיל של SMS נתמך החל מ-Android P. בי"ס יסודי המכשירים ישלחו הודעות ELS באמצעות חבילת גלישה שצריך לפענח. נתוני ELS הודעות SMS מקודדות באמצעות מערכת התווים GSM 03.38 בעלת ברירת מחדל של 7 ביט, ולאחר מכן מוגדר כמטען הייעודי (payload) הבינארי של הודעת SMS לנתונים.
ההגדרה המדויקת של הודעת SMS לנתונים, ולא של הודעת SMS רגילה, תיכלל בהמשך. ההגדרה המדויקת של קידוד GSM 03.38 ב-7 ביט ניתן למצוא ב-3GPP 23.038 (עיינו בסעיף 6.1.2.1.1 באופן ספציפי).
פענוח הודעות SMS של נתונים
למטרות השימוש של Google ב-SMS עבור ELS, SMS מהטלפון למרכז השירות לנייד (SMSC) - סוג SMS-SUBMIT הודעות. שירותי SMSC אמורים לקבל את ההודעות האלה בלי בעיות, הן חלק מתקן SMS הרגיל (עם זאת, בפועל שמנו לב בעיות שקשורות לכמה רשתות MNO, החל מהגדרות וכללי מדיניות של התשתית ועד קושי בפענוח קוד SMS של נתונים). במקרים הבאים, התכונה ELS מתייחסת הודעת SMS-SUBMIT מהטלפון ל-SMSC, שאחריה הודעת SMS רגילה (GSM 3.40). התכונה 'נתוני מיקום לשירותי חירום' (ELS) מגדירה הודעת SMS לנתונים כקבוצת משנה של הודעות SMS רגילות, אשר:
- כולל את הדגל User-Data-Header-Indicator בכותרת ה-SMS (ביט שישי 8 תווים ראשונים של הודעת GSM 03.40 או 3GPP 23.040)
- מכיל כותרת של נתוני משתמש בנתוני המשתמש של הודעת ה-SMS
- הכותרת User-Data-Header מכילה כתובת יציאה של אפליקציה Information-Element-Identifier (IEI)
יש צורך שהתכונה ELS תשלח הודעת SMS באופן הזה ולא הודעת SMS רגילה כדי לוודא שהודעות SMS עם נתוני ELS לא יופיעו של אפליקציית הודעות. כדי להסביר זאת טוב יותר, נציג בהמשך הודעת SMS מקודדת לדוגמה.
שימו לב שאנחנו לא מציינים כאן סכמה מסוימת של קידוד נתונים (DCS). ה-DCS משמש לזיהוי הקידוד בפלח 'נתוני משתמשים'. אבל, במקרה של בעתיד הקרוב, סכימת הקידוד הנתונים תמיד תוגדר לנתונים של 8 ביט היא נותנת גמישות מקסימלית, והנתונים עצמם יקודדו ברירת המחדל של האלפבית GSM 03.38 ב-7 ביט. כך, כל רכיב בקידוד של 7 ביט צורכים רק 7 סיביות, ולא 8 סיביות.
בהינתן שהפלח של נתוני המשתמשים מוגבל ל-140 בייטים, הגודל המינימלי של כותרת User-Data-Header שכוללת פרטי יציאה הוא 7 בייטים, זה משאיר לכל היותר 133 בייטים (152 רכיבים בקידוד של 7 ביט) לקידוד ממש הודעה חירום. יכול להיות שהבייטים האלה יפוענחו כדי לחשוף את הודעות ה-SMS של נתוני ELS שמועברת.
דוגמה
כך, אחרי פענוח ה-Data SMS של הנתונים לדוגמה, אנחנו נשארים עם נתוני המשתמש הבינאריים של המחרוזת ההקסדצימלית הזו:
415193D98BEDD8F4DEECE6A2C962B7DA8E7DEEB56232990B86A3D9623B39B92783EDE86F784F068BD560B6D80C1683E568B81D7BDCB3E176F076EFB89BA77B39DCCD56A3C966B15D39DD9BD570B2590E56CBC168B21A4DB66B8FC7BD590CB66BBBC73D990DB66BB37B31D94CC12CBBCF74B40E1493CD1A
פענוח GSM 03.38
בדוגמה הבאה מפענחים את זוגות האוקטטים הראשונים, והשאר נותר בפני הקורא. מומלץ להתייחס אל 3GPP 23.038 ולהשתמש ברבים שיכולים להיות כלים שימושיים במיוחד באינטרנט (למשל, http://smstools3.kekekasvi.com/topic.php?id=288). בעמודה Octets, הקטעים המודגשים בצהוב מייצגים את הביטים שלא משמשים את של החלק הנוכחי, ונשארות למחלקה הבאה. בתוך שביעיות הקטעים הצהובים המודגשים מייצגים את הביטים 8 תווים
הקסדצימלי | אוקטטים | ספטמבר | תו (הקסדצימלי) |
41 |
01000001 |
1000001 |
A (41) |
51 |
01010001 |
0100010 |
" (22) |
93 |
10010011 |
1001101 |
M (4D) |
D9 |
11011001 |
1001100 |
L (4C) |
8B |
10001011 |
0111101 |
= (3D) |
ED |
11101101 |
0110001 |
1 (31) |
D8 |
11011000 |
0111011 |
; (3B) |
|
|
1101100 |
l (6C) |
F4 |
11110100 |
1110100 |
t (74) |
DE |
11011110 |
0111101 |
= (3D) |
התוצאה הסופית כאן היא שיכול להיות שההודעה הקודמת מפוענחת המחרוזת הבאה:
A"ML=1;lt=37.42175;lg=-122.08461;rd=20;top=20150613010948;lc=68;pm=G;si=987654231;ei=358239059042542;mcc=310;mnc=260;ml=123
צריך להיות מסוגל לפענח את הודעות ה-SMS האלה באמצעות רוב הודעות ה-SMS שזמינות לציבור הרחב תוכנה.