این بخش به دو بخش تقسیم می شود:
- محتوا - محتوای پیام های ELS چیست.
- قالب ها - نحوه ارسال آن پیام ها و نحوه رمزگشایی آنها (در صورت نیاز).
محتوا
ELS V1
پیامهای ELS که از طریق پیامک ارسال میشوند از آخرین مشخصات 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، Cell، Null) | 'W'، 'G'، 'C'، 'N' | دبلیو |
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 Beta است، محتوای آزمایشی ما که به شرکا این فرصت را میدهد تا زمینههای مختلف را امتحان کنند.
در زیر مرتبط ترین بخش ها هستند:
نام کلید | ارزش | واحدها | مثال |
A"ML | نسخه | - | 2 |
en | شماره اضطراری | - | 911 |
et | مهر زمانی تماس اضطراری | زمان دوره یونیکس بر حسب ثانیه (عدد صحیح) | 1593187189 |
lo | مکان (طول و عرض جغرافیایی، طول جغرافیایی، دقت) - طول و عرض جغرافیایی باید به 5 نقطه اعشار کوتاه شود، دقت به 1 نقطه اعشار - دقت 0 نشان دهنده ناشناخته است. | درجه (شناور)، درجه (شناور)، متر (شناور) | 37.42175،-122.08461،20.1 |
lt | زمان مکان (نسبت به زمان اضطراری) - اگر فیلد مکان ('lo') وجود نداشته باشد یا فیلد مهر زمانی ('et') وجود نداشته باشد، ممکن است این فیلد نادیده گرفته شود. | ثانیه (عدد صحیح) | 5 |
lc | اطمینان موقعیت مکانی | درصد اطمینان (عدد صحیح) | 68 |
lz | مکان عمودی (ارتفاع، دقت عمودی) - اگر فیلد مکان ('lo') وجود نداشته باشد، ممکن است این فیلد نادیده گرفته شود - همه فیلدها به 1 نقطه اعشار کوتاه شده اند - دقت 0 نشان دهنده ناشناخته است. | متر (شناور)، متر (شناور) | -10.1،10.1 |
ls | منبع مکان (Wi-Fi، سلول، GPS، فیوز شده، ناشناخته) - اگر فیلد مکان ('lo') وجود نداشته باشد، ممکن است این قسمت نادیده گرفته شود | 'W'، 'G'، 'C'، 'F'، 'U' | دبلیو |
ei | IMEI | - | 355458061005220 |
nc | شبکه MCC/MNC | - | 310260 |
hc | خانه MNC/MNC | - | 310260 |
lg | برچسب های زبان | IETF BCP 47 | en-US |
سطح اطمینان
ارتفاع از سطح دریا (محور Z)
ELS موقعیت عمودی و دقت پیامهای ELS بتا را گزارش میکند. ارتفاع lz
بر حسب متر بالاتر از بیضی مرجع WGS84 (WGS سیستم ژئودتیک مرجع جهانی است که توسط GPS استفاده می شود) و دقت بر حسب متر (ارتفاع، دقت عمودی) گزارش می شود. اگر فیلد مکان ( lo
) وجود نداشته باشد، ممکن است این فیلد نادیده گرفته شود. همه فیلدها به 1 نقطه اعشار کوتاه شده و با دقت 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 را می توان با استفاده از فرمت های زیر ارسال کرد:
- پیامک متنی : اس ام اس ساده معمولی. این قالب از اندروید P پشتیبانی می شود.
- پیامک داده : محتوای پیام دقیقاً مشابه پیامک متنی است اما کدگذاری شده است (جزئیات بیشتر در زیر). این قالب توسط هر دستگاه مجهز به Android سازگار با ELS پشتیبانی می شود.
پیامک پیامک
خواندن و تجزیه متن پیامک نسبتاً ساده است. بسیاری از اپراتورهای تلفن همراه این سرویس را ارائه می دهند و می توانند API های فشار یا کششی را برای دریافت محتوای پیام های ارسال شده به یک شماره تلفن استاندارد در اختیار شما قرار دهند.
پیامک داده
فرمت پیامک متنی معمولی از Android P پشتیبانی میشود. دستگاههای قدیمیتر پیامهای ELS را با استفاده از پیامک داده ارسال میکنند که باید رمزگشایی شوند. پیامهای اس ام اس داده ELS با مجموعه نویسههای پیشفرض 7 بیتی GSM 03.38 کدگذاری میشوند و سپس به عنوان بار دودویی یک پیامک داده تنظیم میشوند.
تعریف دقیق پیامک داده در مقابل پیامک معمولی بعداً توضیح داده خواهد شد. تعریف دقیق رمزگذاری 7 بیتی GSM 03.38 را می توان در 3GPP 23.038 یافت (به طور خاص به بخش 6.1.2.1.1 مراجعه کنید).
رمزگشایی پیامک داده
برای اهداف استفاده Google از پیامک برای ELS، ELS فقط به پیامک از گوشی به مرکز خدمات تلفن همراه (SMSC) مربوط می شود - پیام های نوع SMS-SUBMIT. SMSCها باید بتوانند این پیامها را بدون مشکل دریافت کنند زیرا بخشی از استاندارد پیامک معمولی هستند (اما در عمل ما مشکلاتی را با چندین MNO مشاهده کردهایم، از تنظیمات زیرساخت و سیاستها گرفته تا مشکل در رمزگشایی صحیح پیامک داده). در ادامه، ELS یک پیام SMS-SUBMIT از گوشی به SMSC را در نظر میگیرد که از استانداردهای SMS معمولی (GSM 3.40) پیروی میکند. ELS یک پیامک داده را به عنوان زیرمجموعه ای از پیامک های معمولی تعریف می کند که:
- دارای پرچم User-Data-Header-Indicator در سرصفحه SMS (بیت ششم از اولین اکتت یک پیام GSM 03.40 یا 3GPP 23.040) تنظیم شده است.
- شامل یک سربرگ داده های کاربر در داده های کاربر پیامک است
- User-Data-Header حاوی آدرس پورت برنامه Information-Element-Identifier (IEI) است.
برای اطمینان از اینکه پیامهای پیام کوتاه ELS Data در برنامه پیامرسانی دستگاه Android ظاهر نمیشوند، لازم است که ELS به جای یک پیامک معمولی، پیامک را به این روش ارسال کند. برای توضیح بهتر این موضوع، یک نمونه پیامک کدگذاری شده بعداً ارائه می شود.
توجه داشته باشید که ما در اینجا یک Data-Coding-Scheme (DCS) خاص را مشخص نمی کنیم. DCS برای شناسایی رمزگذاری در بخش User-Data استفاده می شود. با این حال، برای آینده قابل پیشبینی، Data-Coding-Scheme همیشه روی دادههای 8 بیتی تنظیم میشود تا حداکثر انعطافپذیری را فراهم کند، و خود دادههای واقعی با الفبای پیشفرض GSM 03.38 7 بیت کدگذاری میشوند. بنابراین هر عنصر رمزگذاری شده 7 بیتی تنها 7 بیت را اشغال می کند نه 8 بیت.
با توجه به اینکه بخش User-Data حداکثر 140 بایت دارد و حداقل اندازه یک User-Data-Header که شامل اطلاعات پورت است 7 بایت است، حداکثر 133 بایت (152 عنصر رمزگذاری شده 7 بیتی) برای رمزگذاری باقی می ماند. پیام اضطراری واقعی این بایت ها ممکن است رمزگشایی شوند تا پیام اس ام اس داده ELS در حال ارسال را آشکار کنند.
مثال
بنابراین، پس از رمزگشایی این مثال داده SMS، ما با داده های کاربر باینری این رشته هگزا باقی می مانیم:
415193D98BEDD8F4DEECE6A2C962B7DA8E7DEEB56232990B86A3D9623B39B92783EDE86F784F068BD560B6D80C1683E568B81D7BDCB3E176F076EFB89BA77B39DCCD56A3C966B15D39DD9BD570B2590E56CBC168B21A4DB66B8FC7BD590CB66BBBC73D990DB66BB37B31D94CC12CBBCF74B40E1493CD1A
رمزگشایی GSM 03.38
مثال زیر اولین زوج هشت گانه را رمزگشایی می کند، بقیه به عنوان تمرین به خواننده سپرده می شود. پیشنهاد می کنیم به 3GPP 23.038 ارجاع دهید و از بسیاری از ابزارهای آنلاین مفید استفاده کنید (به عنوان مثال، http://smstools3.kekekasvi.com/topic.php?id=288 ). در ستون Octets، بخشهای برجسته زرد نشان دهنده بیتهایی هستند که برای سپتت فعلی استفاده نمیشوند و برای سپتت بعدی باقی میمانند. در ستون Septets، بخش های برجسته زرد نشان دهنده بیت های اکتت قبلی است.
هگز | هشتت ها | سپتت | شخصیت (Hex) |
41 | 0 1000001 | 1000001 | A (41) |
51 | 01 010001 | 010001 0 | " (22) |
93 | 100 10011 | 10011 01 | M (4D) |
D9 | 1101 1001 | 1001 100 | L (4C) |
8B | 10001 011 | 011 1101 | = (3D) |
ED | 111011 01 | 01 10001 | 1 (31) |
D8 | 1101100 0 | 0 111011 | ; (3B) |
|
| 1101100 | l (6C) |
F4 | 1 1110100 | 1110100 | t (74) |
DE | 11 011110 | 011110 1 | = (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
این پیامکها باید بتوانند با اکثر نرمافزارهای پیامک در دسترس عموم رمزگشایی شوند.