Spesifikasi SMS

Bagian ini dibagi menjadi dua bagian:

  1. Konten - apa isi pesan ELS.
  2. Format - cara pesan tersebut dikirim dan cara mendekodenya (jika perlu).

Konten

ELS V1

Pesan ELS yang dikirim melalui SMS mengikuti spesifikasi AML ETSI terbaru. Ini dikenal sebagai ELS V1 dan merupakan pendekatan paling umum yang dipilih oleh partner ELS. Tujuan berikut ini adalah bagian yang paling relevan:

Nama Kunci Nilai Unit Contoh
A"ML Versi - 1
lt Lintang derajat +37,42175
lg Bujur derajat -122,08461
top Stempel waktu lokasi yyyyMMddHHmmss dalam waktu UTC 20150613010948
rd Akurasi Lokasi meter 20,0
lc Keyakinan Lokasi Persentase keyakinan 68
pm Metode Pemosisian (Wi-Fi, GPS, Sel, Null) 'W', 'G', 'C', 'N' W
si IMSI (hanya berisi 6 digit pertama IMSI asli, digit tersisa diganti dengan 0) - 123456000000000
ei IMEI - 355458061005220
mcc MCC Jaringan - 310
mnc MNC Jaringan - 260
ml Panjang pesan (termasuk panjang pesan dan header) - 123

Metode pemosisian

Lokasi null

Contoh

Tidak ada lokasi:

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

Lokasi yang dihitung:

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

Format eksperimental yang digunakan oleh beberapa partner adalah ELS Beta, konten yang memberi kesempatan kepada mitra untuk mencoba berbagai bidang.

Berikut ini adalah bagian yang paling relevan:

Nama Kunci Nilai Unit Contoh
A"ML Versi - 2
en Nomor Darurat - 911
et Stempel waktu panggilan darurat Waktu epoch UNIX dalam detik (integer) 1593187189
lo Lokasi (lintang, bujur, akurasi) - lintang dan bujur harus dipotong menjadi 5 desimal, akurasi menjadi 1 desimal - akurasi 0 mewakili tidak diketahui Derajat (float), Derajat (float), Meter (float) 37.42175,-122.08461,20.1
lt Waktu lokasi (relatif terhadap waktu darurat) - kolom ini dapat diabaikan jika tidak ada kolom lokasi ('lo') atau tidak ada kolom stempel waktu ('et') sekarang Detik (bilangan bulat) 5
lc Keyakinan Lokasi Persentase keyakinan (bilangan bulat) 68
lz Lokasi Vertikal (ketinggian, akurasi vertikal) - bidang ini mungkin diabaikan jika tidak ada kolom lokasi ('lo') - semua kolom terpotong menjadi 1 titik desimal - akurasi 0 mewakili tidak diketahui Meter (float), Meter (float) -10,1,10,1
ls Sumber Lokasi (Wi-Fi, Sel, GPS, Menyatu, Tidak Diketahui) - kolom ini mungkin diabaikan jika tidak ada kolom lokasi ('lo') 'W', 'G', 'C', 'F', 'U' W
ei IMEI - 355458061005220
nc MCC/MNC Jaringan - 310260
hc Beranda MNC/MNC - 310260
lg Tag Bahasa IETF BCP 47 en-US

Tingkat keyakinan

Ketinggian Ketinggian (sumbu Z)

ELS melaporkan lokasi dan akurasi vertikal dalam pesan ELS Beta. Ketinggian lz dilaporkan dalam meter di atas ellipsoid referensi WGS84 (WGS adalah Sistem Geodetik Dunia yang digunakan oleh GPS) dan akurasi dalam meter (ketinggian, vertikal akurasi). Kolom ini dapat diabaikan jika tidak ada kolom lokasi (lo). Semua kolom yang dipotong menjadi 1 titik desimal dan akurasi 0.0 menunjukkan unknown. Akurasi vertikal didefinisikan sama dengan akurasi lokasi dan yang ditetapkan oleh partner. Nilai default-nya adalah 68% kepercayaan diri. Informasi selengkapnya tersedia dalam dokumentasi Android untuk getVerticalAccuracyMeters().

Contoh

Lokasi belum dihitung kasusnya:

A"ML=2;en=911;et=1643816841;ei=123456789012345;nc=23415;hc=23415

Kasus lokasi berhasil dikomputasi:

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

Format

Pesan ELS melalui SMS dapat dikirim menggunakan format berikut:

  • SMS: SMS biasa biasa. Format ini didukung mulai dari Android P
  • SMS Data: Isi pesan sama persis dengan SMS Teks, tetapi data tersebut dienkode (detail selengkapnya di bawah). Format ini didukung oleh semua Perangkat yang didukung Android dan kompatibel dengan ELS.

SMS SMS

