מפרט ל-SMS

הקטע הזה מחולק לשניים:

  1. תוכן – מה התוכן של הודעות ELS.
  2. פורמטים – האופן שבו ההודעות האלה נשלחות ואיך לפענח אותן (במקרה הצורך).

תוכן

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 רגילות, אשר:

  1. כולל את הדגל User-Data-Header-Indicator בכותרת ה-SMS (ביט שישי 8 תווים ראשונים של הודעת GSM 03.40 או 3GPP 23.040)
  2. מכיל כותרת של נתוני משתמש בנתוני המשתמש של הודעת ה-SMS
  3. הכותרת 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 שזמינות לציבור הרחב תוכנה.