blob: 9098e1ecf2732e4c71ef0d1763e3e5d9ed413bd1 [file] [log] [blame]
Harald Weltea082a692017-07-15 15:58:13 +02001/* Encoding/Decoding routines for GSM System Information messages
2 * according to 3GPP TS 44.018 Version 12.3.0 Release 12 */
3
4/* (C) 2017 by Harald Welte <laforge@gnumonks.org> */
5
6module GSM_Types {
7
8 import from General_Types all;
9 import from Osmocom_Types all;
10
Harald Weltebdc5dbd2017-07-16 00:00:43 +020011 type integer GsmArfcn (0..1023);
12 type integer UmtsArfcn (0..16383);
13 type integer UmtsScramblingCode (0..511);
14
Harald Weltea082a692017-07-15 15:58:13 +020015 /* Table 10.4.1 of Section 10.4 / 3GPP TS 44.018 */
16 type enumerated RrMessageType {
17 ADDITIONAL_ASSIGNMENT ('00111011'B),
18 IMMEDIATE_ASSIGNMENT ('00111111'B),
19 IMMEDIATE_ASSIGNMENT_EXTENDED ('00111001'B),
20 IMMEDIATE_ASSIGNMENT_REJECT ('00111010'B),
21 IMMEDIATE_PACKET_ASSIGNMENT ('01101001'B),
22
23 CIPHERING_MODE_COMMAND ('00110101'B),
24 CIPHERING_MODE_COMPLETE ('00110010'B),
25
26 CONFIGURATION_CHANGE_COMMAND ('00110000'B),
27 CONFIGURATION_CHANGE_ACK ('00110001'B),
28 CONFIGURATION_CHANGE_REJECT ('00110011'B),
29
30 ASSIGNMENT_COMMAND ('00101110'B),
31 ASSIGNMENT_COMPLETE ('00101001'B),
32 ASSIGNMENT_FAILURE ('00101111'B),
33 HANDOVER_COMMAND ('00101011'B),
34 HANDOVER_COMPLETE ('00101100'B),
35 HANDOVER_FAILURE ('00101000'B),
36 PHYSICAL_INFORMATION ('00101101'B),
37
38 CHANNEL_RELEASE ('00001101'B),
39 PARTIAL_RELEASE ('00001010'B),
40 PARTIAL_RELEASE_COMPLETE ('00001111'B),
41
42 PAGING_REQUEST_TYPE_1 ('00100001'B),
43 PAGING_REQUEST_TYPE_2 ('00100010'B),
44 PAGING_REQUEST_TYPE_3 ('00100100'B),
45 PAGING_RESPONSE ('00100111'B),
46 NOTIFICATION_NCH ('00100000'B),
47 NOTIFICATION_RESPOSNE ('00100110'B),
48
49 SYSTEM_INFORMATION_TYPE_8 ('00011000'B),
50 SYSTEM_INFORMATION_TYPE_1 ('00011001'B),
51 SYSTEM_INFORMATION_TYPE_2 ('00011010'B),
52 SYSTEM_INFORMATION_TYPE_3 ('00011011'B),
53 SYSTEM_INFORMATION_TYPE_4 ('00011100'B),
54 SYSTEM_INFORMATION_TYPE_5 ('00011101'B),
55 SYSTEM_INFORMATION_TYPE_6 ('00011110'B),
56 SYSTEM_INFORMATION_TYPE_7 ('00011111'B),
57 SYSTEM_INFORMATION_TYPE_2bis ('00000010'B),
58 SYSTEM_INFORMATION_TYPE_2ter ('00000011'B),
59 SYSTEM_INFORMATION_TYPE_2quater ('00000111'B),
60 SYSTEM_INFORMATION_TYPE_5bis ('00000101'B),
61 SYSTEM_INFORMATION_TYPE_5ter ('00000110'B),
62 SYSTEM_INFORMATION_TYPE_9 ('00000100'B),
63 SYSTEM_INFORMATION_TYPE_13 ('00000000'B),
64
65 SYSTEM_INFORMATION_TYPE_16 ('00111101'B),
66 SYSTEM_INFORMATION_TYPE_17 ('00111110'B),
67
68 CHANNEL_MODE_MODIFY ('00010000'B),
69 RR_STATUS ('00010010'B),
70 CHANNEL_MODE_MODIFY_ACKNOWLEDGE ('00010111'B),
71 FREQUENCY_REDEFINITION ('00010100'B),
72 MEASUREMENT_REPORT ('00010101'B),
73 CLASSMARK_CHANGE ('00010110'B),
74 CLASSMARK_ENQUIRY ('00010011'B),
75 EXTENDED_MEASUREMENT_REPORT ('00110110'B),
76 EXTENDED_MEASUREMENT_ORDER ('00110111'B),
77 GPRS_SUSPENSION_REQUEST ('00110100'B),
78 //MBMS_ANNOUNCEMENT ('00010110'B), duplicate?
79 //SERVICE_INFORMATION ('00110110'B), duplicate?
80
81 APPLICATION_INFORMATION ('00111000'B),
82
83 SYSTEM_INFORMATION_TYPE_14 ('00000001'B),
84 SYSTEM_INFORMATION_TYPE_15 ('01000011'B),
85 SYSTEM_INFORMATION_TYPE_18 ('01000000'B),
86 SYSTEM_INFORMATION_TYPE_19 ('01000001'B),
87 SYSTEM_INFORMATION_TYPE_20 ('01000010'B),
88 SYSTEM_INFORMATION_TYPE_13alt ('01000100'B),
89 SYSTEM_INFORMATION_TYPE_2n ('01000101'B),
90 SYSTEM_INFORMATION_TYPE_21 ('01000110'B),
91 SYSTEM_INFORMATION_TYPE_22 ('01000111'B),
92 SYSTEM_INFORMATION_TYPE_23 ('01001111'B),
93
94 DTM_ASSIGNMENT_FAILURE ('01001000'B),
95 DTM_REJECT ('01001001'B),
96 DTM_REQUEST ('01001010'B),
97 PACKET_ASSIGNMENT ('01001011'B),
98 DTM_ASSIGNMENT_COMMAND ('01001100'B),
99 DTM_INFORMATION ('01001101'B),
100 PACKET_INFORMATION ('01001110'B),
101
102 UTRAN_CLASSMARK_CHANGE ('01100000'B),
103 CDMA2000_CLASSMARK_CHANGE ('01100010'B),
104 INTERSYS_TO_UTRAN_HO_CMD ('01100011'B),
105 INTERSYS_TO_CDMA2000_HO_CMD ('01100100'B),
106 GERAN_IU_MODE_CLASSMARK_CHG ('01100101'B),
107 INTERSYS_TO_EUTRAN_HO_CMD ('01100110'B)
108 } with { variant "FIELDLENGTH(8)" };
109
110} with { encode "RAW"; variant "FIELDORDER(msb)" }