LTE SIB12 eWEA消息解析
包含WHAM的SIB12消息:
SIB12数据:
00 40 2e 21 13 00 30 b8 0a 80 24 28 02 22 40 61 22 25 00 61 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 48 a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Wireshark解析结果:
messageIdentifier-r9: CMAS CBS Message Identifier for geo-fencing trigger messages (4400)
serialNumber-r9: 030b [bit length 16, 0000 0011 0000 1011 decimal value 779]
00.. .... .... .... = Geographical Scope: Display mode immediate, cell wide (0)
..00 0011 0000 .... = Message Code: 48
.... .... .... 1011 = Update Number: 11
warningMessageSegmentType-r9: lastSegment (1)
warningMessageSegmentNumber-r9: 0
warningMessageSegment-r9: 012140111203091128030a00000000000000000000000000000000000000000000000000…
[1 Fragment (84 bytes): #1(84)]
[Frame: 1, payload: 0-83 (84 bytes)]
[Fragment Count: 1]
[Reassembled Length: 84]
[Reassembled Data: 012140111203091128030a00000000000000000000000000000000000000000000000000…]
dataCodingScheme-r9: 45
0100 .... = Coding Group: General Data Coding indication (4)
..0. .... = Compressed indicator: The text is uncompressed
...0 .... = Message Class present: Bits 1 to 0 are reserved and have no message class meaning
.... 01.. = Character set being used: 8 bit data (1)
参考 ATIS-0700041 对数据进行解析:
012140111203091128030a (也就是01 21 40 11 12 03 09 11 28 03 0a)
01: 3GPP 36331 6.3.1和3GPP 23041 9.4.2.2.5说明,代表Number of Pages
21: 2表示Active Alert Identity Tuple List - Common Warning Area Coordinates
40: 21中的1,结合40的前3bit表示length为b0001010,也就是长度为10
11 12 03 09: 表示 messageIdentifier 为0x1112,serialNumber为0x0309
11 28 03 0a: 表示 messageIdentifier 为0x1128,serialNumber为0x030a
包含WAC的SIB12消息:
00 40 40 62 61 12 c0 30 50 0a 80 aa 8e 8f 41 cd 52 fc fe 7e 17 21 89 59 e8 3c d6 e3 80 95 b1 7b 3d 26 2d 03 46 d2 fd 2f 2a 12 0b b2 da 64 68 2a 0e 6f c9 d2 48 36 8b 39 dc c0 50 28 04 02 01 08 85 9b 7a 7c 66 4d 11 c1 d6 7b 24 0e 23 22 82 d6 79 64 00 00 00 00 00 00 00 00 00 00 00 08 e0 20 2c d6 42 08 cb ab fd 13 08 87 ba 8f 15 34 67 0b b7 a8 53 4d 95 bc 1a 11 33 b6 7b bf 0d 53 16 ec bb 82 e5 2f 5e 52 08 cb d6 2d 12 33 b7 bc fe d1 1f a4 cb be 8d 91 c2 60 ba 05 a9 22 85 eb ae 32 92 8c c2 bd 39 81 27 62 43 02 8b a3 a8 12 b2 0b 00 95 f3 02 8b 88 60 92 91 9c 01 40 03 02 8c 3b 4e 4a 40 88 01 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
messageIdentifier-r9: CMAS CBS Message Identifier for CMAS Public Safety Alerts (4396)
serialNumber-r9: 0305 [bit length 16, 0000 0011 0000 0101 decimal value 773]
00.. .... .... .... = Geographical Scope: Display mode immediate, cell wide (0)
..00 0011 0000 .... = Message Code: 48
.... .... .... 0101 = Update Number: 5
warningMessageSegmentType-r9: notLastSegment (0)
warningMessageSegmentNumber-r9: 0
warningMessageSegment-r9: 0554747a0e6a97e7f3f0b90c4acf41e6b71c04ad8bd9e931681a3697e97950905d96d323…
dataCodingScheme-r9: 01
0000 .... = Coding Group: Coding Group 0(Language using the GSM 7 bit default alphabet) (0)
.... 0001 = Language: English (1)
warningAreaCoordinatesSegment-r15: 208cbabfd130887ba8f1534670bb7a8534d95bc1a1133b67bbf0d5316ecbb82e52f5e520…
Frame (277 bytes):
0000 00 40 40 62 61 12 c0 30 50 0a 80 aa 8e 8f 41 cd .@@ba..0P.....A.
0010 52 fc fe 7e 17 21 89 59 e8 3c d6 e3 80 95 b1 7b R..~.!.Y.<.....{
0020 3d 26 2d 03 46 d2 fd 2f 2a 12 0b b2 da 64 68 2a =&-.F../*....dh*
0030 0e 6f c9 d2 48 36 8b 39 dc c0 50 28 04 02 01 08 .o..H6.9..P(....
0040 85 9b 7a 7c 66 4d 11 c1 d6 7b 24 0e 23 22 82 d6 ..z|fM...{$.#"..
0050 79 64 00 00 00 00 00 00 00 00 00 00 00 08 e0 20 yd.............
0060 2c d6 42 08 cb ab fd 13 08 87 ba 8f 15 34 67 0b ,.B..........4g.
0070 b7 a8 53 4d 95 bc 1a 11 33 b6 7b bf 0d 53 16 ec ..SM....3.{..S..
0080 bb 82 e5 2f 5e 52 08 cb d6 2d 12 33 b7 bc fe d1 .../^R...-.3....
0090 1f a4 cb be 8d 91 c2 60 ba 05 a9 22 85 eb ae 32 .......`..."...2
00a0 92 8c c2 bd 39 81 27 62 43 02 8b a3 a8 12 b2 0b ....9.'bC.......
00b0 00 95 f3 02 8b 88 60 92 91 9c 01 40 03 02 8c 3b ......`....@...;
00c0 4e 4a 40 88 01 90 00 00 00 00 00 00 00 00 00 00 NJ@.............
00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0110 00 00 00 00 00 .....
Bitstring tvb (2 bytes):
0000 11 2c .,
Bitstring tvb (2 bytes):
0000 03 05 ..
Unaligned OCTET STRING (84 bytes):
0000 05 54 74 7a 0e 6a 97 e7 f3 f0 b9 0c 4a cf 41 e6 .Ttz.j......J.A.
0010 b7 1c 04 ad 8b d9 e9 31 68 1a 36 97 e9 79 50 90 .......1h.6..yP.
0020 5d 96 d3 23 41 50 73 7e 4e 92 41 b4 59 ce e6 02 ]..#APs~N.A.Y...
0030 81 40 20 10 08 44 2c db d3 e3 32 68 8e 0e b3 d9 .@ ..D,...2h....
0040 20 71 19 14 16 b3 cb 20 00 00 00 00 00 00 00 00 q..... ........
0050 00 00 00 47 ...G
Unaligned OCTET STRING (1 byte):
0000 01 .
Unaligned OCTET STRING (100 bytes):
0000 20 8c ba bf d1 30 88 7b a8 f1 53 46 70 bb 7a 85 ....0.{..SFp.z.
0010 34 d9 5b c1 a1 13 3b 67 bb f0 d5 31 6e cb b8 2e 4.[...;g...1n...
0020 52 f5 e5 20 8c bd 62 d1 23 3b 7b cf ed 11 fa 4c R.. ..b.#;{....L
0030 bb e8 d9 1c 26 0b a0 5a 92 28 5e ba e3 29 28 cc ....&..Z.(^..)(.
0040 2b d3 98 12 76 24 30 28 ba 3a 81 2b 20 b0 09 5f +...v$0(.:.+ .._
0050 30 28 b8 86 09 29 19 c0 14 00 30 28 c3 b4 e4 a4 0(...)....0(....
0060 08 80 19 00
WAC数据解析,解析出来为2个Polygon,3个Circle:
WAC数据
20 8c ba bf d1 30 88 7b a8 f1 53 46 70 bb 7a 85
34 d9 5b c1 a1 13 3b 67 bb f0 d5 31 6e cb b8 2e
52 f5 e5 20 8c bd 62 d1 23 3b 7b cf ed 11 fa 4c
bb e8 d9 1c 26 0b a0 5a 92 28 5e ba e3 29 28 cc
2b d3 98 12 76 24 30 28 ba 3a 81 2b 20 b0 09 5f
30 28 b8 86 09 29 19 c0 14 00 30 28 c3 b4 e4 a4
08 80 19 00
20: 2表示Polygon
8c: 20中的低4bit,和该字节前6bit表示length为b0000100011,也就是长度为35
ba bf d1 30 88 7b a8 f1 53 46 70: 11字节表示2对经纬度坐标
bb 7a 85 34 d9 5b c1 a1 13 3b 67:
bb f0 d5 31 6e cb b8 2e 52 f5 e5: 则这33个字节表示6对经纬度坐标
20 8c: 同上
bd 62 d1 23 3b 7b cf ed 11 fa 4c
bb e8 d9 1c 26 0b a0 5a 92 28 5e
ba e3 29 28 cc 2b d3 98 12 76 24
30: 3表示Circle
28: 30中的低4bit,和该字节前6bit表示length为b0000001010,也就是长度为10
ba 3a 81 2b 20 b0 09 5f: 8字节包含1对经纬度,1个半径
30 28: 同上
b8 86 09 29 19 c0 14 00
30 28: 同上
c3 b4 e4 a4 08 80 19 00
利用python bitstream和folium库可快速画出上述两个多边形和三个圆的位置,以及UE所处的地理位置:
如果如下命令安装不上bitstream,则请先安装Visual Studio套件:
pip install bitstream