Phần này được chia làm hai phần:
- Nội dung – nội dung của thông báo ELS (Dịch vụ vị trí khẩn cấp).
- Định dạng – cách những thông báo đó được gửi và cách giải mã chúng (nếu cần).
Nội dung
ELS phiên bản 1
Tin nhắn ELS được gửi qua SMS tuân theo quy cách mới nhất của ETSI AML. Chiến dịch này được gọi là ELS V1 và đây là phương pháp phổ biến nhất được các đối tác ELS lựa chọn. Chiến lược phát hành đĩa đơn sau đây là các phần phù hợp nhất:
| Tên khóa | Giá trị | Đơn vị | Ví dụ |
A"ML |
Phiên bản | - | 1 |
lt |
Vĩ độ | độ | +37,42175 |
lg |
Kinh độ | độ | -122,08461 |
top |
Dấu thời gian của vị trí | yyyyMMddHHmmss theo giờ UTC | 20150613010948 |
rd |
Độ chính xác của vị trí | mét | 20,0 |
lc |
Độ tin cậy của vị trí | Độ tin cậy (tính theo phần trăm) | 68 |
pm |
Phương thức định vị (Wi-Fi, GPS, Di động, Null) | "W", 'G', 'C', 'N' | W |
si |
IMSI (chỉ chứa 6 chữ số đầu của IMSI ban đầu, các chữ số còn lại được thay thế bằng 0) | - | 123456000000000 |
ei |
IMEI | - | 355458061005220 |
mcc |
MCC mạng | - | 310 |
mnc |
Mạng MNC | - | 260 |
ml |
Độ dài của thư (bao gồm cả độ dài và tiêu đề thư) | - | 123 |
Phương thức định vị
Vị trí rỗng
Ví dụ
Không có vị trí nào:
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
Vị trí đã tính:
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 (Dịch vụ vị trí khẩn cấp) phiên bản thử nghiệm
Một định dạng thử nghiệm mà một số đối tác sử dụng là ELS Beta, nội dung giúp đối tác có cơ hội thử nghiệm nhiều lĩnh vực.
Sau đây là các phần phù hợp nhất:
| Tên khóa | Giá trị | Đơn vị | Ví dụ |
A"ML |
Phiên bản | - | 2 |
en |
Số khẩn cấp | - | 911 |
et |
Dấu thời gian của cuộc gọi khẩn cấp | Thời gian bắt đầu của hệ thống UNIX tính bằng giây (số nguyên) | 1593187189 |
lo |
Vị trí (vĩ độ, kinh độ, độ chính xác) – vĩ độ và kinh độ phải được cắt ngắn đến 5 dấu thập phân, độ chính xác đến 1 dấu thập phân - độ chính xác bằng 0 biểu thị chưa biết | Độ (độ chính xác), Độ (độ chính xác), Mét (độ chính xác đơn) | 37,42175,-122,08461,20,1 |
lt |
Thời gian vị trí (tương đối so với thời gian khẩn cấp) – trường này có thể bỏ qua nếu không có trường vị trí ('lo') hoặc không có dấu thời gian ('et') hiện tại | Giây (số nguyên) | 5 |
lc |
Độ tin cậy của vị trí | Độ tin cậy của tỷ lệ phần trăm (số nguyên) | 68 |
lz |
Vị trí dọc (độ cao, độ chính xác theo chiều dọc) - trường này có thể bị bỏ qua nếu không có trường vị trí ('lo') - tất cả các trường bị cắt bớt thành 1 dấu thập phân - độ chính xác bằng 0 thể hiện chưa biết | Mét (nổi), Mét (nổi) | -10,1,10,1 |
ls |
Nguồn vị trí (Wi-Fi, Mạng di động, GPS, Kết hợp, Không xác định) - trường này có thể là bị bỏ qua nếu không có trường vị trí ("lo") | "W", 'G', 'C', 'F', 'U' | W |
ei |
IMEI | - | 355458061005220 |
nc |
MCC/MNC mạng | - | 310260 |
hc |
Nhà MNC/MNC | - | 310260 |
lg |
Thẻ ngôn ngữ | IETF BCP 47 | en-US |
Mức độ tin cậy
Độ cao so với mực nước biển (trục Z)
Dịch vụ vị trí theo chiều dọc báo cáo vị trí và độ chính xác trong thông báo ELS (Dịch vụ vị trí khẩn cấp) phiên bản thử nghiệm. Cao độ lz
được báo cáo theo mét phía trên ellipsoid tham chiếu WGS84 (WGS là tham chiếu
Hệ thống trắc địa thế giới được GPS sử dụng) và độ chính xác tính theo mét (độ cao, chiều dọc
chính xác). Trường này có thể bị bỏ qua nếu không có trường vị trí (lo). Tất cả
các trường được cắt bớt thành 1 dấu thập phân và độ chính xác là 0.0 biểu thị
unknown Độ chính xác theo chiều dọc được định nghĩa giống như độ chính xác của vị trí và
phân vị tin cậy do đối tác đặt. Giá trị mặc định được đặt ở mức 68%
sự tự tin. Bạn có thể tìm thêm thông tin trong tài liệu Android về
getVerticalAccuracyMeters().
Ví dụ
Trường hợp vị trí chưa được tính toán:
A"ML=2;en=911;et=1643816841;ei=123456789012345;nc=23415;hc=23415
Trường hợp đã tính toán thành công vị trí:
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
Định dạng
Bạn có thể gửi tin nhắn ELS qua SMS bằng các định dạng sau:
- SMS văn bản: Tin nhắn SMS thuần tuý thông thường. Định dạng này được hỗ trợ kể từ Android P.
- SMS dữ liệu: Nội dung của tin nhắn giống hệt như SMS văn bản nhưng mã này được mã hoá (xem thêm thông tin chi tiết bên dưới). Định dạng này được hỗ trợ bởi bất kỳ Thiết bị chạy Android tương thích với ELS.
Tin nhắn SMS văn bản
Quá trình đọc và phân tích cú pháp tin nhắn SMS dạng văn bản tương đối đơn giản. Nhiều thiết bị di động nhà cung cấp dịch vụ này cung cấp dịch vụ này và có thể cung cấp cho bạn các API đẩy hoặc kéo để nhận được nội dung tin nhắn gửi đến một số điện thoại chuẩn.
SMS dữ liệu
Định dạng SMS dạng văn bản thông thường đã được hỗ trợ kể từ Android P. Cũ hơn sẽ gửi thông báo ELS bằng dữ liệu SMS cần được giải mã. Dữ liệu ELS (Dịch vụ vị trí khẩn cấp) Tin nhắn SMS được mã hoá bằng bộ ký tự mặc định GSM 03.38 7 bit và sau đó đặt làm tải trọng nhị phân của SMS dữ liệu.
Chúng tôi sẽ đề cập đến định nghĩa chính xác về SMS dữ liệu khác với SMS thông thường sẽ được đề cập ở phần sau. Bạn có thể xem định nghĩa chính xác về kiểu mã hoá 7 bit GSM 03.38 trong 3GPP 23.038 (xem mục 6.1.2.1.1 cụ thể).
Giải mã SMS dữ liệu
Nhằm mục đích sử dụng SMS cho ELS, ELS chỉ liên quan đến Tin nhắn SMS từ điện thoại di động đến trung tâm dịch vụ di động (SMSC) – Loại GỬI SMS tin nhắn. Các SMSC có thể nhận được những tin nhắn này mà không gặp vấn đề gì vì chúng là một phần của tiêu chuẩn SMS thông thường (tuy nhiên, trên thực tế, chúng tôi nhận thấy vấn đề với nhiều MNO, từ các chính sách và chế độ cài đặt cơ sở hạ tầng cho đến khó giải mã chính xác SMS dữ liệu). Trong các trường hợp sau, ELS coi một Tin nhắn-GỬI SMS từ điện thoại di động đến SMSC, tuân theo SMS thông thường (GSM 3.40). Dịch vụ vị trí khẩn cấp (ELS) xác định Tin nhắn SMS dữ liệu là một tập hợp con của tin nhắn SMS thông thường:
- Có cờ User-Data-Header-Indicator được đặt trong tiêu đề SMS (bit thứ 6 của octet đầu tiên của một thông báo GSM 03.40 hoặc 3GPP 23.040)
- Chứa Tiêu đề dữ liệu người dùng trong Dữ liệu người dùng của SMS
- Tiêu đề User-Data-Header chứa địa chỉ cổng ứng dụng Thông tin-Phần tử-Giá trị nhận dạng (IEI)
Dịch vụ vị trí khẩn cấp (ELS) cần phải gửi tin nhắn SMS theo cách này thay vì tin nhắn SMS thông thường để đảm bảo tin nhắn SMS dữ liệu ELS không xuất hiện trong nhắn tin. Chúng tôi sẽ trình bày một ví dụ về SMS mã hoá ở phần sau để giải thích rõ hơn về vấn đề này.
Xin lưu ý rằng chúng tôi không chỉ định Lược đồ lập trình dữ liệu (DCS) cụ thể tại đây. DCS được dùng để xác định chế độ mã hoá trong phân đoạn Dữ liệu người dùng. Tuy nhiên, đối với trong tương lai gần, Lược đồ mã hoá dữ liệu sẽ luôn được đặt thành dữ liệu 8 bit để cho phép tính linh hoạt tối đa và chính dữ liệu thực tế sẽ được mã hoá bằng bảng chữ cái mặc định 7 bit của GSM 03.38 Do đó, mỗi phần tử được mã hoá 7 bit sẽ chỉ chiếm 7 bit, không chiếm 8 bit.
Vì phân đoạn Dữ liệu người dùng có tối đa 140 byte và kích thước tối thiểu của Tiêu đề dữ liệu người dùng bao gồm thông tin cổng là 7 byte, điều này để lại tối đa 133 byte (152 phần tử được mã hoá 7 bit) để mã hoá tin nhắn khẩn cấp thực tế. Những byte này có thể được giải mã để hiển thị SMS Dữ liệu ELS đang được truyền tin nhắn.
Ví dụ:
Do đó, sau khi giải mã ví dụ này về Data SMS, chúng tôi chỉ còn lại Dữ liệu người dùng nhị phân của chuỗi hex này:
415193D98BEDD8F4DEECE6A2C962B7DA8E7DEEB56232990B86A3D9623B39B92783EDE86F784F068BD560B6D80C1683E568B81D7BDCB3E176F076EFB89BA77B39DCCD56A3C966B15D39DD9BD570B2590E56CBC168B21A4DB66B8FC7BD590CB66BBBC73D990DB66BB37B31D94CC12CBBCF74B40E1493CD1A
Giải mã GSM 03.38
Ví dụ sau đây giải mã vài octet đầu tiên, phần còn lại được để lại dưới dạng một cho người đọc. Chúng tôi khuyên bạn nên tham chiếu 3GPP 23.038 và sử dụng nhiều công cụ trực tuyến hữu ích (ví dụ: http://smstools3.kekekasvi.com/topic.php?id=288). Trong cột Octets, các phần được đánh dấu màu vàng biểu thị các bit không được sử dụng cho buồng hiện tại và được bỏ lại cho buồng tiếp theo. Trong hệ sinh thái các phần được đánh dấu màu vàng thể hiện các bit của octet.
| Hệ thập lục phân | Bộ sưu tập | Ngăn bí mật | Ký tự (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) |
Kết quả cuối cùng ở đây là thông báo trước đó có thể được giải mã thành chuỗi sau:
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
Những tin nhắn SMS này có thể được giải mã bằng hầu hết các tin nhắn SMS công khai phần mềm.