Membaca dan mengurai SMS Teks relatif mudah. Banyak perangkat seluler operator menawarkan layanan ini dan dapat menyediakan API push atau pull untuk mendapatkan isi pesan yang dikirim ke nomor telepon standar.

SMS Data

Format SMS Teks Reguler telah didukung mulai dari Android P. Lebih dewasa perangkat akan mengirim pesan ELS menggunakan SMS Data yang perlu didekode. Data ELS Pesan SMS dikodekan dengan set karakter default GSM 03,38 7 bit dan kemudian ditetapkan sebagai {i>payload<i} biner sebuah SMS Data.

Definisi SMS Data yang dibandingkan dengan SMS biasa akan dibahas nanti. Definisi yang tepat dari encoding GSM 03.38 7 bit dapat ditemukan di 3GPP 23.038 (khusus lihat bagian 6.1.2.1.1).

Dekode Data SMS

Untuk tujuan penggunaan SMS oleh Google untuk ELS, ELS hanya berfokus pada SMS dari handset ke pusat layanan seluler (SMSC) - jenis SMS-SUBMIT membuat pesan teks. SMSC seharusnya dapat menerima pesan ini tanpa masalah sebagai itu adalah bagian dari standar SMS biasa (namun, dalam praktiknya kami telah dengan beberapa MNO, mulai dari pengaturan infrastruktur dan kebijakan hingga kesulitan mendekode Data SMS dengan benar). Dalam dokumen berikut, ELS mempertimbangkan Pesan SMS-SUBMIT dari handset ke SMSC, yang mengikuti proses SMS normal standar (GSM 3.40). ELS menentukan SMS Data sebagai subkumpulan SMS normal yang:

  1. Memiliki penanda Indikator {i>User-Data-Header-<i}yang ditetapkan di {i>header<i} SMS (bit ke-6 dari oktet pertama dari pesan GSM 03.40 atau 3GPP 23.040)
  2. Berisi User-Data-Header dalam Data Pengguna SMS
  3. User-Data-Header berisi alamat port aplikasi ID Elemen Informasi (IEI)

ELS perlu mengirim SMS dengan cara ini, bukan SMS biasa untuk memastikan bahwa pesan SMS Data ELS tidak muncul di aplikasi pesan. Contoh SMS yang dienkode akan ditampilkan nanti untuk menjelaskan hal ini dengan lebih baik.

Perhatikan bahwa kita tidak menentukan Skema Pengkodean Data (DCS) tertentu di sini. DCS digunakan untuk mengidentifikasi pengkodean dalam segmen Data Pengguna. Namun, untuk di masa yang akan datang, Skema Pengkodean Data akan selalu diatur ke data 8 bit untuk memungkinkan fleksibilitas maksimum, dan data aktual itu sendiri akan alfabet {i>default<i} GSM 03,38 7 bit. Setiap elemen yang dikodekan 7 bit akan hanya menempati 7 bit, bukan 8 bit.

Mengingat segmen {i>User-Data<i} memiliki maksimum 140 byte, dan ukuran minimum {i>User-Data-Header<i} yang menyertakan informasi porta adalah 7 byte, ini menyisakan maksimal 133 byte (152 elemen yang dienkode 7 bit) untuk pesan darurat yang sebenarnya. Byte ini dapat didekode untuk menampilkan SMS Data ELS pesan yang dikirimkan.

Contoh

Jadi, setelah mendekode contoh SMS Data ini, kita akan mendapatkan dari {i>string<i} hex ini:

415193D98BEDD8F4DEECE6A2C962B7DA8E7DEEB56232990B86A3D9623B39B92783EDE86F784F068BD560B6D80C1683E568B81D7BDCB3E176F076EFB89BA77B39DCCD56A3C966B15D39DD9BD570B2590E56CBC168B21A4DB66B8FC7BD590CB66BBBC73D990DB66BB37B31D94CC12CBBCF74B40E1493CD1A

Dekode GSM 03.38

Contoh berikut mendekode beberapa oktet pertama, sisanya dibiarkan sebagai kepada pembaca. Kami menyarankan untuk merujuk 3GPP 23.038 dan menggunakan banyak alat {i>online<i} yang sangat membantu (misalnya, http://smstools3.kekekasvi.com/topic.php?id=288). Dalam kolom Octets, bagian yang disorot dengan warna kuning mewakili bit yang tidak digunakan untuk septet saat ini, dan tersisa untuk septet berikutnya. Dalam Sepetet , bagian yang disorot dengan warna kuning mewakili bit dari oktet.

Hex Octet September Karakter (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)

Hasil akhirnya adalah pesan sebelumnya dapat didekodekan ke dalam string berikut:

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 ini harus dapat didekode dengan sebagian besar SMS yang tersedia untuk publik {i>software<i}.