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