Thông số kỹ thuật của SMS

Phần này được chia làm hai phần:

  1. Nội dung – nội dung của thông báo ELS (Dịch vụ vị trí khẩn cấp).
  2. Đị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:

  1. 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)
  2. Chứa Tiêu đề dữ liệu người dùng trong Dữ liệu người dùng của SMS
  3. 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.