Dieser Abschnitt ist in zwei Teile gegliedert:
- Inhalt: was der Inhalt der ELS-Nachrichten ist.
- Formate – wie diese Nachrichten gesendet und wie sie entschlüsselt werden (falls erforderlich)
Inhalt
Notfall-Standortdienst V1
Über SMS gesendete ELS-Nachrichten entsprechen der aktuellen ETSI AML-Spezifikation. Dieses wird als „ELS V1“ bezeichnet. Dies ist der gängigste Ansatz, den unsere Partner verwenden. Die sind die folgenden Abschnitte:
Schlüsselname | Wert | Einheiten | Beispiel |
A"ML |
Version | - | 1 |
lt |
Breitengrad | Grad | +37 42175 |
lg |
Längengrad | Grad | -122,08461 |
top |
Zeitstempel des Standorts | jjjjMMttHHmmss in UTC-Zeit | 20150613010948 |
rd |
Standortgenauigkeit | Meter | 20.0 |
lc |
Standortzuverlässigkeit | Prozentuale Konfidenz | 68 |
pm |
Positionierungsmethode (Wi-Fi, GPS, Cell, Null) | 'W', 'G', 'C', 'N' | W |
si |
IMSI (enthält nur die ersten 6 Ziffern der ursprünglichen IMSI, die restlichen Ziffern durch 0 ersetzt werden) | - | 123456000000000 |
ei |
IMEI | - | 355458061005220 |
mcc |
Netzwerk-Kundencenter | - | 310 |
mnc |
Netzwerk-MNC | - | 260 |
ml |
Länge der Nachricht (einschließlich Nachrichtenlänge und Header) | - | 123 |
Positionierungsmethode
Null-Standort
Beispiele
Kein Standort:
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
Berechneter Standort:
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-Beta
Ein experimentelles Format, das von einigen Partnern verwendet wird, ist ELS Beta, mit denen Partner verschiedene Felder ausprobieren können.
Die folgenden Abschnitte sind die relevantesten Abschnitte:
Schlüsselname | Wert | Einheiten | Beispiel |
A"ML |
Version | - | 2 |
en |
Notrufnummer | - | 911 |
et |
Zeitstempel des Notrufs | UNIX-Epochenzeit in Sekunden (Ganzzahl) | 1593187189 |
lo |
Standort (Breiten- und Längengrad, Genauigkeit) – Breiten- und Längengrad müssen auf 5 Dezimalstellen gekürzt werden, Genauigkeit auf 1 Dezimalstelle – eine Genauigkeit von 0 ist unbekannt | Grad (Gleitkommazahl), Grad (Gleitkommazahl), Meter (Gleitkommazahl) | 37.42175,-122.08461,20.1 |
lt |
Ortszeit (relativ zur Notfallzeit) – dieses Feld wird möglicherweise ignoriert wenn kein Feld „location“ ('lo') oder kein Feld für den Zeitstempel ('et') vorhanden ist heute | Sekunden (Ganzzahl) | 5 |
lc |
Standortzuverlässigkeit | Prozentuale Konfidenz (Ganzzahl) | 68 |
lz |
Vertikaler Standort (Höhe, vertikale Genauigkeit): Dieses Feld kann ignoriert, wenn kein location ('lo')-Feld vorhanden ist - alle Felder sind auf 1 Dezimalpunkt gekürzt - eine Genauigkeit von 0 steht für unbekannt. | Meter (Gleitkommazahl), Meter (Gleitkommazahl) | -10,1 und 10,1 |
ls |
Standortquelle (WLAN, Mobilfunk, GPS, Kombiniert, Unbekannt) – dieses Feld kann sein: wird ignoriert, wenn kein location ('lo') vorhanden ist. | „W“, „G“, „C“, „F“, „U“ | W |
ei |
IMEI | - | 355458061005220 |
nc |
Kundencenter/MNC des Netzwerks | - | 310260 |
hc |
Heim-MNC/MNC | - | 310260 |
lg |
Sprach-Tags | IETF BCP 47 | en-US |
Zuverlässigkeit
Höhenhöhe (Z-Achse)
Der Notfall-Standortdienst meldet den vertikalen Standort und die Genauigkeit in Nachrichten der Betaversion. Höhe: lz
wird in Metern über der WGS84-Referenzellipsoid angegeben (WGS ist die Referenz
World Geodetic System, das von GPS verwendet wird, und Genauigkeit in Metern (Höhe, vertikal).
Genauigkeit). Dieses Feld wird möglicherweise ignoriert, wenn kein Standortfeld (lo
) vorhanden ist. Alle
Felder, die auf 1 Dezimalpunkt gekürzt sind, und eine Genauigkeit von 0.0
bedeutet
unknown
. Die vertikale Genauigkeit ist dasselbe wie die Standortgenauigkeit und das
Das Konfidenzperzentil wird vom Partner festgelegt. Die Standardeinstellung ist 68 %.
Selbstvertrauen. Weitere Informationen finden Sie in der Android-Dokumentation für
getVerticalAccuracyMeters() auf.
Beispiele
Standort wurde noch nicht berechnet:
A"ML=2;en=911;et=1643816841;ei=123456789012345;nc=23415;hc=23415
Standort wurde erfolgreich berechnet:
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
Formate
ELS-Nachrichten über SMS können in den folgenden Formaten gesendet werden:
- SMS: normale SMS. Dieses Format wird ab dem Android P.
- Daten-SMS: Der Inhalt der Nachricht ist derselbe wie der Text-SMS, jedoch codiert wird. Weitere Informationen hierzu finden Sie weiter unten. Dieses Format wird von allen Mit Notfall-Standortdienst kompatibles Android-Gerät.
SMS senden
Das Lesen und Parsen von SMS-Texten ist relativ einfach. Viele Mobilgeräte und können Push- oder Pull-APIs bereitstellen, Inhalt von Nachrichten, die an eine normale Telefonnummer gesendet werden
Daten-SMS
Das Format „Normale SMS“ wird ab Android P unterstützt. Älter -Geräte senden über Data SMS Nachrichten mit der E-Mail-Logsuche, die decodiert werden müssen. ELS-Daten SMS-Nachrichten werden mit dem 7-Bit-Standardzeichensatz GSM 03.38 codiert und als binäre Nutzlast einer Daten-SMS festgelegt.
Die genaue Definition von Daten-SMS im Gegensatz zu einer normalen SMS wird später behandelt. Die genaue Definition der 7-Bit-Codierung von GSM 03.38 finden Sie unter 3GPP. 23.038 (siehe Abschnitt 6.1.2.1.1).
Daten decodieren – SMS
Im Zusammenhang mit der Nutzung von SMS für den Notfall-Standortdienst durch Google betrifft der Notfall-Standortdienst nur SMS vom Mobiltelefon an das Mobile Service Center (SMSC) – Typ SMS-SUBMIT Nachrichten. SMSCs sollten diese Nachrichten problemlos empfangen können, da sie gehören zum normalen SMS-Standard. In der Praxis haben wir jedoch Probleme mit verschiedenen MNOs, von Infrastruktureinstellungen und Richtlinien bis hin zu Schwierigkeiten bei der ordnungsgemäßen Decodierung von Daten-SMS). Im Folgenden betrachtet der ELS-Algorithmus „SMS SENDEN“-Nachricht vom Mobilgerät an das SMSC, das der normalen SMS folgt (GSM 3.40). Der Notfall-Standortdienst definiert eine Daten-SMS als Teilmenge normaler SMS, die:
- Hat das Flag User-Data-Header-Indicator im SMS-Header (6. Bit von das erste Oktett einer GSM 03.40- oder 3GPP 23.040-Nachricht)
- Enthält einen User-Data-Header in den User-Data-Daten der SMS
- Der User-Data-Header enthält eine Anwendungsportadresse Information-Element-Identifier (Information-Element-Identifier, IEI)
Der Notfall-Standortdienst muss eine SMS auf diese Weise und nicht auf diese Weise senden. um sicherzustellen, dass ELS-Daten-SMS nicht auf dem Messaging-App. Zur besseren Erklärung wird später ein Beispiel für eine codierte SMS vorgestellt.
Beachten Sie, dass wir hier kein bestimmtes Datencodierungsschema (Data-Coding-Scheme, DCS) angeben. Das DCS wird die Codierung im Segment mit Nutzerdaten ermittelt. Für die und absehbar ist, wird das Datencodierungsschema immer auf 8-Bit-Daten eingestellt, ermöglichen maximale Flexibilität und die tatsächlichen Daten selbst werden mit GSM 03.38 7-Bit-Standardalphabet. Jedes 7-Bit-codierte Element wird somit nur 7 Bit, nicht 8 Bit.
Da das Segment mit Nutzerdaten maximal 140 Byte umfasst und das Segment Die Mindestgröße eines Headers für Nutzerdaten mit Portinformationen beträgt 7 Byte. bleiben maximal 133 Byte (152 7-Bit-codierte Elemente) für die Codierung des eine echte Notfallnachricht. Diese Byte können decodiert werden, um die ELS-Daten-SMS zu erhalten. die übertragene Nachricht.
Beispiel
Nach der Decodierung dieses Beispiels für Daten-SMS bleiben die binären Nutzerdaten dieser hexadezimalen Zeichenfolge:
415193D98BEDD8F4DEECE6A2C962B7DA8E7DEEB56232990B86A3D9623B39B92783EDE86F784F068BD560B6D80C1683E568B81D7BDCB3E176F076EFB89BA77B39DCCD56A3C966B15D39DD9BD570B2590E56CBC168B21A4DB66B8FC7BD590CB66BBBC73D990DB66BB37B31D94CC12CBBCF74B40E1493CD1A
GSM 03.38 decodieren
Im folgenden Beispiel werden die ersten paar Oktette decodiert, der Rest bleibt als Übung an die Lesenden. Wir empfehlen, auf 3GPP 23.038 zu verweisen und viele der hilfreiche Online-Tools (z. B. http://smstools3.kekekasvi.com/topic.php?id=288). In der Spalte „Oktette“ Die gelb markierten Abschnitte stellen die Bits dar, die nicht für den und für das nächste Septet übrig bleiben. Innerhalb der Septette Spalte stehen die gelb hervorgehobenen Abschnitte für die Bits aus der vorherigen Oktett hinzu.
Hex | Oktette | Septette | Zeichen (Hex) |
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) |
Das Endergebnis ist, dass die vorherige Nachricht möglicherweise in den folgenden String:
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
Diese SMS sollten mit den meisten öffentlich verfügbaren SMS decodiert werden können. Software.